【TiDB 4.0 PCTA 学习笔记】- 1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)@2班+欧阳

课程名称:1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)

学习时长:15min

课程收获:对 TiDB 整体架构以及读写路程有了大概的了解

课程内容:

  • TiDB整体架构

    • TiDB

      • SQL层

      • 接收客户端连接

      • SQL解析及优化

      • 生成执行计划

      • 无状态

      • 不提供负载均衡

        • HaProy
        • LVS
        • F5
    • TiKV

      • jpg
      • 存储基于rocksdb
      • Raft协议
      • 不依赖文件系统实现
    • PD

      • 大脑
      • 分配全局事务ID
      • 通过etcd实现高可用
      • 4.0后,PD还提供了Dashboard功能
  • TiDB中的读请求

    • SQL处理流程

    • ![]

    • 读请求处理过程

      • 1、客户端与TiDB建立连接,发送请求
      • 2、TiDB获取到请求中的SQL
      • 3、TiDB解析编译SQL,生成并优化执行计划
      • 4、TiDB从PD获取start_ts(TSO)
      • 5、TiDB读取表的元数据并把执行计划发送给一系列执行器
      • 6、TiDB通过gPRC把协处理器请求发送给TiKV
      • 7、TiKV接收请求,搜索数据,发送结果给TiDB
      • 8、TiDB从TiKV接收所有数据处理结果
      • 9、TiDB把结果发送给客户端
  • TiDB中的写请求

    • 1、客户端与TiDB建立连接,发送请求
    • 2、TiDB获取到请求中的SQL
    • 3、TiDB解析编译SQL,生成并优化执行计划
    • 4、TiDB从PD获取start_ts(TSO)
    • 5、TiDB读取表的元数据并把执行计划发送给一系列执行器
    • 6、TiDB生成一个提交请求
    • 7、TiKV根据过滤器使用两阶段提交(预写/提交)提交数据,TiDB会在两阶段提交中的提交阶段获取commit_ts (TSO)
    • 8、TiKV把结果发送给TiDB
    • 9、TiDB把结果发送给客户端
  • 读写请求区别

    • 读请求只向PD请求一次TSO

    • 写请求要向PD请求两次TSO

      • 第一次start_ts
      • 第二次,两阶段提交中提交阶段commit_ts

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

1 个赞

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。