MySQL再度失势:继维基百科之后,Google也迁移到了MariaDB
尽管被Oracle捕获后,MySQL上的争议就从未停止;但时至今日,MySQL仍是最具人气的开源数据库: 简单、免费、扩展性、相对成熟等一直都是MySQL的吸引所在,然而随着自身脚步的放缓、各个竞争对手的追赶, 这些杀手级特性已不在有吸力(甚至沦为弱势)。虽然Po
尽管被Oracle捕获后,MySQL上的争议就从未停止;但时至今日,MySQL仍是最具人气的开源数据库:
简单、免费、扩展性、相对成熟等一直都是MySQL的吸引所在,然而随着自身脚步的放缓、各个竞争对手的追赶, 这些杀手级特性已不在有吸力(甚至沦为弱势)。虽然PostgreSQL一直被当作MySQL的直接竞争对手,然而真正给予其致命一击的似乎更像是MariaDB,这个由MySQL旧部所开发的产品。
那些年被重量级用户抛弃的MySQL
MySQL在各大Linux发行版中的失势
由于不满MySQL被Oracle收购后的日渐封闭与缓慢的更新,众多Linux发行版逐渐抛弃了这个人气开源数据库,而转向了MariaDB,其中包括:
- Fedora Project:2013年元月,Fedora Project开始征集用户使用MariaDB的意向。而在夏季的 Fedora 19 中,Fedora Project已经换用 MariaDB成为依赖软件的默认选择。
- Slackware Linux:2013年3月23日,最古老的Linux发行版Slackware Linux也宣布使用MariaDB替代MySQL,因为MariaDB社区更有活力也更愿意和开源社区合作。
- Arch Linux:2013年3月25日,Arch Linux发出公告使用MariaDB代替MySQL,并于1个月内完成转换,由于多种原因,更新需手动执行。
- Red Hat:2013年6月,Red Hat宣布企业版发行版RHEL 7将用MariaDB替代MySQL。而在今年早些时候,Red Hat的社区发行版 Fedora已宣布从MySQL 切换到MariaDB。
以上是一些不完全的统计(比如还有 openSUSE等等),同时我们也相信,随着MariaDB得到更多的认可,类似的更替将出现在更多的Linux发行版中。
MySQL在重量级公司中的失势
- Apple:在2011年Sun被Oracle收购不久后,Apple就抛弃了MySQL。当然,他们选择的是PostgreSQL,这里不得不佩服一下Apple高层的远见。
- Wikipedia:在2012年底,Wikipedia曾公布了一个测试:英文维基的一个从(slave)数据库从MySQL5.1 + Facebook补丁集迁移到了MariaDB 5.5.28。通过全面测试发现,MariaDB的查询效率提升了3%-15%,平均提升了8%,期间并没有任何异常发生;以qp为单位,吞吐量提升了2%-10%。而时隔将近半年,Wikipedia已正式完成迁移。
互联网巨头Google的倒戈
作为最具人气开源数据库,MySQL绝非浪得虚名——除了Apple之外,Google、Facebook、Twitter也大量使用了MySQL,纷纷发布了自己的MySQL分支/补丁集,并为不少公司所采用。然而据国外媒体Theregister了解到,搜索巨头谷歌正在致力于MySQL到MariaDB的迁移,远离这个Oracle支持下的开源数据库:
消息来自11日斯坦福的Extremely Large Databases会议上,在Google指派了一个工程师去MariaDB基金会的一星期后。虽然消息并非Google官方发布,但是却是基于Google高级系统工程师 Jeremy Cole对MySQL生态系统现状的展示。
据悉,为了让MariaDB更有效,Google正在致力于对它的升级和修补——用以迁移Google上万的MySQL实例。Cole说道:
当下主要运行的MySQL 5.1版本已经不能匹配公司的脚步,因此我们转移到了MariaDB 10.1。
根据SkySQL (MariaDB合并后的公司名,大部分员工由MySQL旧部组成,点击查看详情)Patrik Sallner还透露,在年初Google已经开始与MariaDB基金会达成协作:
他们将先前许多运行在MySQL上的数据库迁移至了MariaDB,我们已经与他们达成合作来致力特性的开发,帮助完成这项迁移。对于我们来说,这是个非常好的借鉴。
Cole还透露,迁移将涉及到上万台的MySQL服务器,当下两个公司正在致力MariaDB可靠性及特性的研发。
同时,Google会将所有MySQL服务器转换成MariaDB。不管Oracle动机与否,通过这项举措,Google将完全消除对其技术的依赖。自MySQL 4.0版本以来,这个开源数据库(经大量修改)就在Google大量使用,最近使用的版本是5.1。据Cole了解到,MariaDB 10.0大致相当于MySQL 5.6版本,因此工作量并不是很大。在被问到为什么会选择MariaDB作为MySQL替代,Cole如此解释:
在我看来,除下个别特性及实现方法,两个数据库有着太多相同的特性。但是在理念上,它们却存在着众多的不同。我很希望看到MySQL能有一个单独的社区,然而在Oracle的统治下显然并不可能,而MariaDB的未来则存在太多的可能。
Google大范围的MariaDB可能会从Chocolate Factory尝试开始,用以减少开发者对MySQL的依赖,同样也是对Oracle开源数据库生态系统影响力的削弱。
写在最后
基于Google在开发者心目中的地位,这一举措对MySQL的影响可想而知。虽然我们无法理解Oracle当初间接收购MySQL的动机所在,但是却可以断定当下的局面绝对不是这个数据库巨头想看到的。在未来,MySQL的地位可能会受到更多数据库管理系统的威胁,然而当下给予其“致命一击”的显然当属MariaDB!(审校/王鹏)
9月23-25日,北京,重要安全大会——
2013中国互联网安全大会。由CNCERT/CC指导,网络安全应急技术国家工程实验室、灾备技术国家工程实验室、OWASP、Gartner、SyScan等深度参与。特别精选“软件安全论坛”和“云计算安全论坛”,为CSDN的用户预留部分名额。数量Very有限,速
报名!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL 数据库中,用户和数据库的关系通过权限和表定义。用户拥有用户名和密码,用于访问数据库。权限通过 GRANT 命令授予,而表由 CREATE TABLE 命令创建。要建立用户和数据库之间的关系,需创建数据库、创建用户,然后授予权限。

数据集成简化:AmazonRDSMySQL与Redshift的零ETL集成高效的数据集成是数据驱动型组织的核心。传统的ETL(提取、转换、加载)流程复杂且耗时,尤其是在将数据库(例如AmazonRDSMySQL)与数据仓库(例如Redshift)集成时。然而,AWS提供的零ETL集成方案彻底改变了这一现状,为从RDSMySQL到Redshift的数据迁移提供了简化、近乎实时的解决方案。本文将深入探讨RDSMySQL零ETL与Redshift集成,阐述其工作原理以及为数据工程师和开发者带来的优势。

要填写 MySQL 用户名和密码,请:1. 确定用户名和密码;2. 连接到数据库;3. 使用用户名和密码执行查询和命令。

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

1.使用正确的索引索引通过减少扫描的数据量来加速数据检索select*fromemployeeswherelast_name='smith';如果多次查询表的某一列,则为该列创建索引如果您或您的应用根据条件需要来自多个列的数据,则创建复合索引2.避免选择*仅选择那些需要的列,如果您选择所有不需要的列,这只会消耗更多的服务器内存并导致服务器在高负载或频率时间下变慢例如,您的表包含诸如created_at和updated_at以及时间戳之类的列,然后避免选择*,因为它们在正常情况下不需要低效查询se

通过以下命令查看 MySQL 数据库:连接到服务器:mysql -u 用户名 -p 密码运行 SHOW DATABASES; 命令获取所有现有数据库选择数据库:USE 数据库名;查看表:SHOW TABLES;查看表结构:DESCRIBE 表名;查看数据:SELECT * FROM 表名;

Navicat本身不存储数据库密码,只能找回加密后的密码。解决办法:1. 检查密码管理器;2. 检查Navicat的“记住密码”功能;3. 重置数据库密码;4. 联系数据库管理员。

数据库ACID属性详解ACID属性是确保数据库事务可靠性和一致性的一组规则。它们规定了数据库系统处理事务的方式,即使在系统崩溃、电源中断或多用户并发访问的情况下,也能保证数据的完整性和准确性。ACID属性概述原子性(Atomicity):事务被视为一个不可分割的单元。任何部分失败,整个事务回滚,数据库不保留任何更改。例如,银行转账,如果从一个账户扣款但未向另一个账户加款,则整个操作撤销。begintransaction;updateaccountssetbalance=balance-100wh
