关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
流计算引擎
灾难恢复
系统配置参数
索引
扩展
SQL 参考
常见问题(FAQ)
存储引擎是数据库系统的存储基座,数据库基于存储引擎进行数据的创建、查询、更新和删除等操作。根据你的需要,不同的存储引擎将提供不同的存储机制,并可与不同的执行引擎组合成为适用于特定场景的数据库微内核。
目前 YMatrix 数据库系统支持几种存储引擎的使用:
| 存储引擎 | 适用场景 | 存储格式 | 压缩 | 锁定粒度 | update/delete |
|---|---|---|---|---|---|
| HEAP | OLTP 类型业务 | 行存 | 仅能针对部分「大字段」做轻量级单独压缩 | 行锁 | 支持 |
| AORO | OLAP 类型业务 | 行存 | 表级别压缩 | 表锁 | 支持 |
| MARS3 | OLAP/时序类型业务 | 行列混存 | 按列压缩 | 行锁 | 支持 |
MARS3 存储引擎是 YMatrix 专为数据高速加载与查询设计的存储引擎。支持列存、行列混存两种模式,内部采用 LSM Tree(日志结构合并树)存储结构 —— 数据先以行存形式写入,积累到一定量后自动转换为列存(可通过 prefer_load_mode 参数配置)。
ON CONFLICT 支持:从 6.8.4 开始,MARS3 表在具备包含分布键的唯一索引时可以使用 ON CONFLICT;按 pattern 操作符类创建的唯一索引,需要在 ON CONFLICT 中显式指定同一个操作符类。AORO 是一种面向分析型数据库的存储组织范式,指数据以仅追加(append-only)方式按行连续写入,不支持原地更新或删除,通过时间戳或事务 ID 维护版本,兼顾写入吞吐、查询效率与 MVCC 一致性。