MySQL的历史和地位

news/2024/12/17 13:19:29/

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

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

地位

DB-ranking
这张图是我从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 的分支。


http://www.ppmy.cn/news/1555861.html

相关文章

百度智能云千帆AppBuilder升级,百度AI搜索组件上线,RAG支持无限容量向量存储!

百度智能云千帆 AppBuilder 发版升级! 进一步降低开发门槛,落地大模型到应用的最后一公里。在千帆 AppBuilder 最新升级的 V1.1版本中,企业级 RAG 和 Agent 能力再度提升,同时组件生态与应用集成分发更加优化。 • 企业级 RAG&am…

前端项目初始化搭建(二)

一、使用 Vite 创建 Vue 3 TypeScript 项目 PS E:\web\cursor-project\web> npm create vitelatest yf-blog -- --template vue-ts> npx > create-vite yf-blog --template vue-tsScaffolding project in E:\web\cursor-project\web\yf-blog...Done. Now run:cd yf-…

LWIP数据包管理

一、LWIP数据包简介 具体流程为: 用户要发送的数据;申请pbuf内存:一般使用的是内存堆(内存池也可以)。内存堆包含了pbuf结构体、以及后面要拷贝的数据和三种层的首部;将数据拷贝到pbuf数据缓冲区&#xf…

【人工智能】OpenAI O1模型:超越GPT-4的长上下文RAG性能详解与优化指南

在人工智能(AI)领域,长上下文生成与检索(RAG) 已成为提升自然语言处理(NLP)模型性能的关键技术之一。随着数据规模与应用场景的不断扩展,如何高效地处理海量上下文信息,成…

第六届地博会开幕,世界酒中国菜美食文化节同期启幕推动地标发展

第六届知交会暨地博会开幕,辽黔欧三地馆亮点纷呈,世界酒中国菜助力地理标志产品发展 第六届知交会暨地博会盛大开幕,多地展馆亮点频出,美食文化节同期启幕推动地标产业发展 12月9日,第六届粤港澳大湾区知识产权交易博…

Git 命令大全:全面掌握版本控制系统

一、引言 Git 是一款广泛使用的分布式版本控制系统,它在软件开发、项目协作以及代码管理等方面发挥着极为重要的作用。无论是个人开发者独自管理代码库,还是大型团队协同开发复杂项目,Git 都提供了强大而灵活的功能来满足各种需求。通过掌握…

DAY5 C++运算符重载

1.类实现> 、<、!、||、&#xff01;和后自增、前自减、后自减运算符的重载 代码&#xff1a; #include <iostream>using namespace std; class Complex {int rel;int vir; public:Complex(){};Complex(int rel,int vir):rel(rel),vir(vir){cout << "…

(一)简单 第 N 个泰波那契数

1137. 第 N 个泰波那契数 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 示例 1&#xff1a; 输入&#xff1a;n 4 输出&#xff1a;4 解释&#xff1a; T…