数据库历史&MySQL 历史介绍 | 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 快速学习数据库历史&MySQL 历史介绍,介绍了数据库历史&MySQL 历史介绍系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【云数据库 RDS MySQL 从入门到高阶数据库历史&MySQL 历史介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/996/detail/15051


数据库历史&MySQL 历史介绍


内容介绍:

一、自我介绍

二、MySQL 数据库发展史

三、数据技术分类与发展

四、数据库演进历程

五、MySQL 在数据库演进历程中的作用

六、为什么要做计算与存储分离

七、MySQL 的重大作用


我们在过去做过许多关于 MySQL 的交流,一般都讲得是技术、运维、架构,这一次我们换一个角度讲一下 MySQL 在数据库发展演进历程中的作用,使得我们总体的从发展观的角度,认识 MySQL 这个产品。


一、自我介绍

1、1997-2004 读书时间 浙江大学 02-03开始准备论文 毕业论文方向:图片库检索技术(一种数据库的类型)

2、2004-2007 软件行业 网络爬虫以及全文检索数据库(当时爬虫、百度和谷歌的检索引擎都比较热门)

3、2007-2018 互联网行业 MySQL 开源数据库体系(MySQL 在数据库中十分重要,大部分的互联网的企业或者应用都采用了以 MySQL 为基础的数据库。同时由于互联网的使用才使得MySQL整个数据库得到了大放异彩的机会。这里面又和 MySQL 的一些功能很相关,比如:简单、易用,支持高访问及处理,到现在为止还作为互联网首选的数据库在使用)

4、2012-2022 MySQL 社区 中国 MySQL 用户组主席(MySQL 用户组在2011年就已成立,在全国的几十个城市做了几百场关于 MySQL 技术的沙龙讨论)

5、2015-2018 数据库著作 《MySQL运维内参》《MySQL8Cookbook(中文版)》《Learning HBase(中文版)》2018年度电子工业出版社优秀译作者

6、2018-至今 级数云舟 提出广义数据库系统(以MySQL为基础),针对于融合数据处理引擎 DTark,解决跨库查询、跨库优化、数据查询,例如:支持中国航天空间站数字化建设

图片26.png


二、MySQL 数据库发展史

1981年,Monty 用 Basic 写第一行 Unireg 代码(MySQL 的最初创始人是 Monty,在13、14年将 Monty 请到中国与中国的 MySQL 爱好者做交流、演讲等活动)

1983年,Monty 用 C 语言重写 Unireg(MySQL 前身)

1994年,加入 SQL 交互并更名为 MySQL,MySQL 正式诞生(Monty 给产品取名字的时候会用到自己的家人,My 是 Monty 的大女儿的名字)

1995年,MySQL 发布开源版本,协议是双许可(商业+社区)基础(奠定 MySQL 能够快速发展,并且后来广为人使用的原因)

1999年,MySQL3.22.20 发布;MySQL Ab公司在瑞典成立,开发 Berkeley Db 引擎,开始支持事务

2000,MySQL goes GPL,引入 MyISAM 存储引擎

2001年,MySQL 引入 InnoDB 存储引擎,合版在4.0版本(划时代的意义,现在大部分所使用的MySQL,例如阿里云的DB云原生的技术都是基于 MySQL 的 InnoDB 去做的,InnoDB 几乎是 MySQL 的代名词)

2003年,发布 MaxDB, MySQL for SAP DB

2003年,MySQL 5.0发布(划时代的意义,MySQL 被广泛使用,MySQL 真正被认可的版本)

2005年,存储引擎 InnoDB 被 Oracle 公司收购

2008年,Sun 以10亿美金收购 MySQL AB 公司,MySQL得到快速发展

2008年,MySQL 5.1发布(对 MySQL 的发展至关重要,后来被广泛使用)

2009年,Oracle 公司以74亿美金收购 Sun 公司(同时获得 MySQL 的归属权)

2010年,MySQL 5.5发布

2013年,MySQL 5.6发布、aliyun RDS 发布,基于5.0和5.6的版本

2015年,MySQL 5.7发布、AWS Aurora 发布

2016年,aliyun PolarDB 发布(与 AWS Aurora 相似,揭开了云原生的独特的形式,到现在为止Aurora大规模在语言上使用)

2018年,MySQL 8.0发布(很多重要的革新)

2021年,MySQL Heatwave 发布,AWS 开始推动MySQL serverless(中国的阿里云也在逐步跟进,感兴趣的可以去阿里云的官方网站了解)

以 MySQL 为基础的产品,不管是 Aurora、管理数据库系统都在蓬勃茁壮的发展,对MySQL 来说有着重大的意义。MySQL 从最初的81年开始,就像一粒种子逐渐的茁壮成长,到现在位置发展成立一片森林。


三、数据技术分类与发展

(关注数据库、MySQL 的发展,在这个过程中需要了解数据库的技术是怎样的流向,一方面有助于我们了解数据库整个演进的历史,也有助于我们看明白数据库未来发展的方向。比如说 Aurora 很受欢迎,它一定是由原因一直存在的。)

图片27.png

1、上图中的第一行提到一些概念,这些概念就是关于数据的类型总结。

Datebase(数据库)1970年出现到现在有将近50年的历史。

像中国的甲骨文、微软,我们把这些统称为关系数据库系统,主要用于IT数据系统的存储、处理。

广泛应用于各种各样的IT领域,这是数据库公认的一个本质或者是大众经常看到的一个形态。这类产品如今很成熟,处于后期阶段。当然每一种产品还会继续发展,做出新的功能。

数据是一个很有意思的行业,那就是人们对于数据的认识,对于数据计算的需求,随着时间的推移不断变化和加深的。那么我们对于数据的需求会随着比如:对于大规模数据离线存储和实时计算产生了新的类型:Big data

2、人类对大规模数据与实时数据的需求是不断跟进的,因此出现 Big data

虽然上述数据库已经发展的十分成熟,但是不会影响数据新的技术不断出现、数据的新的产品不断出现。像大数据系统,也是数据库的一种。例如:Hadoop,spark,有许多企业在做相关的核心产品。

3、这些数据类型不是数据的中间者,到2010年,我们发现两种不同的数据领域方案出现了。其中一组就是起源于国内的:数据中台(14、15年)数据中台解决了关于多维度数据的计算的问题,是一个方案,做了融合数据的服务,但不是一个内核的产品,它是用多种数据库产品组装起来的一种方案级的解决数据需求的问题。(方案级解决数据需求,到现在还有许多人认可)

4、Cloud Native 出现于2016左右,由亚马逊、Google 提出的一个系统,出现了很多的产品,例如:aueora、国内 polarDB 。比较适合于云计算场景。

本质:透明化运维,它的存在是为了让云服务透明的支持用户使用过程中的方便的运维。(方便做大规模运维,以百万乃至千万的实例去运维的场景)为技术服务提供了非常有利的条件,称为亮化式服务。

5、2018年出现广义数据库系统,可以有效的与云原生系统做互补,形成关于混合数据计算的有利支撑。在技术精细化发展的过程中,想要做到把各种经济化的技术有效融合,提出广义数据库系统。

本质:云原生技术,同时可以用内核融合的技术将多种云原生产品或者多种科研产品多种对数据的算法做内核级的融合形成在用户使用过程中对多维度数据计算融合的问题。

与数据中台的过程相似,但是数据中台是一个方案级的概念,不是内核级的产品。

我们希望通过这样的方式提供一个内核的产品,用它来同云原生的数据库相配合能够全方位解决用户对于数据的各种各样的诉求,不管是经济化的诉求还是融合的诉求。这样这个产品的界面定位就非常的清晰(上表可以认为现在为止整个数据技术发展过程中的一个全景图。)比如像云原生系统的那么多产品,归结起来就是无外乎是各种云计算场景里面的通讯化应用的一个支撑。


四、数据库演进历程

图片28.png

用上图解释为什么数据库发展是这样的过程,可以通俗了解。

1、在远古时代,人类的物质产品不太丰富的情况下,想要搬运货物、运输货物,人类自己就可以解决。

类比成数据库:之前的数据量不大也很简单,用简单的结绳记事、算盘即可将数据算清楚。

以上是数据库的史前阶段,一种很古老的方式。

2、早期数据库阶段

相当于在我们运输货物的阶段,我们的工具有了新的进步,我们不再用手来解决。可以用工具来解决,例如用马、牛、独轮车等,是一个很大的进步。

出现小型数据库产品。在1970年之前。

3、传统数据阶段(ORACLE、SQL SERVER)

市面上常见的运输工具,例如出现货车、轮船等。运输能力较强、较为现代化。但是每一种形态的产品只适合于一种计算。像货车只能在陆地上跑,轮船只能在水中运输。

4、云原生数据库阶段

解决大规模集群化的运维,相当于我们可以组一个车队,用批量的方式解决大规模数据的问题。在这个阶段有国外得 POLARDB、AURORA SPANNER

5、广义数据库阶段

混合型计算。假设运一个东西,如果跋山涉水的话,从卡车到轮船再到飞机之类的换几种类型,我们可以制造一种类似于航空母舰的方式都可以将上面的方式解决掉,就能比较好的适配各种各样的场景。

这种广义数据库系统不管是TB运算、图计算,都能支撑是最好的。

现在受大部分人关注的还是云原生手段。云原生基本上是现在主流的一个场景。像国内的 polarDB。

那麽上述的内容和 MySQL 有什么关系呢?


五、MySQL 在数据库演进历程中的作用

无论怎么解释、怎么分类,MySQL 从传统阶段开始发挥了巨大的作用。MySQL 本身是一种传统的数据库,同时在云原生数据库阶段不管是什么技术,他们最初的形态都是基于 MySQL。换句话说,他们是将 MySQL 这种单机的版本,通过架构的优化变成了一个原生的产品。

云原生的核心:计算与存储分离,物理复制(MySQL 的传统的逻辑复制编程物理复制)


六、为什么要做计算与存储分离

计算与存储分离是一个手段不是目标,目标是使数据库能够承载大规模的数据量、计算量。在存储上实现大规模的扩展,同时在计算层接受大规模的计算支撑。这是就会发现,传统的架构是难以支撑的,我们要将计算和存储分离开,在计算层上做分离的时候就需要做物理复制快速拉起实力。在存储分离之后,才能在数据增大的时候进行扩容。

以上云原生的本质都是依据 MySQL 做的。将 MySQL 的计算层和存储层分开之后,做物理复制,从而实现快速拉起实力的做法。从而实现快速拓展,把 MySQL 的存储层实现透明的弹性扩容的支撑。

在所有的阶段都离不开上面的产品,MySQL 成为事实的新型数据库的一个生态标准,换句话说一款新的产品或者新的技术,不管怎么做,在上层都应该作为事实主流的MySQL 为核心去做拓展。

 

七、MySQL 的重大作用

MySQL 是事实主流,在所有的阶段都离不开 MySQL。在生产一款新产品、新技术,不管怎么做,在上层都应该以作为事实主流的 MySQL 为核心做拓展。

MySQL 几乎决定了新兴数据库领域的生态圈。做新闻产品在未来时间不太适合深造一种数据库,而是做到以 MySQL 为基础再去做不同的扩展,不同产品的功能或者拓展。以上就是 MySQL 所起到的重大作用。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
13天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
138 11
|
8天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
49 13
MySQL的安装&数据库的简单操作
|
3天前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
18 4
|
1天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
12天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
27 2
|
1月前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
157 2
|
1月前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
1月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
14天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

热门文章

最新文章