赞
踩
es集群数据存储
es在创建集群的时候默认初始化的分片是5个,可通过调用接口设置分片数量,一个分片对应一个Lucene实例,以及它本身就是一个完整的搜索引擎,文档被存储和索引到分片内,但是应用程序是直接与索引而不是与分片进行交互。
Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。
一个分片可以是 主 分片或者 副本 分片。 索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索引能够保存的最大数据量。
shard = hash(routing) % number_of_primary_shards
在设置完分片后存储的文档会根据一定的算法将文档保存到某个分片内,分片下会存在多个副本,多个副本冗余存在该文档。
下次查询该文档时集群master会根据以上的算法和查询文档的ID定位到保存该文档的分片,分片再查询其下副本内的文档返回给master,最后返回客户端调用者。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。