存储引擎

存储引擎是数据库系统的存储基座,数据库基于存储引擎进行数据的创建、查询、更新和删除等操作。根据你的需要,不同的存储引擎将提供不同的存储机制,在物理布局,索引类型,锁的粒度等不同维度进行设计。
目前 YMatrix 数据库系统支持两种存储引擎的使用:基于 PostgreSQL 的 HEAP,YMatrix 自研发的 MARS2。HEAP 表为传统 PostgreSQL 数据库提供的存储引擎,又称堆表。 该类型的表支持大量并发读写、事务、索引等特性。MARS2 表为在 MARS1 基础上开发的存储引擎,凭借其物理有序的合并方式,减少 IO 寻址的次数,从而提高对表内数据的查询性能。

同时,MARS2 支持压缩、列存、自动归档、预聚集等功能,在时序场景中表现优越。YMatrix 为你提供了定制的压缩方案:编码链(mxcustom)。启用编码链可以对表进行细致、有针对性、定制化地深度压缩。细致指的是 YMatrix 开发的一系列编码算法,如 deltadelta、deltazigzag 等;针对性指的是编码链面向列指定的能力,比表级压缩更为精细、更具针对性;定制化则意为编码链具有组合压缩的能力,你可以将基于数据类型的压缩算法和通用算法进一步组合,达到更佳的压缩效果。目前此压缩方案只适用于 MARS2 表。

MARS2 表当前暂不支持更新和删除。

存储引擎原理

表设计最佳实践

使用压缩

存储状态诊断