【TiDB 4.0 PCTA 学习笔记】- 1.1 A Brief History of Distributed Database (分布式数据库发展简史)@2班+元峥

课程名称:A Brief History of Distributed Database (分布式数据库发展简史)

学习时长:5

课程收获:

学习数据库的发展历史
从单机结构 到 中间件分库分表 到 大数据的兴起 到 nosql类(关注可拓展性和可靠性)再到最后的 NewSQL

课程内容:

90年代以前,绝大部分数据库用SQL语言和它们交互,大多数据库产品是以单机形式存在的,xxx(没听清)用户需要备份数据,防止磁盘损坏,并且一般只会使用他们处理OLTP需求。OLTP的意思是联机交易,以小的事物以及小的查询为主,当时的数据量没有那么大,并且业务的并发请求也很一般,所以在单机数据库上处理这个业务上表现还算不错,他们的特点去使用SQL来交互,是单机结构的,也就是说所有的数据是共享磁盘、CPU、内存和网络的。主要是为了OLTP请求来服务的,典型的有PostgreSQL,MySQL,SQLserver

2000年开始互联网大爆发,一些大业务量的公司在使用单机数据库时,其单机存储和计算已经没法支持着大量的业务了。非常多的公司就自己实现了针对数据库的中间件,挡在了业务服务和数据服务之间,用来做分库分表

另一方面随着数据量的暴增,大数据概念兴起,由于当时的数据库系统没法满足大规模数据的存储和分析的需求,类似于MapReduce加HDFS的数据仓库等技术出现,解决了这些海量数据存储和分析的需求,这类工具是不支持SQL交互的。而是使用编程语言,以MapReduce的框架来处理数据

同时,有许多基于SQL的olap数据库也在这个时候诞生了olap的意思是也叫做联机分析处理系统,也就是说,从我们常说的数据仓库,着重于处理海量数据的分析需求。这些olap数据库依然使用SQL语言进行交互,并且大多是分布式的,因为他们需要用很多很多台服务器来存储大量数据,并且一般他们会将数据按列来存储,这样在处理分析查询时会更快,他们相比传统的数据库也使用SQL来交互,但是是分布式结构的,所有的数据分布在不同的机器上,每台机器有自己的磁盘cpu内存和网络,数据是按列存储的,主要是为olap请求服务。

同一个时代nosql兴起,他们使用一种新的key value api 来和数据库交互,放弃了关系型模型和事物,拥有了传统数据库所没有的高可用和可扩展性,在互联网环境下,可能数据的可靠性和可拓展性比事务更重要。所以这些数据库也占领了一部分市场

这个时候出现了一种新的叫做NewSQL类型的数据库,他们尝试在实现SQL和事物的基础上提供不逊于nosql的高可用可拓展和高性能分布式数据库,随着olap数据库和oltp数据库的各自突现,你们想着是否能在同一个数据库上满足这两种需求?所以就有了HTAP的概念,HTAP中午翻译叫做混合事务分析处理,是指一款数据库既能满足联机事务处理,也就是oltp的场景,又能进行联机分析处理,也就是olap的场景,这款数据库既能像nosql一样执行OLTP请求,也能像数据仓库一样执行olap请求,

TiDB就是一款既能处理OLTP请求也能处理olap请求,是高性能,高可用,可扩展的SQL数据库

学习过程中参考的其他资料