海盒MPP数据库系统——存储引擎

2022-05-05 18:37:44

SeaboxMPP同时支持数据按行存储、按列存储机制。对于经常进行小批量insert、update、delete的表可以建成行存表,可以提供高并发并行操作,对于大数据量的批量操作,建成列存表可以提供更高的压缩比和更高的处理性能。

行存列存示意图
  • 每个字段按列聚合存储,节省IO,适合压缩
  • 适合于OLAP应用,按列访问数据;例如50个字段的表,取其中3个字段,行存储需要每个读一次,列存储只需要读3次,大幅节省I/O操作。
  • 按存储Block的稀疏索引避免全表扫描

SeaboxMPP支持灵活的压缩设置,可支持全局级别、数据库级别、session级别、表级别、列级别的压缩算法设置,可设置默认压缩,支持指定压缩算法,也支持按数据特征自行判断适用的算法的智能判断模式。对于不同的场景提供更灵活的设置,比如对很少访问的历史数据采用高压缩算法,对于近期热数据采用低压缩算法或默认压缩,在处理速度和存储空间达到更好的平衡。

  • 数据压缩通过 减少数据占用的磁盘空间,降低存储成本,并有效减少IO的性能开销,提升性能;
  • 支持LZ4、RLE、ZSTD、Gorilla、Multiple等7种压缩算法
  • 支持全局、表级、字段级压缩算法指定
  • 支持自动压缩算法评估,列存储数据适合压缩,通常压缩比可达5~20倍

SeaboxMPP对海量数据加工、高频度小规模数据写入 的混合负载应用场景进行了优化,既兼顾前台业务数据快速数据插入,又兼顾了分析人员高效查询。

  • 合海量数据加工的列执行引擎;适合事务型应用的行执行引擎;
  • 根据业务特性可选择不同执行引擎;
  • 内置数据行转列的自动优化;
  • 适应混合负载场景;