MySQL的历史和地位

秋招之后,开始深入学习后端开发知识啦。把学到的东西分享给大家最开心啦。就从MySQL开始吧。

首先说一下MySQL的历史和地位。主要是看一下我们为什么要学习,而不是说让我们学什么我们就学什么。

地位

这张图是我从DB-Engines截取的2024年12月最新的数据库排行榜。我们先来简单的看一下前十名我们都见过哪些。第一是Oracle,听说过,没用过,因为收费。第二是MySQL,几乎只要写项目就一直在用。第三是SQL Server,在学校学习数据库课程时用的是这个。第四是PostgreSQL,在很多博客和视频中都有博主提到过,甚至有人认为在不久的将来能够取代MySQL,但是我不认同哈。第五是MongoDB,文档型数据库,大家有精力也可以学一下。第六是Redis,这个不用说了吧,缓存数据库,后端开发必学,面试必问。第七是Snowflake,没听过。第八是ES,基于倒排索引的全文搜索引擎,第九是IBM的Db2,第十是SQLite,非常轻量,可以集成到应用程序中。

回过头来,我们再来看占比最高的Oracle和MySQL。Oracle是付费垄断的,主要给有钱的大企业使用,在互联网企业之外使用量第一。MySQL 是最流行的关系型数据库软件之一,由于其体积小、速度快、开源免费、简单易用、维护成本

低等,在集群架构中易于扩展、高可用,因此深受互联网开发者和企业的欢迎。在互联网企业中使用量排名第一。咱们大家当然都是在互联网企业工作的啦,所以MySQL就是我们心中的第一。

历史

发展

这是我在阿里云的开发者社区截取的一张MySQL的发展历程。我们可以一起来简单的看一下。首先是79年,Monty开发了一款面向报表的存储引擎,然后85年,Monty和他的合伙人一起组建公司,准们开始做存储引擎工具了。90年,Monty和David想要结合mSQL,使ISAM能够提供SQL接口,但是速度不满足要求,然后开始开发新产品了。96年,Monty和合伙人开发出MySQL1.0,96年3.1发布,发布linux版本,这就是说我们可以在linux系统上使用了。有了产品之后,开始是开公司,MySQLAB。2000年开源。2000年4月ISAM->MyISAM。2001年集成InnoDB,2005年,加入高级特性,对标Oracle,

2008年,进入SUN时代,2009年,进入Oracle时代,跟Java一样啊。2010年,版本划分,5.5版本默认引擎更换为InnoDB。后面陆续更新5.6,5.7,8.0。其实现在我们大多数还在使用5.7版本,或者8.0版本,后面的一些更新很多程序员大佬都表示没啥用,所以就不去过多了解了。

分支

下面再来看一下MySQL的主流分支。

这个图同样来自阿里云技术开发者社区,也就是上面的网址。

MySQL从最初的1.0、3.1到后来的8.0,发生了各种各样的变化。被Oracle收购后,MySQL的版本演化出了多个分支,除了需要付费的MySQL企业版本,还有很多MySQL社区版本。还有一条分支非常流行的开源分支版本叫Percona Server,它是MySQL的技术支持公司Percona推出的,也是在实际工作中经常碰到的。Percona Server在MySQL官方版本的基础上做了一些补丁和优化,同时推出了一些工具。另外一个非常不错的版本叫MariaDB,它是MySQL的公司被Oracle收购后,MySQL的创始人Monty先生,按原来的思路重新写的一套新数据库,同时也把 InnoDB 引擎作为主要存储引擎,也算 MySQL 的分支。

相关推荐
小高学习java14 分钟前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
迷枫7121 小时前
【无标题】
数据库
TDengine (老段)1 小时前
TDengine 扫描算子 — TableScan、TagScan 与下推优化
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
放下华子我只抽RuiKe51 小时前
FastAPI 全栈后端(三):数据库与 ORM
前端·数据库·react.js·oracle·性能优化·前端框架·fastapi
BAGAE2 小时前
星链卫星数据获取:从太空安全到实时通信的技术革命
网络·数据结构·数据库·算法·云计算·hbase
zh_xuan2 小时前
Android导出并查看数据库
数据库·sqlite
加加and减减2 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
小短腿的代码世界2 小时前
Qt定时器高精度架构:从QTimer源码到纳秒级定时调度
数据库·qt·架构
herinspace2 小时前
管家婆辉煌软件如何新增往来单位档案分类
服务器·数据库·电脑·管家婆软件
程序猿乐锅2 小时前
【MySQL | 第九篇】MySQL 存储过程
数据库·mysql