首页 > 数据库 > MySQL > 正文

详谈MySQL和MariaDB区别与性能全面对比

2024-07-24 12:54:31
字体:
来源:转载
供稿:网友

MariaDB数据库介绍

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。

MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。

MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL5.5中了解到MariaDB的所有功能。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。

在存储引擎方面,10.0.9版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。

这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下工作。

在此基础上,由于担心甲骨文MySQL的一个更加封闭的软件项目,Fedora的计划在Fedora 19中的以MariaDB取代MySQL

MariaDB和MySQL全面对比

谁在使用MySQL和MariaDB?

MySQL和MariaDB都发布了各自的用户名单。

使用MySQL的有Facebook、Github、YouTube、Twitter、PayPal、诺基亚、Spotify、Netflix等。

使用MariaDB的有Redhat、DBS、Suse、Ubuntu、1&1、Ingenico等。

MariaDB和MySQL功能比较

有一些令人兴奋的新功能(如窗口函数、角色控制或公共表表达式(CTE))可能值得一提,但本文只是为了比较两个数据库,所以我们在这里只讨论其中一方专门提供的功能,以便更好地帮助读者选择合适自己的数据库。

让我们来看一下只有其中一个数据库专门提供的功能:

1. JSON数据类型

从5.7版本开始,MySQL支持由RFC 7159定义的原生JSON数据类型,可以高效地访问JSON文档中的数据。

MariaDB没有提供这一增强功能,认为JSON数据类型不是SQL标准的一部分。但为了支持从MySQL复制数据,MariaDB为JSON定义了一个别名,实际上就是一个LONGTEXT列。MariaDB声称两者之间没有显著的性能差异,但他们并没有提供基准测试数据来支持这个说法。

值得注意的是,MySQL和MariaDB都提供了一些JSON相关函数,用于更方便地访问、解析和检索JSON数据。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表