ElasticSearch 应对数据增长与配置优化策略
1. 业务增长带来的挑战与初步应对
当服务取得巨大成功时,流量会显著增加,还可能会有大公司寻求合作。例如,有大型供应商提供约 200 万本图书的数据,这将使文档数量达到当前的 20 倍。为了让用户拥有相同甚至更好的搜索体验,我们需要对 ElasticSearch 集群进行调整。
首先,可以在不额外工作的情况下,改变(增加或减少)副本数量。这样能应对更多查询,但额外副本需要更多磁盘空间,并且要确保能在集群节点上分配,同时要进行性能测试,因为最终吞吐量受多种因素影响,难以用数学公式描述。
对于分片,在活动索引上不能更改分片数量。若之前分配的分片数量少,可能无法及时处理增长后的数据。比如原本 2 个分片处理 10 万文档没问题,但处理 210 万文档就显得不足。
2. 数据增长的解决方案探索
- 重新索引
- 移除旧索引创建新索引 :这是最简单的解决方案,但重新索引期间服务不可用。若准备文档索引成本高且整个数据库索引时间长,停止服务进行重新索引是不可接受的。
- 创建第二个索引并切换 :可以创建新索引并填充数据,然后将应用切换到新索引。还可以使用别名在不影响应用配置的情况下提供新索引,但创建新索引需要额外磁盘空间,在新机器到来前应完成耗时任务,所以需寻找更简单的解决方案。
- 路由 :使用路由可以创建有效查询,只返回基础数据集或业
超级会员免费看
订阅专栏 解锁全文
1309

被折叠的 条评论
为什么被折叠?



