热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MariaDB对MySQL的影响

新项目由Michael“Monty”Widenius定名并领导,这位MySQL项目的原始开发者兼MySQL公司联合创始人放弃甲骨文的招揽,从零开始重新奋斗。在离开Sun公司之后,他在自己的故乡荷兰成立了一家公司——也就是MontyProgramAB——借以管理MariaDB项目的开发工作,

  新项目由Michael “Monty” Widenius定名并领导,这位MySQL项目的原始开发者兼MySQL公司联合创始人放弃甲骨文的招揽,从零开始重新奋斗。在离开Sun公司之后,他在自己的故乡荷兰成立了一家公司——也就是Monty Program AB——借以管理MariaDB项目的开发工作,同时向广大MySQL技术达人敞开怀抱。不久之后,Monty Progam公司就拥有了一个实力强劲的开发团队。

  也许大家并不了解,但他们的确一直在废寝忘食地工作。由于甲骨文公司在全面收购Sun资产后对MySQL的开发工作表现出极高热情,导致MariaDB感受到了前所未有的竞争压力。然而优秀的人才在对抗当中力挽狂澜,帮助MariaDB站稳了脚跟。在一份由Network World网站公布的六大开源数据库评测报告中(包括MySQL),我们发现MariaDB赫然成为人气最高的数据库方案。Monty告诉我,MariaDB与MySQL相比拥有约三十人工作年的研发优势,而Monty Program公司也对自家产品的领先性表示认同——尤其是在安全性修复方面。

快速修正是关键

  Monty告诉我们,MariaDB开发团队一直在与mitre.org通力合作,希望保障一切安全问题都能被快速发展、上报且拥有完备的细节描述。由于甲骨文公司不再公布安全修复细节,MariaDB团队通常需要对来自MySQL的补丁程序进行逆向工程,借以找出其修复对象。搞清状况之后,这些补丁将被合并起来并为MariaDB提供服务。Monty表示“MariaDB可以被看作是安全性最高的MySQL版本”——这一声明相当大胆。

  尽管MariaDB与MySQL两者在新版本公布之前,其安全漏洞的修复细节一般都要受到严格保密,但最近的一次事件令双方在安全应对机制与响应速度上的差异显露无遗。问题甫一曝光,MariaDB就行动起来并在几天之内就利用开放并记录开源补丁完成了修复工作;相比之下,MySQL直接现在(截稿之日)仍然没能搞定这些安全漏洞。

  这已经不算什么新鲜事了。甲骨文公司一直在对企业资源优先参与并处理MySQL社区事务的做法抱怨不已,结果当然显而易见:裁撤相关流程转投其它开发项目并延缓修复安全漏洞,而这一切都令项目组与MySQL生态系统间的交流日益恶化。我曾与MySQL与MariaDB双方的外部生态系统合作伙伴进行过对话,而他们都对甲骨文公司的强硬作风表示无奈。

  面临如此窘境,上周传出的新闻无疑可算大大的利好消息:MariaDB基金会正式成立,MySQL开源社区也将有望自此步入新的发展阶段。MariaDB——从侧面来看也就是MySQL——终于拥有了专门的机构体系,该基金会的出现将一举扭转发展控制一家掌握的被动现状。

生态系统受到影响

  这对MySQL的生态系统又意味着什么?首先,MySQL将借打包与整合之力获得提升。很明显,像MariaDB这样的开放式项目在使用便捷性上要远超过某家企业针对自身业务所打造的数据库方案。在未来,我们很可能看到被囊括在Linux发行版中的MariaDB,同样也可能在LAMP部署中发现它的身影(而且在用MariaDB代替传统MySQL之后,我们仍然可以沿用‘M’这个字母)。

  其次,创新的可能性也将大大增加。某位开发人士曾告诉我,MariaDB身上具备一些极具吸引力的发展潜力——支持OLTP、OLAP、以数据为中心的专业处理方案以及高度可扩展的多控制集群。这种多元化的发展方向意味着项目需要接纳来自各个方面的信息与意见,而基金会的成立为开发者提供了一套透明的管理平台,其向所有人开放的基础特性对于整个项目的走向有着非常深远的积极意义。

  第三,有效改善项目竞争力。MariaDB最近刚刚公布了一套兼容性极高的客户端库,完全利用LGPL从零开始重新编写、借以替代MySQL及其衍生版本原先所使用的GPL——现在MariaDB与MySQL双方都将由此而受益。正如社区成员Arjen Lenz在评论中所说,这一点对于双重许可问题意义重大。现在商业用户们再也不必为了避免额外的GPL合规性管理需求而忍痛为MySQL购买专有许可了。

  将三个因素综合起来看,MariaDB绝对有机会在规模庞大且对手众多的MySQL市场中依靠独特魅力取得竞争优势。Monty告诉我们,MariaDB项目的代码贡献者中已经出现了许多企业巨头的身影,其中包括Facebook、谷歌、Twitter等,而且专为开发者们准备的IRC交流平台上经常有上百人在线。

  虽然形势见好,但也并非万事大吉。MySQL生态系统中有那么一部分似乎就完全没受到正面影响:Drizzle项目,其目的是通过重新设计一套更孝更具模块化特性的微内核实现云部署。该项目创始人Brian Aker在Twitter上明确表达了自己对于基金会的不屑一顾,并通过电子邮件宣称自己将保持观望态度。Drizzle项目已经拥有了自己的一套非GPL客户端库——虽然还未能实现完全兼容——而Aker认为MariaDB所使用的JDBC驱动(即Java数据库连接)从某种程度上来说源自Drizzle(其采用BSD许可,而MariaDB则采用LGPL)。

  在任何大型技术社区当中,意见分歧都是不可避免的,所以我们倒是无需对这种剑拔弩张的气氛太过在意。相信只要拥有良好的执行力,MariaDB基金会很可能为MySQL社区注入新的活动,并实现又一轮创新与业务增长。要达到这一目标并不简单,但项目中所蕴含的潜力同样极为可观。MySQL已经成为开源历史上的一块重要基石,而MariaDB很可能在未来的发展道路上成为又一座丰碑。


推荐阅读
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • 如何在Linux系统上部署MySQL 5.7.28
    本文详细介绍了在Linux系统上部署MySQL 5.7.28的具体步骤。通过官方下载页面获取最新安装包后,按照提供的指南进行配置和安装。文章内容实用性强,适合初学者和有经验的管理员参考。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了实现MySQL半同步架构相关的知识,希望对你有一定的参考价值。默认情况下,MySQL的复制功能是异步的, ... [详细]
  • 本章详细介绍SP框架中的数据操作方法,包括数据查找、记录查询、新增、删除、更新、计数及字段增减等核心功能。通过具体示例和详细解析,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 在关系型数据库中,数据约束是指在向数据表中插入数据时必须遵循的限制条件。在MySQL和MariaDB中,常见的数据约束包括主键约束、唯一键约束、外键约束以及非空约束等。这些约束确保了数据的完整性和一致性,是数据库管理中的重要组成部分。通过合理设置和使用这些约束,可以有效防止数据冗余和错误,提升数据库的可靠性和性能。 ... [详细]
  • 在2015年1月的MySQL内核报告中,我们详细探讨了性能优化和Group Commit机制的改进。尽管网上已有大量关于Group Commit的资料,本文将简要回顾其发展,并重点分析MySQL 5.6及之前版本中引入的二进制日志(Binlog)对性能的影响。此外,我们还将深入讨论最新的优化措施,如何通过改进Group Commit机制显著提升系统的整体性能和稳定性。 ... [详细]
  • 在重新安装Ubuntu并配置Django和PyCharm后,忘记测试MySQL连接,导致在后续配置过程中遇到错误:ERROR 2003 (HY000) - 无法连接到本地服务器 ‘127.0.0.1’ (111)。本文将详细介绍该错误的原因及解决步骤,帮助用户快速恢复MySQL服务的正常运行。我们将从检查网络配置、验证MySQL服务状态、配置防火墙规则等方面入手,提供全面的故障排除指南。 ... [详细]
  • MySQL 错误:用户 'root' 使用密码时访问被拒绝的原因及解决方法
    在配置CentOS 7上的MariaDB(MySQL)时,用户可能会遇到“1045 - Access denied for user 'root'@'localhost' (using password: YES)”的错误。这通常是由于密码设置不正确或权限配置问题导致的。本文将详细分析该错误的原因,并提供多种解决方法,包括重置root密码、检查配置文件和修复权限设置等。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
author-avatar
夜色的静逸
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有