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

MySQL与MariaDB的抉择

2013年2月Oracle发布了MySQL5.6正式版MySQL5.6.10,这距离上一版本5.5发布已经过去两年。当初MySQL创始人MontyWidenius处于对Oracle治下MySQL前途的担心而离去,自己创立了开源数据库MariaDB。当时的分析师就告诫Oracle的Larry,您应该把MySQL从游艇上扔
2013年2月Oracle发布了MySQL 5.6正式版MySQL 5.6.10,这距离上一版本5.5发布已经过去两年。当初MySQL创始人Monty Widenius处于对Oracle治下MySQL前途的担心而离去,自己创立了开源数据库MariaDB。
当时的分析师就告诫Oracle的Larry,您应该把MySQL从游艇上扔下去。

“MySQL是一个包袱,而不是资产,”金融研究机构Global Equities Research 的分析师Trip Chowdhry说。他认为考虑到欧盟的调查和MySQL这两年微不足道的收入增长,Oracle唯一明智的选择就是把它剥离。不过,剥离到哪里去呢?
“MySQL几乎不可能转化成实际的收入。它有98%以上的客户群都是DIY者,他们不认为应该花钱去购买任何支持。我们在Sun公司的联络人告诉我们,MySQL一直在解决收入问题,过去3年的收入实际可能都没有超过5000万美元,并且看不到任何收入增长,”
如果单从版本号上来说,MySQL 1.0诞生于1996年,而同一年就出现了MySQL 3.11.1(没有MySQL 2.x版本)。8年后的2004年10月,MySQL 4.1发布。2005年10月,里程碑式的MySQL 5.0发布了,而最近的一个版本MySQL 5.5发布于2010年4月。
从上面的进化历史来看,MySQL在Oracle的管理下还并没有死去。其免费开源的特性让大家还在大量使用MySQL支撑自己的业务。那我们去看看他的兄弟MariaDB。

MariaDB好在哪里?
MariaDB是一个采用Maria存储引擎的MySQL分支版本,相对于MySQL最新的版5.6来说,在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性。比如微秒的支持、线程池、子查询优化、组提交、进度报告等。



来自MariaDB官方博客的资料显示,为什么他们没有把MySQL 5.6 直接拿过来作为二次开发的基础,去做一个产品。
首先,MySQL5.6 的代码库的文件结构已经被改动了。比如单个代码文件已经被分成多个,又或者是某些代码已经被重新归类到了不同的文件内。
其次,MairaDB 5.5 已经有大量的代码不同于MySQL 5.5 的版本,而且也有很多的新的特征被整合到MariaDB 5.5 中,而这些特征直到5.6版本才出现在MySQL中。
也正是基于此,MariaDB 5.6这个名字将不会被使用,取而代之的是MariaDB 10.0。他们所做的工作不再是基于之前MySQL的技术功底,而是要逐渐脱离MySQL束缚,给广大用户提供功能更加强大的产品。
MariaDB的快速bug fix工作,也让开发者对其颇有好感,也算是MariaDB的立足之本。

总结
从技术人员的口中和微博里,我们了解到更多的人愿意投奔MariaDB的怀抱。一个理由是MariaDB能比MySQL提供更高的性能,另一个原因就是对Oracle统治MySQL的厌恶,开源软件的精神在MariaDB上显现得更明显。当然有技术人员表示现在让大家全面剥离MySQL投奔MariaDB,最大的难点在于部分MySQL组件无法被替代,尚需时日。


推荐阅读
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • Linux虚拟机中MySQL安装指南
    本文详细介绍了如何在Linux虚拟机上安装MySQL,包括解决常见问题的方法和步骤。 ... [详细]
  • 本文档详细介绍了2017年8月31日关于MySQL数据库备份与恢复的教学内容,包括MySQL日志功能、备份策略、备份工具及实战演练。 ... [详细]
  • 本文详细介绍了如何解决在使用本地SQlyog客户端尝试连接阿里云上的MariaDB数据库时遇到的2003错误,即无法连接到MySQL服务器的问题。 ... [详细]
  • Nagios可视化插件开发指南 —— 配置详解
    本文详细介绍了Nagios监控系统的配置过程,包括数据库的选择与安装、Nagios插件的安装及配置文件的解析。同时,针对常见的配置错误提供了具体的解决方法。 ... [详细]
  • 构建高性能Feed流系统的设计指南
    随着移动互联网的发展,Feed流系统成为了众多社交应用的核心组成部分。本文将深入探讨如何设计一个高效、稳定的Feed流系统,涵盖从基础架构到高级特性的各个方面。 ... [详细]
  • MySQL 8.0 新特性详解:免费视频教程上线
    本文介绍了一套在慕课网上发布的免费视频教程,深入解析 MySQL 8.0 的核心新功能,包括增强的安全性、用户管理、新的索引类型、CTE 和窗口函数等。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • Logging all MySQL queries into the Slow Log
    MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 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和MariaDB中,常见的数据约束包括主键约束、唯一键约束、外键约束以及非空约束等。这些约束确保了数据的完整性和一致性,是数据库管理中的重要组成部分。通过合理设置和使用这些约束,可以有效防止数据冗余和错误,提升数据库的可靠性和性能。 ... [详细]
  • 在2015年1月的MySQL内核报告中,我们详细探讨了性能优化和Group Commit机制的改进。尽管网上已有大量关于Group Commit的资料,本文将简要回顾其发展,并重点分析MySQL 5.6及之前版本中引入的二进制日志(Binlog)对性能的影响。此外,我们还将深入讨论最新的优化措施,如何通过改进Group Commit机制显著提升系统的整体性能和稳定性。 ... [详细]
author-avatar
arliejun
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有