存储引擎

存储引擎是数据库系统的存储基座,数据库基于存储引擎进行数据的创建、查询、更新和删除等操作。根据你的需要,不同的存储引擎将提供不同的存储机制,并可与不同的执行引擎组合成为适用于特定场景的数据库微内核。

目前 YMatrix 数据库系统支持几种存储引擎的使用:

  • 基于 PostgreSQL 的 HEAP
  • 基于 Greenplum 的 AO(Append-optimized)
  • YMatrix 自研发的 MARS2
存储引擎 描述
HEAP PostgreSQL 数据库提供的存储引擎,又称堆表,采用行式存储。该类型的表支持大量并发读写、事务、索引等特性
AO Greenplum 数据库提供的存储引擎,又称追加优化表,使用追加优化(Append-optimized,AO)的存储格式来批量装载和读取数据,并且能提供 HEAP 表上的性能优势。追加优化的存储为数据保护、压缩和行/列方向提供了校验和。行式或者列式追加优化的表都可以被压缩
MARS2 在 MARS 基础上开发的存储引擎,凭借其物理有序的合并方式,减少 IO 寻址的次数,从而提高对表内数据的查询性能。MARS2 支持压缩、列存、自动归档、预聚集等功能,在时序场景中表现优越。在压缩方面,MARS2 可提供定制的压缩方案:编码链(mxcustom)。启用编码链可以对表进行细致、有针对性、定制化地深度压缩。细致指的是 YMatrix 开发的一系列编码算法,如 deltadelta、deltazigzag 等;针对性指的是编码链面向列指定的能力,比表级压缩更为精细、更具针对性;定制化则意为编码链具有组合压缩的能力,你可以将基于数据类型的压缩算法和通用算法进一步组合,达到更佳的压缩效果。MARS2 表当前暂不支持更新和删除

存储引擎原理

表设计最佳实践

使用压缩

存储状态诊断