【SequoiaDB|巨杉数据库】数据压缩
数据的持久化存储需要用户投入成本购买存储设备。虽然硬盘等存储设备的价格一直在下降,但由于数据的增长速度已经远远超出了设备价格下降的速度,所以用户的净存储成本实际上一直在增长。因此,使用高效的算法对数据进行压缩,可以大大减小存储空间的需求,降低用户的成本投入。
从软件系统层面来讲,对于数据库等特殊领域,需要对存储在磁盘等介质上的海量数据进行高频访问。此时,磁盘 I/O 就成为整体性能的一个关键节点。数据压缩后存储到磁盘,可以大大减小 I/O 需求,系统能够提供更高的性能和吞吐量。
衡量压缩效果的是压缩率(Compression ratio),是指压缩后大小与压缩前大小的比值,该值越小,表示压缩效果越好。影响压缩率的关键因素有两个:
数据的重复度:压缩算法的核心思想都是使用更简短的方式来表示重复的内容,数据的重复度越高,压缩率越小
压缩算法:压缩算法领域也没有“银弹”,不同的压缩算法都是在速度和压缩率之间进行取舍,更快的算法通常意味着更大的压缩率
SequoiaDB 巨杉数据库内部使用 BSON 结构来存储数据,这是一种类 JSON 的二进制编码格式。BSON 结构的一个重要特点是自描述,每条记录都包含完整的字段信息,因此数据中存在着大量的重复信息,这种特点使数据压缩具备了必要性与可行性。
数据压缩
更多内容请点击