【MariaDB】MariaDB vs MySQL - 特性

本文详细对比了MariaDB与MySQL在存储引擎支持、性能优化、复制速度提升、速度与安全增强等方面的特点,展示了MariaDB在MariaDB-10.0版本中新增的特性,如微秒精度、查询优化、更快的复制速度等功能,并介绍了MariaDB的开源特性、测试套件改进以及与其他技术的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:https://mariadb.com/kb/en/mariadb-vs-mysql-features/

xiaomo译------

支持更多的存储引擎

除了标配的MyISAM,BLACKHOLE,CSV,MEMORY, andARCHIVE等, 以下的存储引擎也包含在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. 最显著的新特性如下:

可以参考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的测试用例.
  • 所有的bugsdevelopment plans都是公开的.
  • 秉承真正开源的精神理念,MariaDB由社区持续开发维护.

相关链接

参考Compatiblity between MariaDB and MySQL


### 回答1: 这个错误提示表明你在安装软件时遇到了库依赖冲突的问题,可能是因为你同时安装了不同版本的软件包或者库。这种情况下,你需要检查一下你的系统中已经安装的软件包和库的版本,然后尝试解决冲突。 具体来说,你需要先卸载掉 mariadb-libs 和 mysql-community-libs-compat 这两个软件包,再重新安装 mariadb-libs,这样就可以解决冲突问题了。 你可以按照以下步骤操作: 1. 卸载 mariadb-libs 和 mysql-community-libs-compat: ``` sudo yum remove mariadb-libs mysql-community-libs-compat ``` 2. 安装 mariadb-libs: ``` sudo yum install mariadb-libs ``` 如果你还遇到其他依赖问题,可以根据提示信息继续解决。 ### 回答2: 这个错误显示在更新或安装软件包时出现了依赖检测失败的情况。具体来说,错误提示是"mariadb-libs"被"mysql-community-libs-5.7.42-1.el7.x86_64"取代,"mariadb-libs"也被"mysql-community-libs-compat-5.7.42-1.el7.x86_64"取代。 造成这个错误的原因可能是系统中已经安装了较新版本的"mysql-community-libs"和"mysql-community-libs-compat"软件包,而安装的软件包需要较旧版本的"mariadb-libs"。这可能是因为软件包版本兼容性的问题。 要解决这个错误,有几个可能的方法可以尝试: 1. 删除已经安装的"mysql-community-libs"和"mysql-community-libs-compat"软件包,然后重新安装需要的"mariadb-libs"软件包。 2. 更新安装的软件包到与要求的版本兼容的最新版本。这可能需要从官方软件源或其他可靠的软件源重新安装软件包,确保选择正确的版本。 3. 在安装或更新软件包时,使用命令中的参数来覆盖依赖检测,强制安装或更新软件包,尽管存在兼容性问题。这种方法可能会导致其他问题,因此需要谨慎使用。 在处理依赖检测失败的问题时,重要的是要确保所安装的软件包版本兼容,并且从可靠的来源获取软件包。 ### 回答3: 依赖检测失败是指在安装某个软件包时,系统无法满足该软件包的依赖关系,导致安装失败。在这个错误中,mariadb-libs 被 mysql-community-libs-5.7.42-1.el7.x86_64 替代了,而 mariadb-libs 还被 mysql-community-libs-compat-5.7.42-1.el7.x86_64 替代了。 这个错误可能是由于系统中已经安装了类似的软件包,而且版本不兼容所造成的。mariadb-libs 和 mysql-community-libs 是两个不同的软件包,可能在功能上有一些相似之处,但版本不同,因此无法替代对方。同样,mariadb-libs 和 mysql-community-libs-compat 也是不同的软件包,具有不同的版本和功能。 要解决这个错误,可以尝试以下几种方法: 1. 卸载已安装的不兼容软件包:使用包管理器(如yum)将已安装的不兼容软件包进行卸载,然后重新安装所需的软件包。 2. 更新软件源:更新系统的软件源,使用最新的软件源可以确保安装的软件包能够满足依赖关系。 3. 更改安装源:将软件包的安装源更改为兼容的版本,以便能够满足依赖关系。 4. 手动安装依赖软件包:如果以上方法都无法解决问题,可以尝试手动下载并安装依赖的软件包,以满足安装需求。 总之,依赖检测失败是由于软件包的依赖关系无法满足而导致的安装失败,需要通过卸载或更换软件包来解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值