Debian 上 MariaDB 存储引擎概览
在 Debian 上,MariaDB 的存储引擎以插件形式提供,具体可用列表会随版本与安装的软件包而变。常用引擎包括事务型的 innodb/xtradb、crash-safe 的 aria、面向大数据的 tokudb/myrocks、列存的 columnstore、用于分布式/外部数据的 spider/connect/federatedx、以及内存/归档/黑洞等特殊用途引擎。自 mariadb 10.2 起默认引擎为 innodb;在 10.1 之前默认是 xtradb(percona 的 innodb 分支)。
常见内置与常用插件引擎
| 引擎 | 主要特性 | 典型场景 | 备注 |
|---|---|---|---|
| innodb | 事务、行级锁、外键、crash-safe | 通用在线事务处理 | mariadb 10.2+ 默认引擎 |
| xtradb | percona 增强版 innodb | 高性能事务场景 | mariadb 10.1 及更早的默认引擎 |
| aria | crash-safe、页级修复、myisam 的现代替代 | 系统表、读写混合 | mariadb 10.4 起系统表默认使用 aria |
| myisam | 表级锁、全文索引、压缩 | 只读/低频写、遗留系统 | 事务与外键不支持 |
| memory | 全内存、重启数据丢失 | 缓存/临时计算 | 适合小表、只读缓存 |
| tokudb | 高压缩、写优化、事务 | 大数据/写密集 | 需额外安装包 |
| myrocks | rocksdb lsm、高压缩、i/o 优化 | 闪存/容量敏感场景 | 需额外安装包 |
| columnstore | 列式、mpp、分布式 | 数据仓库/olap | 需额外安装包 |
| spider | 分片/分区、多服务器 | 水平扩展 | 需额外安装包 |
| connect | 访问外部数据源(文件、jdbc 等) | 联邦查询/etl | 需额外安装包 |
| federatedx | 访问远程 mariadb/mysql | 跨库查询 | 需额外安装包 |
| blackhole | 写入即丢弃 | 复制中转/过滤 | 不产生本地数据 |
| archive | 仅插入/查询、高效压缩 | 日志归档 | 不支持索引 |
| csv | csv 文件表 | 数据导入导出 | 不支持索引 |
| merge | 合并同构 myisam 表 | 分表聚合查询 | 约束由基表承担 |
| sequence | 生成整数序列 | 自增替代、虚拟表 | 虚拟表形式 |
| mroonga | 列存 + 全文(cjk 友好) | 中文全文检索 | 需额外安装包 |
| cassandra | 访问 cassandra | nosql 桥接 | 实验性/不再积极开发 |
| s3 | 只读访问 amazon s3 | 云对象存储只读 | 需额外安装包 |
| sphinxse | 代理 sphinx 全文 | 高级全文检索 | 需额外安装包 |
| oqgraph | 图/层次结构处理 | 树/图算法 | 需额外安装包 |
| scaleb | 商业引擎 | 大规模 olap/oltp | 商业许可 |
注:上表涵盖常见与部分专用/外部数据源引擎;是否“内置”取决于版本与是否安装了对应插件包(如 tokudb、myrocks、columnstore、connect、federatedx、mroonga、s3、sphinxse、oqgraph、scaleb 等)。
在 Debian 上查看与启用引擎
版本与选择要点