数据库服务器-MariaDB
2010-08-11 17:00:54 阿炯

MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius (也就是 Monty),在离开 Sun Microsystem 之后,以 MySQL 为基础所开发的一套数据库。

此项目用Percona的XtraDB引擎和自行开发的Maria引擎替换掉了已被Oracle先后控制的 InnoDB和MyISAM引擎。MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。这个项目的更多的代码都改编于 MySQL 6.0,例如“pool of threads”功能提供解决多数据连接问题。

主要的差异在于內建了 Maria 与 PBXT 两个 engine,其他的都是细节部份,Maria storage engine  与 MyISAM 的差异,最主要的重点应该还是 Data 与 Index 都变成 crash-safe,所以比较容易配合 SAN 或是 DRBD了。与MySQL相比较,MariaDB更强的地方在于:
* Maria 存储引擎
* PBXT 存储引擎
* XtraDB 存储引擎
* FederatedX 存储引擎
* 更快的复制查询处理
* 线程池
* 更少的警告和bug
* 运行速度更快
* 更多的 Extensions (More index parts, new startup options etc)
* 更好的功能测试
* 数据表消除
* 慢查询日志的扩展统计
* 支持对 Unicode 的排序

MariaDB is a database server that offers drop-in replacement functionality for MySQL1. MariaDB is built by some of the original authors of MySQL, with assistance from the broader community of Free and open source software developers. In addition to the core functionality of MySQL, MariaDB offers a rich set of feature enhancements including alternate storage engines, server optimizations, and patches.

MariaDB is primarily driven by developers at Monty Program, a company founded by Michael "Monty" Widenius, the original author of MySQL, but this is not the whole story about MariaDB. On the "About MariaDB" page you will find more information about all participants in the MariaDB community, including storage engines XtraDB and PBXT.

MariaDB.com is hosted by the Open Database Alliance, a vendor-neutral consortium of open source database developers and solution providers. The Open Database Alliance ensures you will find products, support and services for MariaDB that are the very best the software industry has to offer.

MariaDB是著名MySQL关系数据库管理系统的一个分支,由社区开发,有商业支持,旨在继续保持在GNU GPL许可证下开源。其开发由原MySQL的原始开发者所领导,他们主要是担心Oracle收购MySQL后存在一些隐患。MariaDB保持与MySQL的高度兼容性,与MySQL API和指令精确匹配。MariaDB自带了一个新的存储引擎Aria,它试图替代MyISAM存储引擎,是默认的事务和非事务引擎。它最初使用了XtraDB作为默认存储引擎,但从10.2版本切换回了InnoDB。

MariaDB的首席开发人员是米卡埃尔·维德纽斯(Ulf Michael Widenius),他是MySQL AB的创始人之一,也是Monty Program AB的创始人。2008年1月16日,MySQL AB 宣布同意被Sun Microsystem以大约10亿美元的价格收购。该项收购案于2008年2月26日完成,这段时光可参见本站的《MySQL发展记事(202x)》。这两个数据库产品的命名来源都很有意思,其中MariaDB是以Monty的小女儿所Maria命名,而MySQL是以他的另一个女儿My所命名。


MariaDB创始人 米卡埃尔·维德纽斯

米卡埃尔·维德纽斯在1962年3月3日出生于赫尔辛基,为芬兰瑞典族。他从赫尔辛基理工大学中途辍学,于1981年开始为Tapio Laakso Oy工作。1985年,维德纽斯与艾伦·拉尔森(Allan Larsson)一起在瑞典创办一间名叫TCX DataKonsult AB的数据库公司。1995年,他开始与大卫·阿克马克(David Axmark)一同编写MySQL数据库的第一个版本,并于第二年公开发布。

2003年,维德纽斯获颁芬兰软件年度创业家奖。在被Sun收购前,他一直都是MySQL AB的首席技术官,同时也是MySQL开发的主要推动者之一。MySQL AB在2008年的资本收益约为1660万欧元,使他在那年成为芬兰十大最高收入者之一。2009年2月5日,维德纽斯宣布离开Sun,再度创办自己的公司。

2009年12月12日,维德纽斯要求MySQL客户游说欧盟执行委员会(EC)展开关于甲骨文收购Sun的辩论,原因是其担心Oracle会独揽MySQL,并共同发起了一个名叫“拯救MySQL”的请愿活动。离开Sun之后,维德纽斯正式创立Monty Program AB,并开发出MySQL的分支——以其小女儿玛莉亚(Maria)命名的MariaDB。它同时也包含数个由公司自己和开源社区开发的补丁与插件,其中包括亚莉亚(Aria)数据库引擎。

Monty Program AB接着与SkySQL合并,后来改名为MariaDB公司(MariaDB Corporation)。维德纽斯还担任了MariaDB基金会的首席技术官,该基金会是一个负责推广、维护和发展MariaDB代码库、社群和生态系统的组织。MariaDB 公司为使用该数据库的组织为客户提供商业服务和支持。包括美国国防部、RedHat、三星、ServiceNow 和德意志银行等是依赖 MariaDB 的几个主要机构。

MariaDB 成立创新实验室,研究机器学习和分布式计算

开源数据库 MariaDB 在2018年3月宣布正在成立一个旨在解决数据库领域最紧迫问题的研究部门——创新实验室,实验室将重点关注三个关键领域:机器学习、分布式计算以及新芯片的使用和开发,以及持久性存储和内存中处理。据悉在机器学习方面,实验室将负责研究如何使用有监督和无监督技术来促进更好的自动化,包括在云中运行数据库时的自我配置和自我优化。其次,研究将着眼于分布式计算,特别是在网络规模,地理分布式部署方面的改进。此外,实验室将着眼于开发下一代芯片,存储器和存储,以重新思考数据库运行的底层基础架构。

MariaDB 是来自 MySQL 的分叉,MySQL 数据库的创建者 Monty Widenius 看到了开源数据库的未来。随后,甲骨文宣布收购 Sun,并以此获得 MySQL 的授权。Monty 并不确定 Oracle 是否是 MySQL 可靠的所有者,因为开源数据库对 Oracle 商业产品的造成了巨大威胁。当然,选择 MariaDB 作为开源数据库,对于很多人来说是一种福利。MariaDB 很快成为数据库管理系统领域的重要成员,几个大的 Linux 发行版把 MariaDB 作为它们的默认 DBMS。

现在开源 RDBMS 的市场上出现了非常有趣的情况,出现了 PostgreSQL 这个第三大玩家。PostgreSQL 始终拥有一波狂热的追随者,毕竟PostgreSQL是 2017 年最受欢迎的数据库管理系统。作为 MySQL 的管理员,Oracle 担心的更多。猜测一下,没有 MariaDB 和 PostgreSQL 施压 MySQL 会如何发展。但是事实是,MySQL 在实现 SQL 标准方面总是落后于其他人,而 MariaDB 和 PostgreSQL 在这方面就做的很好。Oracle 肯定会投入更多努力赶上,MySQL 也趋向于越来越多地包含 NoSQL 系统通常提供的功能,例如支持 JSON 数据类型。

MariaDB 最初专注于增强现有 MySQL 的功能,例如其 Aria 存储引擎旨在成为改进的 MyISAM 实现。但是很快 MySQL 现有功能,并提供了 MySQL 中未有的功能。最近,MariaDB 通过开发新组件或者通过获取 DBMS 技术并将其合并到系统中来扩大其范围。例如,MariaDB ColumnStore,最初是 InfiniDB,TokuDB 高性能存储引擎,用于支持树结构和图形的 Open Query GRAPH 计算引擎,用于启用高级文本搜索的 Sphinx 存储引擎,以及用于增强分布式支持的 Spider 存储引擎数据库。所以,MariaDB 不能再被认为是 MySQL 的直接替代品。

从长远来看,这种不断增长的不兼容性并不是坏事。毕竟,在系统之间的激烈竞争中受益的是开发人员。DB-Engines 排名表明,MariaDB 已经将自己与 MySQL 和 PostgreSQL 一起建立为三大开源 RDBMS 系统之一。如果看到 MariaDB 的受欢迎程度继续增长,就不足为奇了。

MariaDB发展记事(202x)

最新版本:10.0
此版本值得关注的改进如下:
The innodb_stats_traditional system variable enables a larger sample of pages for larger tables for the purposes of index statistics calculation.
InnoDB 升级到 5.6.22
XtraDB 升级到 5.6.22-71.0
TokuDB 升级到 7.5.4
更新 CONNECT 处理器 (支持 JSON table type)
修复一系列的安全漏洞:完整改进内容请看更新日志

最新版本:11.0
11.2 是 MariaDB 的一个短期开发系列,并将在其发布后维护一年。它是 MariaDB 11.1 的进化版,于2023年6月下旬发布,具有一些全新的如下功能:
InnoDB 系统表空间现在可以被收缩了。
JSON_TABLE 现在允许在迭代 JSON 对象时检索键,新的函数 JSON_OBJECT_FILTER_KEYS、JSON_OBJECT_TO_ARRAY 和 JSON_ARRAY_INTERSECT ,可以检查 JSON 交集。
确保所有 binlog 变量作为系统变量可见,增强 ALTER TABLE IMPORT
用于获取临时表信息的 information_schema 表丢失了
删除废弃的 old_alter_table 变量
扩展 AES_ENCRYPT () 和 AES_DECRYPT () 以支持初始化向量和算法


官方主页:http://mariadb.org/

该文章最后由 阿炯 于 2024-09-19 11:07:44 更新,目前是第 6 版。