跳转到内容

MariaDB/存储引擎

来自Wikibooks,开放世界的开放书籍

MariaDB包含了MySQL 5.1中包含的所有存储引擎,除了ClusterDB、IBMDB2I和Example。

此外,它还包含了一些其他的存储引擎。

Aria存储引擎在MariaDB 5.1中默认编译,并且在mysqld启动时需要“使用”。

此外,内部磁盘上的表使用Aria表格式而不是MyISAM表格式。这应该可以加快某些GROUP BY和DISTINCT查询的速度,因为Aria比MyISAM具有更好的缓存。Aria的包含是MariaDB 5.1和MySQL 5.1之间的一个区别。

PBXT存储引擎默认包含在MariaDB源代码和二进制文件中。

不同版本中的PBXT版本为

MariaDB 5.1.47中的版本1.0.11 MariaDB 5.1.44b中的版本1.0.08d PBXT是一个通用事务存储引擎。PBXT完全符合“ACID”,这意味着它可以用作其他MariaDB事务引擎(如XtraDB或InnoDB)的替代方案。

PBXT的功能包括以下内容

  • MVCC支持:MVCC代表多版本并发控制。MVCC允许读取数据库而无需锁定。
  • 完全符合ACID:这意味着所有事务都是:原子性、一致性、隔离性和持久性。
  • 行级锁定:更新时,PBXT使用行级锁定。在SELECT FOR UPDATE期间也使用行级锁定。
  • 快速回滚和恢复:PBXT使用一种专门的方法来识别垃圾,从而使“撤销”变得不必要。这使得事务的回滚和重启后的恢复都非常快。
  • 死锁检测:PBXT可以立即识别所有类型的死锁。
  • 写入一次:PBXT使用基于日志的存储,这使得可以将事务数据直接写入数据库,而无需先写入事务日志。
  • 引用完整性:PBXT支持外键定义,包括级联更新和删除。
  • BLOB流:结合BLOB流引擎,PBXT可以将二进制文件和媒体直接流入和流出数据库。
  • 在您创建第一个PBXT表之前,PBXT不会占用任何资源(磁盘空间或CPU处理)。

XtraDB是InnoDB的一个分支,由Percona创建和维护。

XtraDB与InnoDB完全兼容。当发布新的InnoDB版本时,InnoDB代码库会不断更新。Percona对其应用了一些补丁,这些补丁修复了已知的错误并添加了新功能。

XtraDB的文档:http://www.percona.com/docs/wiki/percona-xtradb:start

在大多数构建中,InnoDB被禁用,而XtraDB则以InnoDB的名义安装。这意味着如果您指定InnoDB,您实际上会得到XtraDB。

FederatedX

[编辑 | 编辑源代码]

FederatedX基于Federated存储引擎,该引擎不再维护。它试图推动Federated存储引擎向前发展,以修复错误,添加新功能并开发更容易作为可插拔存储引擎实现的新概念。

Launchpad上的FederatedX:https://code.launchpad.net/federatedx

华夏公益教科书