原文链接: https://mariadb.com/kb/en/mariadb-vs-mysql-features/
xiaomo译------
支持更多的存储引擎
除了标配的MyISAM, BLACKHOLE, CSV, MEMORY, and ARCHIVE 等, 以下的存储引擎也包含在MariaDB源及二进制包中:
- Aria
- XtraDB (可用于替代InnoDB)
- PBXT (包含于MariaDB 5.1, MariaDB 5.2及MariaDB 5.3. 在 MariaDB 5.5中被禁用)
- FederatedX (可用于替代Federated)
- OQGRAPH (包含于MariaDB 5.1, MariaDB 5.2及MariaDB 5.3. 在MariaDB 5.5被禁用) — 新增于5.2版本
- SphinxSE — 新增于5.2版本
- IBMDB2I. Oracle把它从MySQL 5.1.55中移除, 但我们在MariaDB中一直保留到了5.5版本.
- MariaDB-10.0中的Cassandra
- 我们正致力于增加其他no-sql型存储引擎到MariaDB中.
速度的提升
- MariaDB 5.3增加了很多优化及增强功能. 子查询现在终于可用了!完整的列表和与MySQL的一个对比情况可以参考这里. 你可以在这里找到基准信息.
- 更快更安全的复制: Group commit for the binary log. 这使得许多设置和更新的复制速度快了两倍以上.
- 在Windows系统上的Innodb的异步IO子系统性能有所改进.
- MEMORY(HEAP)引擎索引速度更快. 根据一个简单的测试结果显示, 在整型索引中进行INSERT操作比MySQL快24%左右,在CHAR(20)列上的INSERT操作则要快60%.
- CHECKSUM TABLE运行更快.
- 我们改善了character set转换的性能 (同时在并不需要转换时移除了该操作). 大体上速度可以提升1-5 % (根据sql-bench测试),但对于0x00-0x7f之间字符集合应该有更好的效果.
- Pool of Threads in MariaDB 5.1不错,在MariaDB 5.5中表现尤佳. 你可以在运行MariaDB时使用超过200,000的连接数,同时在大量连接下体现了显著的速度提升.
- DBUG功能也有了几处性能优化,使得在编译调试但不使用调试时有更快的执行速度.
- Aria存储引擎的使用使得复杂查询执行更快(一般查询操作使用了disk-based的临时表). Aria一般应用于内部临时表, 可以让复杂的查询提高执行速度. 相对于MyISAM,Aria能更快的访问临时表,这归功于Aria将行数据缓存到了内存中而通常情况下不需要将临时行写入磁盘.
- 拓展了测试套件。现在即使要测试更多内容,速度也要比之前快.
拓展 & 新特性
我们在MariaDB中新增了许多新特性. 如果一个补丁或功能有效,安全并稳定,我们会努力把它添加到MariaDB. 最显著的新特性如下:
- Microseconds in MariaDB — 新增于5.3
- Microsecond Precision in Processlist
- Table Elimination
- Virtual Columns — 新增于5.2
- Extended User Statistics — 新增于5.2
- Segmented Key Cache — 新增于5.2
- KILL all queries for a user — 新增于5.3
- Pluggable Authentication — 新增于5.2
- Storage-engine-specific CREATE TABLE — 新增于5.2
- Enhancements to INFORMATION SCHEMA.PLUGINS table — 新增于5.2
- Group commit for the binary log. 这显著的加快了复制速度 — 新增于5.3
- 增加
mysqlbinlog选项以更改正在使用数据库 — 新增于5.2--
rewrite-db ALTER TABLE
和LOAD DATA INFILE操作的Progress reporting. — 新增于5.3
- 更快的joins and subqueries. — 新增于5.3
- HandlerSocket及更快的HANDLER调用. — 新增于5.3
- 支持Dynamic Columns. — 新增于5.3
- GIS Functionality — 新增于5.3
- Multi-source replication. — 新增于10.0
- SHOW EXPLAIN 获取另一线程中正在执行查询操作的EXPLAIN计划. — 新增于10.0
可以参考features for each release,以获取更详细的特性列表。
表现更好的测试
- 测试套件中有更过的测试用例.
- 测试潜在的bug的修复.
- 通过不同的配置选项构建测试,以获得更好的测试特性.
- 移除无效的测试. (e.g. 如果在测试中某功能点没有被构建,那么它将不会被用于测试.)
更少的警告和错误
- Bugs不是什么好东西. 尽可能的修复bugs并尽少的引发新的问题.
- 编译警告也不是什么好事. 已尽可能的限制编译警告.
真正的开源
- MariaDB代码的发布遵守GPL, LPGL或BSD协议. MariaDB并没有类似MySQL企业版那样的闭源模块. 实际上,MySQL 5.5企业版中的闭源模块代码可以在MariaDB开源版本中找到.
- MariaDB包含所有已被修复的bug的测试用例. 而Oracle并不会提供MySQL5.5新修复的bug的测试用例.
- 所有的bugs和development plans都是公开的.
- 秉承真正开源的精神理念,MariaDB由社区持续开发维护.
相关链接
参考Compatiblity between MariaDB and MySQL
- 顶
- 1
- 踩
- 0
时间: 2024-10-09 18:29:44