MySQL的发展历程:欧洲诞生,中国兴盛,美国低谷

news2024/11/18 3:19:10

目录

1 早期历史

2 成长与发展

3 重大变化和收购

4 现代发展

5 结语


一直比较写一些数据库相关的技术和操作、优化等文章。但写数据库在中国一般也逃脱不了MySQL这个数据库。下面简单谈一些个人看法。

MySQL整体上是起于欧洲

一直有开源社区运营,整体的用户使用一直比较高,特别是早期的网站建设中的LAMP架构中的M就是MySQL。

MySQL的兴起是在中国

在互联网和国产化的浪潮中,MySQL在中国得到了全世界最大的认可,以阿里和腾讯为代码的互联网公司普通采用MySQL为主构建互联网数据库,造成了中国数据库技术方向形成了以MySQL为主要的路线。后来在国产化浪潮中,基本上都是以MySQL为主(因为开源)开发的所谓国产数据库。

MySQL的衰落在美国

自从MySQL被Oracle收购后,产品的封闭性越来越大,开发进展也在变慢,在美国的使用度已经大不如前。后面也原MySQL创始人Monty Widenius 创建了 MariaDB,希望继续开源路线,但实力和势头都不如前了。

MySQL 是世界上最流行的开源数据库管理系统之一,其历史可以追溯到20世纪90年代。以下是 MySQL 的发展历程和一些重要里程碑:

1 早期历史

  1. 1994年 - 起源

    • MySQL 的开发工作始于1994年,由瑞典公司 MySQL AB 的创始人 Michael "Monty" Widenius 和 David Axmark 以及德国开发者 Allan Larsson 共同创建。它最初是为了满足他们公司内部的数据库需求而开发的。
  2. 1995年 - 第一个版本发布

    • 1995年5月23日,MySQL 1.0 版本发布。这一版本标志着 MySQL 作为一个开源项目的开始。

2 成长与发展

  1. 1996-2000年 - 早期发展

    • 在1996年到2000年期间,MySQL 迅速发展,逐渐引入了许多新特性,如支持多个表的查询、事务和外键等。此时,MySQL 开始在开源社区中获得关注,并被广泛用于 Web 开发。
  2. 2001年 - MySQL 3.23

    • 2001年,MySQL 3.23 版本发布,成为一个稳定且功能丰富的数据库管理系统,进一步提升了 MySQL 在市场上的地位。
  3. 2003年 - MySQL 4.0

    • 2003年,MySQL 4.0 发布,引入了查询缓存等新功能,显著提高了性能。
  4. 2004年 - MySQL 4.1 和 5.0

    • 2004年发布的 MySQL 4.1 引入了子查询和 Unicode 支持。接着,2005年发布的 MySQL 5.0 版本加入了存储过程、触发器和视图等高级功能,使 MySQL 成为一个更为强大和全面的数据库系统。

3 重大变化和收购

  1. 2008年 - Sun Microsystems 收购

    • 2008年1月,Sun Microsystems 以10亿美元收购了 MySQL AB。这次收购显著增强了 MySQL 的商业化进程和市场影响力。
  2. 2010年 - Oracle 收购 Sun Microsystems

    • 2010年,Oracle 公司收购了 Sun Microsystems,从而接管了 MySQL。这次收购引起了开源社区的广泛关注和担忧,主要担心 Oracle 可能不会保持 MySQL 的开源性质。

4 现代发展

  1. 2010年 - MariaDB 诞生

    • 由于对 Oracle 未来方向的担忧,MySQL 的创始人 Monty Widenius 创建了 MariaDB,一个 MySQL 的分支(fork),旨在保持 MySQL 的开源和社区驱动发展。
  2. 2013年 - MySQL 5.6

    • MySQL 5.6 发布,带来了显著的性能改进和增强的 InnoDB 存储引擎支持。
  3. 2015年 - MySQL 5.7

    • MySQL 5.7 发布,进一步提升了性能、可用性和安全性,增加了对 JSON 数据类型的支持。
  4. 2018年 - MySQL 8.0

    • MySQL 8.0 发布,带来了众多新特性和改进,包括通用表表达式(CTE)、窗口函数、改进的 JSON 支持、字符集增强以及性能优化等。

5 结语

MySQL 的发展历程显示了其从一个简单的开源项目成长为全球最流行的数据库管理系统之一的过程。它在 Web 应用程序、数据分析和企业级应用中得到了广泛应用,并且随着时间的推移不断演变和进步,保持了在数据库管理系统领域的领先地位。

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

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

相关文章

掌握Google搜索结果获取

在数据驱动的决策世界中,获取准确而全面的信息至关重要。Google 搜索结果抓取是一种强大的技术,可以让企业、调查人员和研究人员从搜索引擎结果中提取可靠的数据。本综合指南将深入研究 Google 搜索结果的最佳实践、工具和道德考量,以确定能够…

React 懒加载源码实现

懒加载 React 中懒加载是一种按需加载组件的机制,有些组件不需要在页面初始化就进行加载,这些组件可以按需加载,当需要时再进行加载。懒加载是怎么实现的呢?如果要实现一个懒加载功能应该怎么去做呢?可以通过异步动态…

勒索病毒搜索引擎

360勒索病毒搜索引擎 https://lesuobingdu.360.cn/ 腾讯勒索病毒搜索引擎 https://guanjia.qq.com/pr/ls/ VenusEye勒索病毒搜索引擎 https://lesuo.venuseye.com.cn/ 奇安信勒索病毒搜索引擎 https://lesuobingdu.qianxin.com/index/getFile 深信服勒索病毒搜索引擎…

【LLM之RAG】RAFT论文阅读笔记

研究背景 论文针对的主要问题是如何将预训练的大型语言模型(LLMs)适应特定领域的检索增强生成(RAG)。这些模型通常在广泛的文本数据上进行预训练,已经表现出在广义知识推理任务上的优越性能。然而,在特定领…

wms仓库管理系统对海外仓管理有帮助吗,有必要自己开发吗?

作为链接国内电商和国外消费者的中间环节,海外仓的重要性自然是不言而喻的。而要想服务好这些出海的商家,提供更加快捷、高效率的仓储物流服务,就需要海外仓企业自己不断提升效率,精细化管理模式。 wms仓库管理系统作为现代仓储物…

Docker 国内镜像源更换

实现 替换docker 镜像源 前提要求 安装 docker docker-compose 参考创建一键更换docker国内镜像源 Docker 镜像代理DaoCloud 镜像站百度云 https://mirror.baidubce.com南京大学镜像站

ArcGIS 10.8软件安装包免费下载及安装教程

安装包获取: 【软件名称】:ArcGIS 10.8 【安装包链接 】: 链接:https://pan.quark.cn/s/2240330bf935 提取码:Yixn 【备用链接】: 链接:https://pan.baidu.com/s/13V5o_igcK0suW4SFsWkxeQ?pwdj6kx 提取码…

Docker 基础使用(5)Compose

文章目录 Docker Compose 基础认识Docker Compose 基础语法Docker Compose 基础指令Docker Compose 使用实例 Docker 基础使用(0)基础认识 Docker 基础使用(1)使用流程概览 Docker 基础使用(2)镜像与容器 Docker 基础使用(3)存储卷…

MySQL-数据处理函数(-1)

033-数据处理函数之获取日期时间 now():获取的是执行select语句的时刻。sysdate():获取的是执行sysdate()函数的时刻。 select now(), sleep(2), sysdate();获取当前日期 select curdate(); select current_date(); select current_date;获取当前时间…

30岁迷茫?AI赛道,人生新起点

前言 30岁,对于许多人来说,是一个人生的分水岭。在这个年纪,有些人可能已经在某个领域取得了不小的成就,而有些人则可能开始对未来的职业方向感到迷茫。如果你正处于这个阶段,那么你可能会问自己:30岁转行…

numpy创建二维数组

1.numpy.array(object, dtypeNone, copyTrue, orderK, subokFalse, ndmin0) # 创建一个数组,将输入对象转换为数组。 # 如果输入对象是列表,元组或数组,则创建一个数组,并将输入对象中的元素复制到数组中。 arr np.array([[1, 2…

低代码平台与无代码平台,有哪些相同点和不同点

低代码和无代码 低代码(Low-Code)是一种软件开发方法,它使得开发人员能够通过图形界面、拖放组件和模型驱动的逻辑,快速地构建和部署应用程序,而无需编写大量的代码。而低代码平台就是使用低代码的方式进行开发&#…

STL——Stacks容器

一、stack 1.操作 语法: <><>!所有的这些操作可以被用于堆栈. 相等指堆栈有相同的元素并有着相同的顺序。 2.empty 语法: bool empty();如当前堆栈为空&#xff0c;empty() 函数 返回 true 否则返回false. 3.pop 语法: void pop();pop() 函数移除堆栈中最顶层元…

Nginx 版本升级方案

因 nginx发现漏洞、需 Nginx 的版本进行更新&#xff0c;需要用到Nginx服务器提供的平滑升级功能。 一、Nginx安装 Linux服务器 离线安装 nginx_linux 离线安装nginx 依赖包 百度云-CSDN博客 二、查看已安装的 Nginx 版本信息&#xff0c;configure 配置信息 ## nginx 目录 /…

数据爱好者的综合指南——Google篇

在数据驱动的决策世界中&#xff0c;获取准确而全面的信息至关重要。Google 搜索结果抓取是一种强大的技术&#xff0c;可以让企业、调查人员和研究人员从搜索引擎结果中提取可靠的数据。本综合指南将深入研究 Google 搜索结果的最佳实践、工具和道德考量&#xff0c;以确定能够…

C# Interlocked 原子操作

目录 注解 方法 适用于 案例 1&#xff1a;Add 对两个整数进行求和并用和替换第一个整数&#xff0c;上述操作作为一个原子操作完成 2&#xff1a;Exchange Exchange(UInt32, UInt32) 以原子操作的形式&#xff0c;将 32 位无符号整数设置为指定的值并返回原始值。 参考…

【python - 函数】

一、测试 如果我们写出一下一些泛化的函数&#xff0c;①计算边长为r的正方形面积②半径为r的圆的面积③边长为r的六边形面积。 我们运行代码计算一下边长为10的六边形面积&#xff0c;可以看到它约等于260&#xff0c;但是我们计算一下边长为-10的六边形面积它也同样成功了&…

帝国CMS火车头采集发布模块详细使用方法

火车头采集文章数据发布到帝国CMS系统操作步骤如下&#xff1a; 1. 下载火车头采集帝国cms发布模块&#xff1a;帝国cms发布模块接口下载地址&#xff08;免登录&#xff09;-CSDN &#xff1b; 2. 帝国cms发布模块导入火车头采集软件&#xff1b; 3. 填写帝国cms数据库中相…

基于(C++)VTK9.3.0+Microsoft Visual Studio2017的DICOM影像VR体绘制完整实现代码

开发基于(C++)VTK9.3.0+Microsoft Visual Studio2017的DICOM影像VR体绘制程序的前提是: 1、已编译完成VTK9.3.0,可在VTK官网下载VTK9.3.0源码,官网下载地址:Download | VTK 选择所需的VTK版本进行下载 具体编译VTK的过程我就不详细介绍了,有需要可以提供支持。下面直接…

php yield使用

一&#xff0c;概念 yield简单的调用形式看起来像一个return申明&#xff0c;不同之处在于普通return会返回值并终止函数的执行&#xff0c;而yield会返回一个值给循环调用此生成器的代码并且只是暂停执行生成器函数。yield只有在调用的时候才会执行&#xff0c;并不产生多余的…