发布于2020-11-18 15:58
12分钟阅读
本文链接:https://blog.openacid.com/algo/slimarray/
slimarray
场景和问题在时序数据库,或列存储为基础的系统中,很常见的形式就是存储一个整数数组,例如slim这个项目按天统计的star数:
这类数据有有很明显的统一的变化趋势,对这类数据的存储,我们可以利用数据分布的特点,将整体数据的大小压缩到几分之一.这就是slimarray要做的事情.
使用slimarray,可以将数据容量减小到gzip差不多的大小,同时还能允许直接访问这些数据!测试中我们选择了2组随机数,以及现实中的2份数据,一个ipv4的数据库,一个slim的star变化数据,服用slimarray后效果如下:
在达到gzip同等压缩率的前提下,构建slimarray和访问的性能也非常高:
构建slimarray时,平均每秒可压缩6百万个数组元素;读取一个数组元素平均花费7ns/op.
本文手把手的介绍slimarray的原理,实现:
初步想法: 发表文章 提问