课程名称:1.1 A Brief History of Distributed Database(分布式数据库发展简史)
学习时长:
45 mins
课程收获:
了解了从20世纪到21世纪分部署数据库的发展历史,通过这段历史,能够体会到传统数据库、NoSQL、NewSQL、数据仓库、数据中间件的基本概念和区别,并且了解了OLAP、OLTP、HTAP这三者之间的关系和区别。
课程内容:
主要介绍从20世纪到21世纪分布式数据库的发展历史,在这段历史中,有几个重要的时间节点,可以将这段历史划分开。
- 90年代之前
- 数据库代表:PostgreSQL、MySQL、SQL Server
- 特点:
1.绝大部分数据库使用SQL语言与其进行交互
2.大部分都是单机部署
3.一般只会用来处理OLTP(联机事务处理,以小的业务、小的查询为主)请求 - 缺点
单机部署,所有数据共享磁盘、内存、CPU、网络,为防止数据丢失,经常需要对磁盘进行备份; - 适用对象
数据量不大、并发请求一般的业务
- 2000年开始
- 数据库中间件
- 单机数据库的存储和计算无法满足大量的业务,许多公司设计数据库中间件,安插在业务服务与数据服务之间,来实现数据的分库分表、读写分离、垂直拆分等;
- 典型代表:Vitess、ShardingSphere
- 数据仓库(不支持SQL交互,)、
- 能够满足数据大规模存储和分析
- 不支持SQL交互,采用编程语言来处理数据
- 代表:hadopps+hdfs
- 基于SQL的OLAP数据库(联机分析处理系统)(分布式、案列存储、基于SQL)、
- OLAP(联机分析处理系统)
- 大多是分布式
- 使用SQL交互
- 一般采用列存储
- 代表:monetdb、Greenplum
- NoSQL
- 采用KV存储
- 放弃了关系模型和事务
- 高可用、高拓展
- 代表:MongoDB、HBASE、cassandra
- 2010年
- NewSQL
- 高可用、高拓展、高性能
- 支持SQL、事务
- 分布式
- 代表:Cloud Spanner
- HTAP(混合事务分析处理)
- 同时支持OLAP、OLTP
- 代表:TiDB
4.TiDB
- HTAP数据库
- 支持SQL
- 分布式
- 高可用、高性能