11 2017 档案
摘要:一、数据类型详见:http://www.runoob.com/mysql/mysql-data-types.html二、类型选择整形>date,time>enum,char>varchar>blob,text对于相同级别的数据类型,应该优先选择占用空间小的数据类型。关于数据类型,优先考虑是否能使用Int类型,此外,应该尽可能使用TIMESTAMP类型,因为它比DATETIME空间效率更高。MySQ...
阅读全文
摘要:一、索引的数据结构B-Tree索引B+Tree索引,InnoDB使用关于Tree的解释可以查看这里: MySQL索引原理 mysql innodb: b+树 的优点二、使用索引哪些查询可以使用B-Tree索引?全值匹配匹配最左原则,只是用索引的第一列匹配列前缀,只是用索引的第一列匹配范围值,只是用索引的第一列精确匹配某一列并范围匹配另一列,第一列全值匹配,第二列范围匹配只访问索引的查...
阅读全文
摘要:一、Mysql常用引擎InnoDB、MyISAM二、InnoDB-MySQL的默认事务性引擎InnoDB采用两阶段锁定协议,事务执行过程中,随时都可以执行锁定,锁只有在执行commit或rollback时才能释放,这是隐式锁定。通过特定语句可以显示锁定,例如:for update。InnoDB数据存储在表空间,表空间由一系列数据文件组成,InnoDB可以将每个表的数据和索引存放在单独的文件中。采用...
阅读全文
摘要:一、Mysql逻辑架构 引用自《高性能Mysql》 二、并发控制读写锁:读锁是共享的,写锁是排他的,会阻塞其他的写锁和读锁。锁粒度:表锁、行级锁三、事务事务(ACID特性):原子性、一致性、隔离性、持久性隔离级别 Read uncommitted未提交读 事务中的修改,即使没有提交,其他事务也是可见的。 事务读取未提交的数据叫脏读。 Re...
阅读全文
摘要:Elasticsearch版本:6.0一、Elasticsearch计算分片位置的公式shard = hash(routing) % number_of_primary_shards解释:routing 是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值。 routing 通过 hash 函数生成一个数字,然后这个数字再除以 number_of_primary_shards (主分片...
阅读全文
摘要:Elasticsearch版本:6.0 Elasticsearch基于Lucene,采用倒排索引写入磁盘,Lucene引入了按段搜索的概念,来动态更新索引。 一个Lucene索引包含一个提交点和三个短,如图: 关于索引和分片 一个Lucene索引在Elasticsearch成为分片,一个Elasticsearch索引是分片的集合。 Elasticsearch在索引中搜...
阅读全文
摘要:Elasticsearch版本:6.0一、ES的集群 由一个或多个相同cluster.name的节点组成,共同承担数据和负载的压力。 被选举的主节点将负责管理集群范围内的所有变更,如增加/删除索引、增加/删除节点等,但是不涉及文档级别变更和搜索等操作。 请求可以发送到集群中的任何节点上,每个节点都知道任意文档所处的位置,并且能把请求直接转发到存储我们所需文档的节点,它都能负责从包...
阅读全文
摘要:Elasticsearch版本:6.0 为了避免并发修改的冲突问题,数据库中,经常用悲观锁和乐观锁来控制并发问题,而Elasticsearch使用乐观锁。如果源数据在读写过程中被修改,更新将失败,应用程序可以决定进行重试更新、使用新数据、把情况报告给用户等操作。Elasticsearch的乐观锁实现原理Elasticsearch是分布式的,文档创建、更新、删除时,新文档必须复制到集群的其他节...
阅读全文
摘要:Elasticsearch版本:6.0一、文档一个文档不仅包含数据,也包含元数据,三个必须的元数据如下_index:具有共同特性分到一起的文档集合,标示了文档的存放位置; 名字小写,不以下划线开头,不包含逗号。_type:表示文档的类型,在索引中对数据进行逻辑分区; 名字大写或小写,不以下划线或句号开头,不包含逗号,并且长度限制256个字符。_id:文档的唯一标识,和_index和_t...
阅读全文
摘要:Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合。-- 权威指南Elasticsearch版本:6.0一、安装1、从官网下载Elasticsearch:https://www.elastic.co/downloads/elasticsearch,解压后,windows环境执...
阅读全文
摘要:Lucene版本:7.1 使用Lucene的关键点 一、创建索引基本流程 //open a Directory//FSDirectory指的是存放的文件夹,还可以使用缓存RAMDirectory //indexPath:文件路径Directory dir = FSDirectory.open(Pat
阅读全文
摘要:Lucene是什么 Lucene是一款高性能、可扩展的信息检索工具库。— Lucene In Action Lucene版本:7.1 一、下载安装包 https://lucene.apache.org/core/downloads.html 二、安装 把4个必备jar包和路径添加到CLASSPATH
阅读全文