DTCC 2019 | 阿里云TSDB: 教你解锁时序时空数据库的种种黑科技(11)

如下图所示的是真实场景下的数据压缩效果 。 原始情况下数据大约6TB , 一开始尝试最普通的块压缩 , 将数据压缩到了715G , 但此时的数据压缩比不到10:1 , 而采用先进行时序压缩再追加一次块压缩后使得最终数据压缩为413G , 压缩比达到了15:1 。 那么 , 追求如此之高的数据压缩比有什么好处呢?其实主要有两个好处 , 第一个好处就是能够帮助用户降低存储成本;另外一个好处就是因为数据压缩比很大 , 因此当在进行大范围的时序数据查询的时候 , IO效率会非常高 , 在这个例子中可以将查询延时降低约50% 。

时序索引

TSDB的整体查询流程非常简单 , 当用户指定了一个查询条件 , 阿里云TSDB首先会解析这个查询条件 , 同时做一定程度的优化 。 接下来会做两件事情 , 一件是将查询条件扔给时序索引模块 , 时序索引模块会根据查询条件计算命中的时间线数量以及相关信息 , 拿到时间线信息之后再将时间线集合扔给聚合索引 , 聚合索引再到底层存储上面获取相应的时间数据并进行降采样、聚合等操作 。 虽然这一过程看上去比较简单 , 但是却存在很多值得研究的点 。

推荐阅读