TiDB4.0课程学习-1.6TiDB中的读写流程

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

本课程主要包括 TiDB 架构的简单介绍、各个组件的作用,以及读写请求在 TiDB 中的过程

学习目标: 对 TiDB 整体架构以及读写路程有大概的了解

关键知识点: TiDB 架构;读写流程

讲师:沈刚

image-20201217231422935

TiDB 中的读写流程

image-20201217231406645

image-20201217231500384

在我们开始之前

  • 来龙去脉

  • 目标

    • 对TiDB的整体架构有一定的了解吗
    • 理解TiDB读写请求的一般处理流程
  • 大纲

    • TiDB平台介绍
    • TiDB中的读请求
    • TiDB中的写请求

第一部分:TiDB平台介绍

image-20201217231514028

第一部分:TiDB平台介绍

  • TiDB平台介绍
  • 目标
  • 小标题
    • TiDB
    • TiKV
    • PD
  • 关键点
  • 回顾目标

image-20201217231543640

TiDB概览图

image-20201217231614574

image-20201217231709330

tidb不提供负载均衡功能

  • 引入TiKV
    • 分布式键值存储引擎
    • 快照隔离
    • Raft协议
    • 不依赖于分布式文件系统

image-20201217231740663

  • TIDB组件功能
    • PD
    • 高可用

第二部分:TiDB读请求

image-20201217231816472

SQL 进程流

TiDB读请求

image-20201217231853548

image-20201217231927508

TIDB读请求

1.客户端建立到TiDB的连接并向TiDB发送请求
2.TiDB从requesl获取SQL
3.TIDB解析和编译SQL,制定和优化查询计划
4.TiDB从PD获得startts
5.TiDB获取表的元数据,并将查询计划传递给一系列执行者
6.TiDB通过gRPC将协处理器请求发送给TikV
7.TiKV接收请求,搜索数据,并将结果发送给TiDB
8.TiDB从TikV接收所有数据并处理结果
9.TiDB将结果发送给客户端

第三部分:写请求在TIDB中的处理过程

image-20201217232007846

image-20201217232019691

写请求在TIDB中的处理过程

1.客户端建立到TiDB的连接并向TiDB发送请求
2.TIDB从请求中获取SQL。
3.TIDB解析和编译SQL,生成和优化查询plar
4.TiDB从PD获得startts
5.TIDB获取表的元数据,并将查询计划转换为一系列执行程序
6.TiDB提交请求
7.根据percolator,TiDB将在提交阶段获得committs(2PC)。
8.将结果发送给
9.TiDB发送结果到客户端