关系型数据库为了支持通用查询和事务处理,在存储结构上使用 B+ 树索引实现多维数据查询,存储引擎不再需要全表扫描获取数据。其压缩策略多采用 LZ77、DEFLATE 等通用算法,根据数据库的使用情况和性能要求选择是否启用压缩及压缩级别。
时序数据库则针对时序数据特点,采用紧凑、高效的存储结构,如列式存储格式,以优化按时间范围的查询和数据插入性能。除使用通用算法外,时序数据库还会根据时序数据的特点,采用专门的压缩算法,如游程编码(RLE)、差分编码等,以提高压缩率。
比如,时序数据库 IoTDB 底层存储采用自研时序标准文件格式 Apache TsFile,通过设备、传感器和时间维度索引,实现基于特定时间范围的时序数据快速过滤和查询,相比通用文件格式,查询吞吐可提升 5-10 倍。同时,TsFile 采用先进的压缩技术,可最大限度地减少存储需求磁盘空间消耗并提高系统效率,相比通用文件格式,压缩比可提升 15 倍以上。