【TiDB 4.0 PCTA 学习笔记】1.3 A Brief History About the TiDB database platform(TiDB 发展简史)

课程名称:101+1.3 A Brief History About the TiDB database platform(TiDB 发展简史)

学习时长:25min

课程收获:

介绍了 TiDB 的发展历史。自从 v1.0.0 GA 开始,TiDB 做到了:可以从计算和存储两个层面的无限扩展,兼容了 MySQL 的语法和协议,强一致的真分布式事务。到今天,TiDB 可以称为一个真正的 HTAP 系统,不需要 ETL 工具进行数据转换,在系统运行 OLTP 业务时,也可以方便的进行报表查询。
一、早期TIDB简介;
二、TiSpark简介;
三、TiFlash简介;
四、现代的TiDB;

课程内容:

一、早期TiDB:

  1. 可以从计算和存储的两个层面的无线扩展;
  2. 兼用Mysql语法和协议;
  3. 强一致的分布式事务支持;
  4. 分为3个组件TiDB(无状态的SQL引擎,前端计算时可多实例启动),TiKV(分布式存储引擎,用Raft算法进行副本之间的复制来保证高可用),PD(主管元数据的存储以及TiKV之间的调度);
  5. 由于具备无线横向扩展的特性,TiDB可视为容量无线大的MySql;
  6. 数据中台:
    (1)TiDB是中台数据场景的理想选择;
    (2)协议兼容,容易同步mysql生产库;
    (3)透明和可访问的交叉分割查询;
    (4)数据的实时性;
    (5)海量存储允许多个数据源汇聚;
    (6)备机和中台合二为一;(在中台场景通过Syncer向TiDB进行数据的汇总,由于协处理器的存在,汇总的数据可以在TiKV中进行聚合,生成报表)。
  7. 缺点:
    (1)在tp场景下,有点问题,影响不大;
    (2)在ap场景下,复杂查询太慢、经常OOM(内存溢出)、无法和大数据平台整合"。

二、TiSpark:

  1. 将TiDB的计算能力扩展为多点变形计算;
  2. 优点
    (1)提供分布式的计算框架,更快也更稳定;
    (2)无缝接入大数据生态,在脚本、Python、R语言都可以轻松操作tidb集群;
  3. 缺点:并发性低并且消耗大量计算资源;
  4. TiDB优化:简单优化器到加入RBO和CBO的优化器,到将来支持cascades optimizer,执行器从火山模型到批量执行到向量化执行以及更好的并发控制,外加一些新特性,比如分区表、index merge等,这些都对复杂计算有巨大的提升;

三、TiFlash:

  1. 通过Raft Learner向列存储引擎同步一份数据:
    (1)同步代价极低的问题;
    (2)读取通过Raft Index结合MVCC实现了强一致读。
  2. 通过打标签的形式实现了物理的隔离,使AP和TP的负载不互相影响"。

四、 今天的TiDB:

  1. 可称为HTAP;
  2. 在系统进行业务时,也可以方便报表查询数据库;
  3. 既有行存,也有列存,数据可自动进行转换。