- 首页 >
- 问答 >
-
云计算 >
- MariaDB Linux版支持哪些存储引擎
MariaDB Linux版支持哪些存储引擎
小樊
32
2025-12-10 11:40:49
MariaDB Linux版存储引擎概览
内置与常用存储引擎
- 事务与通用:InnoDB(自 MariaDB 10.2 起为默认)、XtraDB(InnoDB 分支,早期版本常用,10.2 起回归 MySQL InnoDB)、Aria(MariaDB 自研,crash-safe,系统表自 10.4 起使用 Aria)、MyISAM(传统引擎,非事务,适合读多写少与遗留系统)。
- 分析型与大数据:ColumnStore(列式 OLAP/数据仓库)。
- 外部数据与联邦查询:CONNECT(SQL/MED,访问 CSV、Excel、其他数据库等外部数据源)、FederatedX(访问远程 MariaDB/MySQL)。
- 内存与临时:MEMORY(数据仅存内存,崩溃丢失,适合缓存/临时表)。
- 归档与黑洞:Archive(高压缩归档)、BLACKHOLE(写入丢弃,常用于复制链路中转或性能测试)。
- 分片与分布式:Spider(分片/跨节点查询)。
- 压缩与高写入吞吐:TokuDB(高压缩、适合写密集)、MyRocks(RocksDB 移植,LSM 树,I/O 与空间效率优)。
- 其他实用:MERGE/MRG_MyISAM(合并多个同结构 MyISAM 表)、CSV(CSV 文件表)、Sequence(生成整数序列)、S3(只读访问 Amazon S3 对象存储)、SphinxSE(代理远程 Sphinx 全文搜索)、Mroonga(面向 CJK 的全文搜索)、CassandraSE(访问 Apache Cassandra,实验性/不再积极开发)、OQGRAPH(层次与图结构处理)。
版本与平台差异要点
- 默认引擎:MariaDB 10.2 起默认引擎为 InnoDB;在 10.1 及更早版本中,XtraDB 常作为默认事务引擎(InnoDB 的增强分支)。
- 系统表存储:自 10.4 起,MariaDB 系统表全面改用 Aria,提升崩溃恢复与可维护性。
- 引擎可用性:部分引擎为插件形态,是否可用取决于具体 Linux 发行版、安装包/仓库 与 编译选项;例如 TokuDB、MyRocks、S3、CassandraSE 等在某些发行版或版本中可能需要额外安装插件或启用选项。实际可用列表以服务器上查询结果为准。
在 Linux 上查看与启用引擎的方法
- 查看已启用引擎与默认引擎:
- 执行:
SHOW ENGINES;
- 执行:
SELECT @@GLOBAL.storage_engine;
- 启用/安装插件式引擎(示例):
- 安装插件:
INSTALL SONAME 'ha_tokudb';(TokuDB 示例)
- 卸载插件:
UNINSTALL SONAME 'ha_tokudb';
- 建表时指定引擎:
CREATE TABLE t (id INT) ENGINE=InnoDB;
- 提示:不同发行版/安装方式(如系统仓库、官方仓库或源码编译)会影响插件与引擎的可用性与默认配置。