一、分片和副本
-
ES的分片
分片处理是将一个索引分割成若干更小索引的过程,从而能够在同一集群的不同节点散布它们。查询的时候,结果是索引中每个分片返回结构的汇总 -
ES的副本
分片解决了单机容量的限制,而副本则解决了吞吐量和数据安全的问题。数据安全,副本的高可用,很容易理解。而吞吐量可,增加副本,可以提高并发查询的能力,但要注意,太多的副本,会耗光磁盘空间和ES的资源,也会增加主副数据拷贝时的开销 -
核心的指导原则只有自己的实际数据。如数据是否是有限的,上限单节点是否能够支撑等
- ES的分片和索引其实本质上都是Lucene索引,多索引和多分片的差别在于一些针对索引或分片的额外特性上。
二、路由
- 路由的作用
限定在单个分片上进行查询,核心是相同的路由值会指向同一个分片,之前将军属存放到哪个分片,查询时,也去对应的分片查
没有路由的时候,ES将数据分发到哪个分片,以及哪个分片存放了什么数据都是不重要的。因为ES查询会发送请求到所有分片,关键是一个能均匀分布数据的数据分片算法
-
使用路由需要做什么
建立索引添加路由,查询时添加路由 -
路由真的有必要?
路由肯定是由某个关键词,如cityCd等,那么直接使用带cityCd的索引更为方便,这块的实际使用场景需要好好思考。
三、别名
别名其实是一个虚拟的索引名,用来屏蔽一些复杂的信息,使得使用时更为方便
网友评论