我正在测试现在使用ElasticSearch进行集群,并对节点之间的副本有疑问 .
正如您在Head的截图中看到的,我有2个索引 .
电影有5个分片和2个副本
学生有5个分片和1个副本
哪一个更好,哪个更快,有3个活动节点,为什么?
拥有更多副本的成本将是
需要更多存储空间(显然)
索引性能较低
虽然它的优点是
更好的搜索性能
更好的弹性
请注意,即使您有2个副本,但这并不意味着您的群集可以忍受2个节点停止运行,因为如果只有3个分片中的一个可用,则所有索引请求都将失败 . (因为 indexing quorum )
indexing quorum
有关详细说明,请参阅this official document
“更好”是主观的 .
使用两个副本,您可以处理群集中三台计算机中的两台,但代价是将所有数据写入每台计算机 . 读取性能也应该更高,因为群集有更多节点可以从中请求数据 .
使用一个副本,您只能在群集中一台计算机的中断后继续运行,但通过在3台服务器上写入2份数据(每台服务器上的IO更少),您将获得性能提升 .
因此,它归结为风险和绩效 . 希望有所帮助 .
2 回答
拥有更多副本的成本将是
需要更多存储空间(显然)
索引性能较低
虽然它的优点是
更好的搜索性能
更好的弹性
请注意,即使您有2个副本,但这并不意味着您的群集可以忍受2个节点停止运行,因为如果只有3个分片中的一个可用,则所有索引请求都将失败 . (因为
indexing quorum
)有关详细说明,请参阅this official document
“更好”是主观的 .
使用两个副本,您可以处理群集中三台计算机中的两台,但代价是将所有数据写入每台计算机 . 读取性能也应该更高,因为群集有更多节点可以从中请求数据 .
使用一个副本,您只能在群集中一台计算机的中断后继续运行,但通过在3台服务器上写入2份数据(每台服务器上的IO更少),您将获得性能提升 .
因此,它归结为风险和绩效 . 希望有所帮助 .