Debian MariaDB 存储引擎选择技巧
快速选择决策表
| 场景 | 首选引擎 | 关键理由 | 备选/补充 |
|---|---|---|---|
| OLTP/需要事务与一致性 | InnoDB | ACID、行级锁、外键、MVCC、崩溃可恢复 | XtraDB(MariaDB 10.1 默认,10.2 起回归 MySQL InnoDB) |
| 读多写少、非事务 | Aria | Crash-safe、页级修复、比 MyISAM 更可靠 | MyISAM(仅遗留场景) |
| 写入密集、I/O/容量压力大 | MyRocks(RocksDB)/TokuDB | LSM 树、高压缩、写放大低、适合大表 | InnoDB(调优后) |
| 分析型/大数据聚合 | ColumnStore | 列式存储、MPP 架构、适合 PB 级分析 | InnoDB + 分区/汇总表 |
| 时序数据(监控/日志) | InnoDB 或 MyRocks | 时间范围查询、按月分区、TTL 管理 | ColumnStore(重分析) |
| 临时/缓存表 | MEMORY | 纯内存、极快、会话级缓存 | InnoDB 临时表 |
| 归档/审计 | Archive | 只 INSERT/SELECT、高压缩、低占用 | 外部对象存储 |
| 跨源/异构数据访问 | CONNECT | SQL/MED、访问 CSV/远程表等外部数据 | FederatedX(仅 MySQL 远程) |
| 全文搜索(CJK/高性能) | Mroonga | 列存全文、CJK 友好 | SphinxSE(代理远程 Sphinx) |
| 多主同步/分片 | Galera(集群)/Spider | 多主同步、分片/分区扩展 | 应用层分库分表 |
| 以上选择基于各引擎的特性与典型负载匹配,兼顾可靠性、并发与成本。 |
在 Debian 上如何设置与验证
版本与默认引擎要点
常见误区与实用建议