elasticsearch分片理论

1:什么是分片?
分片是Lucene的一个实例,本身就是一个搜索引擎。索引(名词)实际是指向一个或者多个物理分片的逻辑命名空间。Elasticsearch是利用分片将数据分发到集群内各处的,分片是数据的容器,文档存储在分片内,分片被分配到集群中的各个节点中,以便检索和搜索过程负载均衡。所以每个节点多知道文档存储的位置,当集群接受请求后会将该请求路由到存储相关文档的节点,分片会进行搜索和收集结果,并返回给客户端。当你的集群规模在扩容时,Elasticsearch会自动在各个节点中迁移分片,使得数据仍均匀分配在各个节点上。
2:主分片的副本分片
主分片:1:数据存储 2:实现倒排索引
副分片:1:硬件故障时的数据冗余备份 2:为搜索和返回文档等读操作提供服务。
主分片文档最大容量: Integer.MAX_VALUE - 128 个文档,但是实际最大值还需要参考你的使用场景:包括你使用的硬件, 文档的大小和复杂程度,索引和查询文档的方式以及你期望的响应时长。
3:分片性能跟什么有关?
跟节点有关,节点越多,分片分散的越散,资源利用率高,那么分片性能将越高,否则节点太少,分片越多,那么性能就会下降。:
4:如何提升分片性能和吞吐量?
解决方法:增大副分片数,和增加节点。不增加节点的情况下,增大副分片数不能提高性能,因为每个分片从节点上获取得资源将变少,但是更高的提高了数据冗余。

你可能感兴趣的:(elasticsearch分片理论)