MariaDB与MySQL——特性比较

MariaDB是MySQL关系数据库管理系统的一个分支。 MySQL的原始开发人员在Oracle收购MySQL后提出的关注之后创建了MariaDB。

MariaDB工作与在MySQL下工作几乎一模一样,她们有相同的命令、界面,以及在MySQL中的库与API,所以MariaDB可以说是为替换MySQL量身定做的,所以它们之间是相通用(兼容),换用后连数据库都不必转换!并可以获得MariaDB提供的许多更好的新特性。

自动草稿

多的存储引擎

除了提供标准的MyISAM、BLACKHOLE、CSV、MEMORY、ARCHIVEMERGE引擎外,在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。
  • TokuDBMariaDB 5.5与MariaDB 10.0
  • Cassandra MariaDB 10.0
  • 我们正忙于给MariaDB添加NoSQL存储引擎。
  • CONNECT MariaDB 10.0
  • SEQUENCE   MariaDB 10.0
  • Spider MariaDB 10.0

MariaDB 速度提升

在MariaDB 5.3中进行了大量的优化提升,子查询真正可用了!完整的列表及与之比较请点击此处,性能指标请在此处查看。

更快,更安全的复制:二进制日志的组提交。这使得许多使用复制和批量更新的设置速度提高了两倍以上。

Windows上的Innodb异步IO子系统的改进。

MEMORY(HEAP)引擎的索引速度更快。根据一个简单的测试,整数索引的INSERT速度提高了24%,CHAR(20)列的索引速度提高了60%。

CHECKSUM TABLE更快。

我们改进了字符集转换的性能(并且在不需要的时候删除转换)。整体速度提升是1-5%(根据sql-bench),但是对于所有字符在0x00-0x7f之间的大结果集可以更高。

MariaDB 5.1中的线程池,在MariaDB 5.5中更好。这使得MariaDB能够运行200,000多个连接,并在使用多个连接时显着提高速度。

在调试编译但未使用的情况下,对DBUG代码进行了一些改进,以使其执行速度更快。

我们使用Aria存储引擎可以实现更快速的复杂查询(通常使用基于磁盘的临时表的查询)。 Aria存储引擎用于内部临时表,在进行复杂选择时应该提高速度。与MyISAM相比,Aria对于临时表通常更快,因为Aria将行数据缓存在内存中,通常不必将临时行写入磁盘。

测试套件已经扩展,现在运行速度比以前快了,尽管它测试了更多的东西。

MariaDB-扩展&新特性

我们为MariaDB添加了很多新特性,假如一个补丁或特性是涉及可用性、安全与稳定性——我们会积极地将其添加到MariaDB中。特别值得一提如下:

  • MariaDB中的微秒 - 5.3中的新增功能
  • 流程列表中的微秒级精度
  • 表消除
  • 虚拟列 - 5.2中的新功能
  • 扩展用户统计 - 5.2中的新功能
  • MyISAM的分段密钥缓存 - 5.2中的新功能
  • 杀死一个用户的所有查询 - 新的5.3
  • 可插入的身份验证 - 5.2中的新功能
  • 特定于存储引擎的CREATE TABLE - 5.2中的新功能
  • 信息SCHEMA.PLUGINS表的增强 - 5.2中的新增功能
  • 组提交二进制日志。这使复制速度更快! - 在5.3新
  • 添加--rewrite-db mysqlbinlog选项来更改使用的数据库 - 新的在5.2
  • ALTER TABLE和LOAD DATA INFILE的进度报告。 - 在5.3新
  • 更快的连接和子查询。 - 在5.3新
  • HandlerSocket和更快的HANDLER调用。 - 在5.3新
  • 动态列支持。 - 在5.3新
  • GIS功能 - 5.3中的新功能
  • 多源复制。 - 在10.0新

SHOW EXPLAIN给出了在另一个线程中运行查询的EXPLAIN计划。 - 在10.0新

有关完整列表,请参阅每个版本的功能

MariaDB-更充分的测试

  • 测试套件中有更多的测试。
  • 错误在测试中修复。
  • 测试使用不同的配置选项构建,以获得更好的功能测试。
  • 删除无效的测试。 (例如,如果该特征不在测试版本中,则不要测试特征“X”)

MariaDB-更少的警告与缺陷

  • 错误是不好的。 修复尽可能多的错误,尽量不要引入新的错误。
  • 编译器警告也不好。 消除尽可能多的编译器警告。

MariaDB-真正开源

MariaDB中的所有代码都是在GPL,LPGL或BSD下发布的。 MariaDB没有像在MySQL企业版中可以找到的闭源模块。 事实上,MySQL 5.5企业版中的所有封闭源代码功能都可以在MariaDB开源版本中找到。

MariaDB包含所有已修复错误的测试用例。 Oracle不提供MySQL 5.5中修复的新bug的测试用例。

所有的错误和发展计划是公开的。

MariaDB是真正开源的社区开发的。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《MariaDB与MySQL——特性比较》
文章链接:https://www.vvso.cn/xlbk/16154.html
分享到: 更多 (0)

热门文章

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册