Elasticsearch高并发大数据量场景下Rollover进行容量管理还是写交业务进行数据归档?

Elasticsearch高并发大数据量场景下Rollover进行容量管理还是写交业务进行数据归档?

展开
收起
青城山下庄文杰 2023-09-23 14:51:31 279 分享 版权
阿里云 AI 助理回答

在Elasticsearch高并发大数据量场景下,选择使用Rollover进行容量管理还是写交业务进行数据归档,需要根据具体的业务需求、性能要求和成本优化目标来决定。以下是两种方式的详细对比及适用场景分析:


1. 使用Rollover进行容量管理

Rollover机制是Elasticsearch中用于管理时序数据(如日志、指标等)的一种高效方法,通过设置条件(如索引大小、文档数量或时间间隔)自动创建新索引,避免单个索引过大导致性能问题。

工作原理

  • Rollover会在满足预设条件(如索引大小达到50GB、文档数达到100万或时间超过1天)时,自动创建新的索引,并将写入流量切换到新索引。
  • 旧索引可以进入索引生命周期管理(ILM)的不同阶段(如warm、cold、delete),从而实现冷热数据分离和存储优化。

优势

  • 性能优化:通过限制单个索引的大小,避免因索引过大导致的查询和写入性能下降。
  • 自动化管理:结合ILM策略,可以自动完成索引的滚动更新、分片收缩、段合并以及最终删除操作,减少人工干预。
  • 灵活性:支持基于时间、大小或文档数量的多种滚动条件,适应不同业务场景。

适用场景

  • 数据写入频率高且持续增长的场景,例如日志采集、指标监控等。
  • 需要对数据进行冷热分层存储并优化存储成本的场景。
  • 查询需求集中在最近数据,而历史数据访问较少的场景。

注意事项

  • 配置复杂性:需要合理设置Rollover条件和ILM策略,否则可能导致索引过多或存储成本增加。
  • 集群负载:频繁的Rollover操作可能对主节点造成压力,建议结合业务写入流量评估实例规格。

2. 写交业务进行数据归档

写交业务进行数据归档是指将不再频繁访问的历史数据从Elasticsearch集群中迁移到其他存储介质(如对象存储OSS)进行长期保存。

工作原理

  • 在传统方式中,通常通过快照(Snapshot)将数据备份到外部存储介质(如OSS)。查询时需要先恢复快照到集群中,增加了查询复杂度。
  • 阿里云Elasticsearch的OpenStore智能混合存储提供了一种更高效的解决方案,允许数据直接存储在低成本的混合存储中,同时支持按需查询,无需手动恢复快照。

优势

  • 存储成本低:OpenStore存储单价比本地SATA盘低60%,比高效云盘低70%,适合长期存储大量数据。
  • 查询性能提升:对于典型日志场景,OpenStore的查询性能相较于本地SATA提升了100%,与高效云盘相当。
  • 自动化管理:无需手动配置冷热生命周期策略,OpenStore会根据查询频率智能分层存储数据。

适用场景

  • 数据写入量大但查询频率较低的场景,例如日志归档、审计记录等。
  • 需要长期存储数据以满足合规性要求的场景。
  • 对存储成本敏感且对查询延迟容忍度较高的场景。

注意事项

  • 查询限制:部分Agg查询类型仅支持1.9及以上版本,其他内核版本不支持。
  • 存储容量规划:单节点最大存储容量为30TB,如有更大需求需通过工单申请。
  • 写入性能:开启OpenStore后,索引将处于只读状态,少量写入场景可通过修改index.blocks.write参数实现新数据写入,但需谨慎操作。

总结与建议

  • 如果您的业务场景需要高性能写入实时查询,并且数据量较大但查询集中在近期数据,建议使用Rollover结合ILM策略进行容量管理。
  • 如果您的业务场景需要长期存储大量数据,并且对查询性能要求不高,建议使用OpenStore智能混合存储进行数据归档,以降低存储成本并简化管理。

推荐搭配方案

  • Rollover + ILM + OpenStore:对于日志场景,可以结合Rollover进行实时数据写入管理,同时利用ILM将冷数据迁移到OpenStore中存储,实现性能与成本的最佳平衡。

希望以上信息能帮助您更好地选择适合的方案!

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

阿里云检索分析服务Elasticsearch版兼容开源ELK功能,免运维全托管,提升企业数据检索与运维分析能力。

还有其他疑问?
咨询AI助理