1995年,Michael“Monty” Widenius (业界通常称呼他“Monty”)和 David Axmark一起编写了MySQL数据库,并用大女儿的名字“My”来命名。
MySQL和Linux、Apache、PHP一起被称为“LAMP”开源软件四大天王, Monty被尊称为 “MySQL之父”。
2008年1月, Sun公司以10亿美元的价格收购了MySQL背后的商业公司MySQL AB公司。2009年,Sun公司又被Oracle以74亿美元收购了。
拥有全球最大数据库的Oracle随后大幅抬高了MySQL的商业版价格,全球使用MySQL免费版本的开发者对MySQL的未来忧心忡忡。
2009年2月,Monty离开Sun公司,在MySQL代码库的一个分支上开发出了一款开源数据库MariaDB,以他最小的女儿的名字Maria命名。
2022年2月,MariaDB通过SPAC的方式——海外借壳上市的一种方式,与特殊目的收购企业 Angel Pond Holdings 合并,终于在2月19日在纽约证券交易所公开上市,公司更名为 MariaDB plc,股票代码为“MRDB”。
在本文发布时,MariaDB总市值仅为3.80亿美元,距离其估值高峰6.8亿美元相去甚远。

图片来自MariaDB官网
至此,Monty亲手打造的两大开源数据库产品MySQL与MariaDB在27年后处在于同一个起跑线上,未来的竞争不仅仅是两大开源数据产品、开源社区与生态的竞争,更是两大数据库背后商业公司的同场竞技。

大女儿“MySQL”,小女儿“MariaDB”

“热爱”,是贯穿于 Monty过往40年编程人生的关键词。Monty的心血铸造了两大开源数据库产品。
出生于1962年芬兰赫尔辛基的Monty在1995年和David Axmark一起编写了MySQL数据库,并用大女儿的名字“My”来命名。
虽然MySQL数据库是开源的,但是MySQL从一开始就考虑到了商务化,成立了MySQL AB公司,之后Monty被尊称为 “MySQL 之父”。
2008年1月,Sun收购了MySQL AB。一年后,甲骨文收购了Sun,把MySQL也收归麾下。此后,甲骨文旗下拥有了两大品牌的数据库产品,一是Oracle,一是MySQL,并长期霸占数据库行业前两位。

图片来源:DB-engines
MySQL是当时主流的开源软件架构,但其被Oracle收购带来了两方面的风险:一是Oracle将控制MySQL的竞争力,防止MySQL对其超越的可能性;二是Oracle会随时修改MySQL的开源协议,对使用条款设置门槛,导致在MySQL成为一个相对封闭的开源架构。
Monty也不看好MySQL 被收购后的前途,还曾请求MySQL的用户们游说欧盟运行委员会阻止甲骨文收购Sun,号称“拯救 MySQL”请愿行动。但行动最终以失败告终。
2009年2月,Monty宣布离开Sun公司,在MySQL代码库的一个分支上开发出了一款数据库MariaDB,以他最小的女儿的名字命名。同时,Monty创办了Monty Program AB的商业化公司,成立了MariaDB 基金会,致力于推广、维护和发展MariaDB代码库、社群和生态系统。
而MariaDB也没有让Monty失望,DB-engines “最流行数据库”排行榜上,MariaDB的最新排名是第13位。
在接受InfoQ采访时,Monty说,是热爱让他在上个世纪创造出了MySQL这款数据库领域的“活化石”,又在本世纪继续缔造全球知名的数据库产品MariaDB;也是因为热爱,让他在40年的编程生涯里始终保持热情:他从学生时代开始坚持编程,一周工作60个小时,且“永远不会停止写代码”。

专注于MariaDB数据库的商业化,MariaDB plc成功上市

不过,无论开源还是闭源,实现商业化运营才能长久发展。近年来,开源软件产品背后的商业公司纷纷成功IPO,创造了一个个造福神话。
仅2021年,Confluent、GitLab和HashiCorp等基于开源的商业化软件公司就陆续成功上市,为开源软件赢得大量资金,也为开源软件产品基金会贡献更多的资源。
如今MariaDB的上市再一次证明了这一点。在2014 年,MariaDB的商标权从MariaDB基金会转移到商业化公司。目前,MariaDB公司已经完成与Angel Pond Holdings Corporation的业务合并,合并后的公司已更名为MariaDB plc,总部位于美国加利福尼亚州和爱尔兰都柏林。
“今天是激动人心的一天,标志着MariaDB的新篇章,也是云行业的一个重要里程碑!”MariaDB plc CEO Michael Howard说,“我们的客户越来越多地来找我们,正在努力解决超大规模提供商提供的可扩展性和可用性。MariaDB SkySQL提供了更好的性价比,同时通过多云产品将企业从供应商锁定中解放出来。”
MariaDB plc在2022财年结束时的年度经常性收入(ARR)超过5000万美元,在60多个国家拥有600多个客户。
MariaDB plc现在已经成为一家新一代云数据库公司,其产品被从最小公司到财富500强的企业使用,通过Linux发行版覆盖超过10亿用户,下载量超过10亿次。MariaDB的客户通过从旧数据库迁移,可节省高达90%的总数据库成本。
目前,目前,MariaDB plc拥有针对企业服务器端的Enterprise和基于云场景的SkySQL两大付费产品。
Enterprise将开源与企业功能相结合,增强了安全性和可靠性,并且强化了备份、集群构建以及审计的功能。
SkySQL以Kubernetes为基础,采用Xpand与 MaxScale技术,提供极大的扩展能力,确保数据库服务拥有更高的可用性,保持交易强一致性和ACID特性。
毫无疑问,MariaDB公司是MariaDB基金会的创始成员以及主要的代码贡献者。虽然MariaDB基金会和MariaDB公司是相互独立的实体,但在MariaDB Server的开发和采用方面有着共同的利益。
MariaDB基金会也重申了三重目标:
一是采用:由于MariaDB Server是一个通用的关系数据库,正在努力在越来越多的用例中被采用。
二是开放性:MariaDB Server不仅依赖于开源许可证(GPLv2),还依赖于开放开发模型,致力于保持代码库对贡献的开放性。
三是连续性:凭借大量赞助商,确保在所有情况下实现上述两个目标,无论单个赞助商如何变化。
“MariaDB基金会期待与其他赞助商——星展银行、IBM、微软、ServiceNow、阿里巴巴、腾讯、英特尔、Acronis、SIT等进一步密切合作。”

数据库征程上,MariaDB与MySQL、Postgres谁主沉浮

现在,商业化的MariaDB已经加入关系型数据库的新征程,与MySQL、Postgres等竞争在所难免。

其一与 MySQL、Postgres、MongoDB 和 Oracle 兼容性至关重要。
MariaDB Server仍然保持与MySQL的高度兼容性,并且大多数使用MySQL的应用可与MariaDB无缝协作。由于MariaDB的目标与MySQL不同,并且MariaDB Server有许多新功能,因此不再使用较早的术语drop-in replacement。
MariaDB Server非常强调不破坏其用户的向后兼容性,就地升级支持从旧的MySQL版本升级到最新的MariaDB版本。
MariaDB Server提供了一种Oracle语法兼容模式,无需更改即可运行Oracle数据库应用程序。
MariaDB知识库包含有关从微软SQL Server迁移到MariaDB的部分。
与MariaDB相比,PostgreSQL最初是一个研究项目,专注于特性而不是性能和稳定性。MariaDB的前身MySQL遵循务实的方法,功能较少,但注重性能、稳定性和易用性。从那时起,两者之间的差异已经缩小,MariaDB专注于更全面地实现ANSI SQL标准,而PostgreSQL则专注于提高其性能。
其二与MySQL、PostgreSQL相比,正在壮大自己的优势。
MySQL是基于结构化查询语言(SQL)的开源关系数据库管理系统。目前它由甲骨文公司开发和管理,最初于1995年5月23日发布,广泛用于许多小型和大型工业应用,能够处理大量数据。
在Oracle收购MySQL之后,数据库的使用发生了一些问题,因此催生了MariaDB。MariaDB也是一个开源关系数据库管理系统,是广泛使用的MySQL数据库技术的兼容替代品。MariaDB具有大量新功能,在性能和面向用户方面比MySQL更好。
PostgreSQL是一个功能强大的开源对象关系数据库系统。由于其高稳定性,以低维护工作量提供良好的性能。PostgreSQL是第一个实现多版本并发控制(MVCC)功能的数据库系统。
由于 MariaDB 源自于MySQL,和MySQL 在绝大多数方面都是兼容的,之前用 MySQL 的用户几乎无需做任何改动就可以直接使用 MariaDB,其新版本的开发速度也很快,早已超过了 Oracle公司官方的MySQL。
加之MariaDB 的中立性,它也被视作是MySQL的一个开源替代方案——Red Hat等众多 Linux发行版抛弃MySQL,转投MariaDB 阵营。
MariaDB与MySQL比较
NO | MySQL | MariaDB |
1 | 用C和C++语言编写的 | 用C,C++,Perl和Bash语言编写的 |
2 | 最初于1995 年发布 | 最初于2009 年发布 |
3 | 与MariaDB相比,MySQL的性能并不是那么好 | MariaDB的性能远远优于MySQL |
4 | 不提供MariaDB的替代品 | 提供了MySQL的直接替代品 |
5 | 数据屏蔽是在 MySQL 中完成的 | 没有数据屏蔽 |
6 | 专有代码可在MySQL企业版中访问 | 专有代码在MariaDB中无法访问 |
7 | 不支持二进制日志或临时表空间 | 支持临时表空间和二进制加密 |
8 | 不能轻易处理大型数据 | 可以轻松处理大型数据。 |
9 | MySQL中的权限检查不是那么快 | 权限检查在MariaDB中完成得更快。 |
10 | MySQL有1600个分叉 | MariaDB 有 868 个分叉 |
11 | Airbnb、Pinterest、Slack、Udemy、Twitter等著名公司使用 | 纽约市立大学、埃森哲、Docplanner、Grooveshark、诺斯罗普格鲁曼公司等著名公司使用 |
12 | 服务器操作系统是FreeBSD、Linux、OS X、Solaris、Windows,即MySQL支持OS X | 服务器操作系统是FreeBSD、Linux、Solaris、Windows,MariaDB中不支持OS X |
MariaDB与PostgreSQL比较
NO. | MariaDB | PostgreSQL |
1 | 由MariaDB Corporation 和MariaDB基金会于2009年开发 | 由PostgreSQL全球开发集团于1989年开发 |
2 | 与MySQL应用兼容的开源RDBMS,具有高可用性、安全性、互操作性和性能功能 | 被广泛使用的开源RDBMS |
3 | 用C和C++语言编写 | 用C语言编写 |
4 | 主要数据库模型是关系型 DBMS | 主要数据库模型也是关系型DBMS |
5 | 有两个辅助数据库模型——文档存储和图形DBMS | 文档存储作为辅助的数据库模型 |
6 | 支持的服务器操作系统是FreeBSD、Linux、Solaris和Windows | 支持的服务器操作系统是FreeBSD、HP-UX、Linux、NetBSD、OpenBSD、OS X、Solaris、Unix和Windows |
7 | 支持服务器端脚本 | 具有服务器端脚本的用户定义函数 |
8 | 支持的分区方法是 – 水平分区、使用 Spider 存储引擎和 Galera 集群进行分片 | 在PostgreSQL中,分区可以按范围、列表和哈希来完成 |
9 | 支持两种复制方法 – 主-主复制和主从复制 | 仅支持一种复制方法 – 主-主复制 |
10 | 支持内存中功能 | 不支持内存中功能 |
其三,对于MongoD用户,可能会对MariaDB的JSON功能感兴趣。
MariaDB有大量的JSON函数,用于处理非结构化数据;JSON数据类型、LONGTEXT的别名、带有约束以确保它是有效的JSON;CONNECT存储引擎有一个JSON表类型,包括处理JSON数据的强大功能。
另外今年8月,MariaDB收购地理空间解决方案的领导者CubeWerx。通过此次收购,MariaDB增加了云原生、可扩展的地理空间功能,并通过完全托管的云服务MariaDB SkySQL为最终用户量身定制新产品或服务。
CubeWerx按层管理数据,以实现极致的规模和高性能,使用MariaDB来管理常用的矢量数据(如地理位置)和智能缓存,同时依靠无限的云存储来存储往往大量的光栅数据(如卫星图像)。
虽然新上市的MariaDB没有创造开源软件融资和市值等新纪录,但是就像数据库软件需要更长时间的积淀一样,MariaDB数据库的魅力不可阻挡,未来更看重的应该是其长期投资价值。

参考资料
·https://www.geeksforgeeks.org/difference-between-mysql-and-mariadb/?ref=lbp
·https://mariadb.org/congratulations-mrdb-mariadb-plc/
·https://www.geeksforgeeks.org/difference-between-mariadb-and-postgresql/?ref=rp
·https://baijiahao.baidu.com/s?id=1747087598122201056&wfr=spider&for=pc
END

大数据应用,从现在开始





