【TiDB 4.0 PCTA 学习笔记】- 1.3 A Brief History About the TiDB database platform(TiDB 发展简史)@2班+王涛

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

学习时长:

30min

课程收获:

了解 TiDB 的发展

课程内容:

TiDB 1.0 GA版本

  • 可以从计算和存储无限拓展
  • 兼容MySQL的语法和协议
  • 对应用透明的数据分片策略,做到对应用无感知
  • 强一致性的分布式事务

TiDB :无状态的SQL引擎,承担计算任务,可以多实例启动

TiKV:分布式k-v存储引擎,使用raft算法进行副本复制,保证高可用

PD:元数据的存储和TiKV中数据调度

由于计算能力和存储能力的无限拓展,TiDB = 容量无限大的单机Mysql

TiDB的中台能力

通过Syncer向TiDB进行数据汇总

由于协处理器的存在,汇总的数据可以并行的在TiKV中进行聚合,生成报表

TiDB存在的问题

  • TP场景
    • 有点问题,但是总体好用,问题不大
  • AP场景
    • 复杂查询太慢
    • 经常OOM
    • 无法和大数据平台整合

解决方案:需要成熟的分布式计算框架

融入TiSpark的TiDB

借助TiSpark可以把单点的计算能力变成多节点的并行计算能力。

优点:

  1. 提供了分布式计算
  2. 无缝接入大数据的生态

缺点:

  1. 并发性低
  2. 消耗大量的大量资源,用户希望高并发的同时,还可以做些中等规模的AP查询

TiDB的优化:

融入TiFlash的TiDB

当前的2个问题:

  1. 行存不利于分析
  2. 资源没有隔离

TiFlash解决的问题:

  • 通过Raft Learner向列存储引擎同步一份数据
    • 同步代价极低
    • 读取通过Raft Index结合MVCC实现了强一致读
  • 通过打标签的方式实现了物理的隔离,这样AP和TP的负载就不互相影响

Raft Learner同步

现在的TiDB

TiDB 可以称为一个真正的 HTAP系统

  1. TiDB既有行存和列存,数据自动进行行、列转换
  2. 在系统运行TP业务时,也可以方便进行报表查询

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