400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
存储引擎是数据库系统的存储基座,数据库基于存储引擎进行数据的创建、查询、更新和删除等操作。根据你的需要,不同的存储引擎将提供不同的存储机制,并可与不同的执行引擎组合成为适用于特定场景的数据库微内核。
目前 YMatrix 数据库系统支持几种存储引擎的使用:
存储引擎 | 描述 |
---|---|
HEAP | PostgreSQL 数据库提供的存储引擎,又称堆表,采用行式存储。该类型的表支持大量并发读写、事务、索引等特性 |
AO | Greenplum 数据库提供的存储引擎,又称追加优化表,使用追加优化(Append-optimized,AO)的存储格式来批量装载和读取数据,并且能提供 HEAP 表上的性能优势。追加优化的存储为数据保护、压缩和行/列方向提供了校验和。行式或者列式追加优化的表都可以被压缩 |
MARS2 | 在 MARS 基础上开发的存储引擎,凭借其物理有序的合并方式,减少 I/O 寻址的次数,从而提高对表内数据的查询性能。MARS2 支持压缩、列存、自动归档、预聚集等功能,在时序场景中表现优越。在压缩方面,MARS2 可提供定制的压缩方案:编码链(mxcustom)。启用编码链可以对表进行细致、有针对性、定制化地深度压缩。MARS2 表不支持数据的更新和删除 |
MARS3 | 在 MARS2 基础上开发的存储引擎,其不仅继承了 MARS2 时序场景下的性能优势,还增添了对 AP 和 TP 场景的支持。此外,它除了继承了 MARS2 的很多优势特性,如编码链压缩,列存等功能,还对数据的写入性能进行了优化,可以应对不同形式的写入场景(如高频小批量的 TP 场景,低频大批量的 AP 场景)。MARS3 支持常规数据的更新和删除操作,支持 MVCC 机制,支持增删列,支持 Brin 索引 |
MARS2 与 MARS3 基本特性对比如下:
特性 | MARS2 | MARS3 |
---|---|---|
存储方式 | 列存 | 行列混存或列存 |
压缩 | 支持编码链 | 支持编码链 |
通过 UPDATE 与 DELETE 子句完成数据更新与删除 |
不支持 | 支持 |
增、删列 | 不支持 | 支持 |
MVCC | 不支持 | 支持 |
Runtimefilter | 支持 | 不支持 |
存储诊断 | 支持 | 不支持 |
数据分批合并(UPSERT) | 支持 | 支持 |
INSERT INTO ... VALUES ... ON CONFLICT ... DO UPDATE 语法 | 不支持 | 不支持 |
索引 | 建表时必须同时创建一个 mars2_btree 索引指定排序键,否则表无法生效(作用相当于 MARS3 表的 ORDER BY 子句) |
可选择性创建一个或多个 mars3_brin 索引,以提高查询效率(作用相当于 MARS2 表的 minmax 索引) |
表参数配置方式 | WITH(a=1,b=2,...) |
WITH(mars3options='a=1,b=2,...') |