ES中的RollUp概念

在最新的ES中出现了一个X特性,卷数据(Data Rollup,不知道如何翻译,姑且这么称呼吧)。这个卷数据是个什么概念呢?

如果做过监控(monitoring)的都知道,监控实际上是个大数据问题,这些”大“之一就是大量:一个复杂的系统可能每天面临上TB的原始数据;虽然监控系统所用的数据库都会有一些高效的压缩功能,但最终磁盘上存储的量仍然会按每天数十数百G增加。因此监控系统中数据的存留时间和策略(retention period & policy)始终是个核心问题。正是为了更好的解决这个问题,ES提出了卷数据这个概念(新瓶装老酒了):把超过指定时间段的数据按预定的方式进行聚合,从而在一个更粗的粒度下能提供更长时间的数据存留以供查询和处理。被卷处理后的数据可以根据实际情况被放到更低成本的存储中以供不时之需或直接抛弃(当然也就从ES的index中去掉了)。

ES的卷数据有如下一些重要特征

  1. 卷数据的生成使用的是ES查询的标准语法,这个降低了卷数据的生成和维护难度(用户不用单独学习特殊的语法和语义来完成这个了)。
  2. 卷数据可以同时和当前活跃(live)数据进行查询。ES会把聚合的数据存放到一个独立的索引(index)中,在查询时当前活跃数据的索引和这个卷数据的索引都会被访问并自动返回合并后的查询结果。比如如果我们把一个月前的数据进行卷数据处理,ES的查询会同时参照卷数据和最近一个月的数据返回一个完整的查询结果(即:如果我们查询最近三个月的数据,最近的一个月数据会来自于活跃数据,而前两个月的数据则来自于卷数据)。
  3. 卷数据的查询时间间隔粒度是可变的:我们在生成卷数据时可能指定卷数据按天或小时生成,但我们查询时时间间隔粒度可以是任何大于这个粒度的,ES会自动根据指定的粒度进行相应的转化或聚合返回正确的查询结果。

使用卷数据可以带来明显的空间上的节约,但它也导致数据上的粒度或精度收到明显的损失。更重要的是生成卷数据的方式是预先指定的,如果在后期查询时发现所需要的数据在内容和格式上有缺失,因为原始数据已经被清除可能导致业务上的限制;此时如果将原始数据保存到了更便宜的存储介质上,可以将他们重新加载出来后用新的格式对数据进行卷数据处理即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值