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

课程名称:1.1 A Brief History of Distributed Database

学习时长:10

课程收获:

了解分布式数据库发展简史

课程内容:

早期:
传统OLTP数据库。代表PG,Mysql,SQL SERVER及Oracle。传统OLTP数据库已其强大的单机性能,强大的事务能力及标准SQL的支持受到众多企业的欢迎。到目前为止所有运行数字化系统的企业都在使用他们。

但是随着互联网业务的兴起,业务的请求量和数据量急剧攀升。传统OLTP数据库的霸主Oracle想要支撑这么大的数据量和请求量就必须投入巨额的成本,来购买高端服务器和高端存储以及Oracle本身的高额授权费用。众多互联网大场为了节约成本,将应用进行拆分,把大的业务变成一块一块小的业务,使用单机性能略差与Oracle的Mysql来作为各个小业务提供数据库服务。

随着业务继续发展,最小业务单元的数据量和请求量也达到了单机mysql的性能瓶颈。于是聪明的架构师设计出一个数据库中间件来扩充Mysql的性能。

中间件时代:
架构师在应用和Mysql数据库之间加了一层路由,结合Mysql主备的架构特性,实现读写分离来扩充读QPS,实现分库分表来提升写及较大数据量读性能。

但是中间件也只能解决一部分的OLTP业务问题,对于大数据量的分析和挖掘,这种架构就心有余而力不足了。于是市面上有涌现出了一大批OLAP数据库。

OLAP数据库:
代表有hadoop,可以处理海量数据。

虽然中间件和大数据能解决一部分业务遇到的问题,但是复杂的架构也带来了更多其他问题。比如中间件对分布式事务的支持弱,不能完全保证数据的一致性;SQL的支持性差,业务需要进行大量的改造;扩展性差,增减机器都需要做大量的数据迁移工作。
Hadoop体系架构复杂,部署运维成本高;处理时效性差,基本是T+1级别的。为了解决这些问题,架构师又想出了一条新路-newsql。

newsql:
代表TIDB OCEANBASE Spanner 蟑螂DB等等。NEWSQL解决了中间建锁带来了限制,也提供了一部分OLAP的能力,所以又称它们为HLAP数据库。

补充:虽然newsql能提供部分OLAP的能力,到对于pb级别的数据分析和挖掘还是需要借助Hadoop以及mpp数据库的能力(clickhouse,dori)。

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