课程名称: 课程版本(101/201/301)+ 1.1 A Brief History of Distributed Database(分布式数据库发展简史)
学习时长:10分钟
课程收获: 分布式数据库发展简史
课程内容:
阶段1:2000年前,Old Days–单机数据库的黄金年代。
由于当时的数据量普遍较少,并发也很低,业务基本都是TP类型。因此当时的数据库库基本都是采用单点架构(share everything),支持SQL语句
- 开源的如:PG MySQL
- 商用的有 SQLServer Oracle DB2 等。
E.F Codd的论文:梦开始的地方
阶段2:2000年,数据库开启了多元化的战国时代。
* Hadoop。这里包括标志性的BigTable论文(谷歌2006) CAP、BASE等理论功不可没。
-
hadoop框架逐步形成,核心设计:HDFS和MapReduce。
HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供计算 -
OLAP分析型数据库出现了Greenplum这样的产品。
他们采用分布式架构(share nothing)、支持列存储,也支持SQL语句。
* 全新的NoSQL类型数据库横空出世,代表作:MongoDB、HBase、Cassandra、Redis、Memcached。
NoSQL=Not Only SQL。它们的一些特性:
- 基于Key-value
- 无事务,无关系模型,无schema设计
- 高性能,高可用性
- 分布式架构(share nothing)
NoSQL当时非常火爆如日中天,大有替代传统SQL数据库之势,但如今他们最终也纷纷支持SQL,作为特定场景下的一种补充。
没有什么问题,是一条SQL解决不了的,如果有那就2条。
* 分布式中间件也开始流行,例如 Vitess Sharding Sphere
阶段3:2010年,NewSQL、HTAP 大航海时代拉开序幕
既有NoSQL的强扩展性,又能兼顾OLTP数据库的SQL支持,同时性能强悍的NewSQL出现。如 Spanner(谷歌2012)
新概念HTAP被提出:既能AP又能TP。例如:TiDB、CockroachDB、Aurora
阶段4:2020年,未来已来,国产数据库元年
拭目以待,共同见证