数据库传奇:MySQL创世之父的两千金My、Maria

《数据库传奇:MySQL创世之父的两千金My、Maria》

一、前言

MySQL是一款备受欢迎的关系型数据库管理系统(RDBMS),最初由瑞典公司MySQL AB开发,目前隶属于Oracle Corporation。在DB-Engines的排名中,MySQL稳居第二位,仅次于领先者Oracle,并保持了相对稳定的排名。

二、MySQL的历史

以下是MySQL的主要历史事件:

  1. 创始人:

MySQL由Michael Widenius、David Axmark和Allan Larsson于1994年创建。最初的版本是基于一个小型SQL服务器的需求,以提供更好的性能。

  1. 开源发布:

MySQL在1995年首次以开源形式发布。这使得任何人都可以查看、使用和修改源代码,促进了其广泛的采用。

  1. 发展和改进:

随着时间的推移,MySQL经历了多个版本的改进和更新。在早期,MySQL主要用于小型应用程序,但随着性能的提高和功能的增加,它变得越来越适用于更大规模和复杂的系统。

  1. MySQL AB成立:

1995年,MySQL AB公司成立,由Michael Widenius、David Axmark和Monty Widenius创办。该公司致力于MySQL的发展和支持。

  1. MySQL 3.23:

MySQL 3.23于2001年发布,引入了一些关键的功能,如事务和子查询,使MySQL在更大范围的应用中变得更加强大。

  1. 被Sun Microsystems 收购:

2008年,Sun Microsystems收购了MySQL AB。这引起了一些关注,因为Sun Microsystems是一个大型企业,而MySQL一直以其开源和轻量级的特性而受到欢迎。

  1. Oracle收购Sun Microsystems:

2009年,Oracle Corporation收购了Sun Microsystems,从而成为MySQL的所有者。这引发了一些担忧,因为Oracle也是另一个大型数据库软件供应商。同年,MySQL的创始人Michael Widenius离开了Sun公司,基于MySQL 5.1的源代码创建了一个分支项目MariaDB,以维持MySQL的开源精神。

  1. MySQL的发展继续:

尽管有一些担忧,但MySQL的开发和维护工作仍然持续进行,许多新的功能和改进被引入到后续版本中。

  1. MySQL社区和分支:

随着时间的推移,MySQL社区继续发展,也出现了一些MySQL的分支,如MariaDB,由MySQL的创始人之一Michael Widenius领导的团队开发。

三、MySQL的应用

  • 阿里巴巴 使用 MySQL 来存储商品数据、订单数据、用户数据等。
  • 腾讯 使用 MySQL 来存储聊天数据、游戏数据等。
  • 百度 使用 MySQL 来存储搜索数据、广告数据等。
  • 京东 使用 MySQL 来存储商品数据、订单数据、用户数据等。
  • 淘宝 使用 MySQL 来存储商品数据、订单数据、用户数据等。
  • 微信 使用 MySQL 来存储用户数据、消息数据等。
  • 微博 使用 MySQL 来存储用户数据、微博数据等。
  • 抖音 使用 MySQL 来存储用户数据、视频数据等。
  • 快手 使用 MySQL 来存储用户数据、视频数据等。
  • Facebook 使用 MySQL 来存储用户数据、帖子数据、照片数据等。
  • Twitter 使用 MySQL 来存储用户数据、推文数据等。
  • YouTube 使用 MySQL 来存储视频数据、用户数据等。
  • Instagram 使用 MySQL 来存储用户数据、照片数据等。
  • WordPress 使用 MySQL 来存储网站数据、文章数据、用户数据等。
  • Magento 使用 MySQL 来存储商品数据、订单数据等。
  • SAP 使用 MySQL 来存储企业数据、客户数据等。

四、MySQL替换为MariaDB

Oracle收购MySQL的同年,Monty 宣布离开 Sun 公司,在 MySQL 代码库的一个分支上开发出了一款数据库 MariaDB,以他最小的女儿的名字命名。同时,Monty 创办了 Monty Program AB 公司。此外,他还成立了 MariaDB 基金会,致力于推广、维护和发展 MariaDB 代码库、社群和生态系统,不为营利。

MySQL 之父 Michael Widenius 开发 MariaDB 主要有以下几个原因:

  • 担心 Oracle 收购后 MySQL 的未来发展

2010 年,Oracle 公司收购了 MySQL 的母公司 Sun Microsystems。Michael Widenius 担心 Oracle 会改变 MySQL 的开源性和社区精神,因此决定开发 MariaDB 作为 MySQL 的替代品。

  • 希望获得 MariaDB 的额外功能和改进

MariaDB 是 MySQL 的一个分支,与 MySQL 兼容,但也提供了一些额外的功能和改进。例如,MariaDB 支持更多的存储引擎、具有更好的查询优化、并且更易于扩展。

  • 希望继续为开源社区做出贡献

Michael Widenius 一直是开源软件的热心支持者。他希望通过开发 MariaDB 来继续为开源社区做出贡献。

Michael Widenius 在接受采访时表示:

"我担心 Oracle 会改变 MySQL 的开源性和社区精神。我认为 MySQL 应该是属于社区的,而不是属于一家公司的。因此,我决定开发 MariaDB 作为 MySQL 的替代品。"

以下是一些在 Oracle 收购 MySQL 后替换成 MariaDB 的系统:

  • 维基百科:维基百科于 2013 年宣布将从 MySQL 迁移到 MariaDB。
  • Google:Google在2013年也开始将其内部的MySQL系统迁移到MariaDB,以支持更多的存储引擎和功能。
  • WordPress:WordPress.com在2014年将其所有的网站从MySQL迁移到MariaDB,以提高速度和可靠性。
  • OpenStack:OpenStack 是一个开源的云计算平台,于 2013 年宣布将从 MySQL 迁移到 MariaDB。

Red Hat 、苹果等公司也陆续抛弃 MySQL,转向 MariaDB 或者其他数据库。

这些系统之所以选择替换 MySQL,主要有以下几个原因:

  • 担心 Oracle 收购后 MySQL 的未来发展
  • 希望获得 MariaDB 的额外功能和改进,如更好的性能、可扩展性、安全性和开放性

MariaDB 是 MySQL 的一个分支,与 MySQL 兼容,但也提供了一些额外的功能和改进。例如,MariaDB 支持更多的存储引擎、具有更好的查询优化、并且更易于扩展。


短期感觉我们还不用关心替换的事,不过多掌握一个退路还是很有必要的!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DevOps搭建(十)-安装Harbor镜像仓库详细步骤

1、下载Harbor 官方地址: https://goharbor.io/ 下载地址: https://github.com/goharbor/harbor/tags 选择文档版本进行下载,这里我们选择v2.7.2版本 2、上传到服务器并解压 上传压缩包到服务器后,解压到/usr/local目录下,执行以下解压命令 tar -zxvf harbor-offli…

一种可以实时监测蒸发量QY-ZF/F水面蒸发传感器

一种可以实时监测蒸发量QY-ZF/F水面蒸发传感器产品概述 本产品采取双层不锈钢结构设计,可以防止太阳直晒引起的蒸发误差。 清易QY-ZF/F水面蒸发传感器是一款用来观测水面蒸发的仪器,具有精度高、灵敏度高、量程宽等优势,可以快速地测量出单…

软信天成:企业数据目录加速数据资产管理智能化升级

随着数字时代的来临,数据的作用日益凸显,数字化能有效提高企业的运作效率。据调查统计, 数据领先型企业的指标比数据感知型企业领先50%左右。各界对数据治理的关注度逐年攀升,并且呈现经济越发达,越重视数据治理的态势。越来越多的…

安装ubuntu虚拟机并连接xShell+安装MySQL

网盘地址 链接:https://pan.baidu.com/s/1r-Je09AJrZcmbPYnCI6rfA?pwdk22h 提取码:k22h 安装 打开Vmware 一直下一步就行了 xshell连接 打开虚拟机,右键进入Terminal终端, 只复制opubuntu:~$后面的语句,前面op代…

加载离线镜像包:在线镜像离线为tar包、tar离线镜像包加载并根据imageId打tag

第一步:在线环境压缩离线镜像: 需要两个文件,第一个是脚本文件image_offline_load.sh脚本,第二个是image_list.txt 按行 存放需要离线的镜像名称 ./image_offline_load.sh save image_list.txt output.tar第二步:在离…

Python环境——conda环境切换 在特定环境下安装依赖

如下图所示 使用的命令 列出所有环境 conda env list激活特定环境 conda activate pytorch在该环境下安装 pip install tabulate

字符选择的题解

目录 原题描述: 题目描述 样例输入1 样例输出1 样例输入2 样例输出2 题目大意: 主要思路: change的设计: dp的转移: dp初始化: dp的结算: 注意事项: 代码(有…

linux下部署东方通

第一步:安装jdk,此处不做过多介绍 第二步:东方通安装 1、下载东方通,建议去官网进行下载压缩包,同时下载授权文件! 2、将压缩包上传至linux相对目录下进行解压 unzip Install_TW6.1.5.8_Enterprise_Lin…

计算机操作系统-第十五天

目录 线程的状态与转换 线程的组织与控制 本节思维导图 线程的状态与转换 线程的状态转换与进程的状态转换是一样的 线程的组织与控制 进程的控制块叫做PCB,线程的控制块叫做TCB 堆栈指针可以找到线程的堆栈在内存中的哪个位置,所以不需要保存堆栈…

Android多进程和跨进程通讯方式

前言 我们经常开发过程中经常会听到线程和进程,在讲述Android进程多进程前我打算先简单梳理一下这俩者。 了解什么是进程与线程 进程: 系统中正在运行的一个应用程序,某个程序一旦运行就是一个进程,是资源分配的最小单位&#…

SAP ABAP给销售订单添加抬头、行项目文本

SAP ABAP给销售订单添加抬头、行项目文本 第一步:创建文本ID 1,通过SE75,新键文本对象的文本ID 2,2 ,找到对象VBBK 销售 标题文件 3,点击文本IDS 4,进去后新建文本ID 第二步:通过…

使用Visual Studio(VS)创建空项目的Win32桌面应用程序【main函数入口变WinMain】

前言 在Visual Studio中直接新建Windows桌面应用程序会有很多多余的代码生成,本文将提供从空项目创建Win32项目的方法,解决新建空项目直接使用WinMain代码编译报错的问题 例如:LNK2019 :无法解析的外部符号 参考博客&#xff1…

ChibiOS简介4/5

ChibiOS简介4/5 1. 源由2. ChibiOS基础知识4/52.13 Chapter 13 - RT Synchronous Messages2.13.1 Basic concepts2.13.2 APIs 2.14 Chapter 14 - RT Events2.14.1 Basic concepts2.14.1.1 Events2.14.1.2 Operations 2.14.2 APIs 2.15 Chapter 15 - RT Debug2.15.1 Compile Tim…

without explicit opt-in, is unsupported. Switch Maven repository ‘maven8

Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository maven8 大概意思是 不支持对存储库使用不安全的协议.看下maven库,把http开头的改成https就好了。

B站武sir-django教程(1)

day15 初识Django Python知识点:函数、面向对象。前端开发:HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库。Python的Web框架: Flask,自身短小精悍 第三方组件。Django,内部已集成了很多组件 第三方组件。…

Restormer技术点小结

1. 解决cnn的不足: 1)感受野有限 2)输入尺寸固定 2. 解决transform的不足: 1)计算复杂度随着空间分辨率的增加而二次增长 3. 优势结构:MDTA(Multi-Dconv Head Transposed Attention)和GDFN( Gated-Dco…

Sentinel使用详解

组件简介 Sentinel是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀、消息削峰填谷、集群流量控…

C语言 内存操作函数 +内存分区

内存操作函数 memset() //memset 函数将指定内存区域 ptr 开始的 num 个字节设置为 value。 void *memset(void *ptr, int value, size_t num);参数:ptr:指向要填充的内存区域的指针。value:要填充的值,以整数形式传递。num&…

20-11版本AUTOSAR_PRS_LogAndTraceProtocol文档翻译

1简介和概述 本协议规范规定了AUTOSAR协议Dlt的格式、消息序列和语义。 该协议允许将诊断、日志和跟踪信息发送到通信总线上。 因此,Dlt模块从应用程序或其他软件模块收集调试信息,向调试信息添加元数据,并将其发送到通信总线。 此外&#x…

软件设计师——信息安全(一)

📑前言 本文主要是【信息安全】——软件设计师——信息安全的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…