单索引当前已经存储1.5亿多文档,3节点5分片1副本,每个分片20G多。有定期删除老数据,但是预计在删除老数据前,可能最大存储文档达到24亿多。
当前想到的解决方案:
1、根据预估的最大24亿最大文档,对当前资源进行扩容。
但是根据之前的数据计算,应该如何合理分配分片?如何计算需要扩容几个节点满足要求?
2、使用rollover根据条件,索引太大后,写入数据切换至新索引,但是查询数据还是对全部索引进行查询。
这样可能是多索引,每个索引5分片1副本。
现在疑惑是哪种方案更合理?个人倾向于方案2,比较扩容也是需要成本。
但是方案2后续索引增加,分片增加后,每次查询是设置查询别名指向所有索引,这样查询性能是不是也会持续下降?
当前想到的解决方案:
1、根据预估的最大24亿最大文档,对当前资源进行扩容。
但是根据之前的数据计算,应该如何合理分配分片?如何计算需要扩容几个节点满足要求?
2、使用rollover根据条件,索引太大后,写入数据切换至新索引,但是查询数据还是对全部索引进行查询。
这样可能是多索引,每个索引5分片1副本。
现在疑惑是哪种方案更合理?个人倾向于方案2,比较扩容也是需要成本。
但是方案2后续索引增加,分片增加后,每次查询是设置查询别名指向所有索引,这样查询性能是不是也会持续下降?
1 个回复
rochy - rochy_he
赞同来自:
此外,如果搜索压力大的化,可以多增加一个副本,这样副本也可以分担搜索的压力;
如果希望多个索引分担压力,可以使用别名,别名可以指定多个索引的某一个索引是可以写入数据的;
搜索的时候是全部索引一起搜索