数据库传奇: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%左右。各界对数据治理的关注度逐年攀升,并且呈现经济越发达,越重视数据治理的态势。越来越多的…

SVN忽略文件的两种方式

当使用版本管理工具时,提交到代码库的文档我们不希望存在把一些临时文件也推送到仓库中,这样就需要用到忽略文件。SVN的忽略相比于GIT稍显麻烦,GIT只需要在.gitignore添加忽略规则即可。而SVN有两种忽略方式,一个是全局设置&#…

安装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

LeetCode1002. Find Common Characters

文章目录 一、题目二、题解 一、题目 Given a string array words, return an array of all characters that show up in all strings within the words (including duplicates). You may return the answer in any order. Example 1: Input: words [“bella”,“label”,“…

Python 表达式计算详解(eval)

文章目录 1 语法2 参数使用示例2.1 仅 expression2.2 指定 globals2.3 指定 locals 1 语法 eval(expression, globalsNone, localsNone)# 参数说明 expression: 表达式的字符串 globals: 全局变量, 字典格式 locals: 局部变量, 字典格式2 参数使用示例 2.1 仅 expression 忽…

字符选择的题解

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

linux下部署东方通

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

Python 快速入门——基础语法

python 的语法逻辑完全靠缩进,建议缩进 4 个空格。 如果是顶级代码,那么必须顶格书写,哪怕只有一个空格也会有语法错误。 下面示例中,满足 if 条件要输出两行内容,这两行内容必须都缩进,而且具有相同的缩进…

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

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

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

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

Java Web Day02_HTML基础标签语法

HMTL基础标签 一、视频video标签 <video src”视频的路径”controls”控制播放、暂停、音量等”autoplay”自动播放”loop”循环播放”width”视频播放器的宽度”height”视频播放器的高度”></video>还有做浏览器兼容的方式&#xff1a; <video controls a…

C++RTTI(运行时类型识别)介绍

介绍 RTTI&#xff08;Run-Time Type Information&#xff09;是C中的一个重要特性&#xff0c;它允许在运行时获取类型信息。 RTTI提供了两个主要的操作&#xff1a;dynamic_cast和typeid。这些操作在运行时检查类型&#xff0c;允许我们在运行时决定如何处理对象。 dynami…

iframe postMessage 通信

嵌入 iframe <iframesrc"/model/index.html"id"modelIframe"name"modelIframe"frameborder"0"></iframe>发送信息 let modelIframe: any;// 初始化 document.getElementById(modelIframe).onload function () {modelIfr…

Spark作业提交原理

1.6 Spark作业提交原理 Spark作业&#xff08;任务&#xff09;提交就是使用spark中spark-sumbit命令将已经封装好成jar包的程序提交到spark集群中执行运行从而得到计算结果的过程&#xff0c;在提交过程中我们对提交的作业&#xff08;任务&#xff09;进行参数设置操作 spa…

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

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

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

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