课程名称:课程版本(101/201/301)+ TiDB 中的读写流程&TiDB 典型应用场景及用户案例
学习时长:50min
课程收获:读写请求流程,适用场景,用户案例
课程内容:
一、tidb整体架构
三大组件:
tidb:SQL层
tikv:分布式kv存储,快照隔离,采用raft协议,不依赖于分布式文件系统
pd:tidb的大脑,调度
二、tidb对于读请求的处理
- 客户端提交SQL到tidb server
- AST语法树生成计划
- 优化执行计划
- cost模型分析
- 选择最优计划发到tikv
读请求
-
客户端建立到TiDB的连接并向TiDB发送请求
-
TIDB从请求中获取SQL
3.TIDB解析和编译SQL,制定和优化查询计划
-
TIDB从PD获得start_ts
-
TiDB获取表的元数据,并将查询计划传递给一系列执行者
-
TIDB通过gRPC将协处理器请求发送给TikV
-
TIiKV接收请求,搜索数据,并将结果发送给TiDB
-
TiDB从TikV接收所有数据并处理结果
-
TIDB将结果发送给客户端
写请求
-
客户端建立到TiDB的连接并向TiDB发送请求
-
TIDB从请求中获取SQL
3.TIDB解析和编译SQL,制定和优化查询计划
-
TIDB从PD获取start _ts
-
TiDB获取表的元数据,并将查询计划转换为一系列执行器
-
TIDB提交请求
-
根据过滤器, TiDB使用二阶段提交数据,将在提交二阶段向PD请求获得commit_ts
-
将结果发送给TiDB
-
TiDB发送结果到客户端
一、tidb特性概述
- 可扩展
- 高可用
- 分布式事物
- 实时HTAP分析
二、适用场景
- 海量数据
- 高并发应用
- 基于mysql协议开发的应用
- 弹性计算和存储请求
- 重要业务及有多活需求的
- 跨库统计报表业务
- 指定列的统计分析业务
三、用户案例
知乎——规模最大的tidb集群
tikv节点:250+
tidb节点:20+
记录数:2w亿
数据增长:100亿/月
业务响应:几十到数百毫秒
北京银行
架构:两地3中心,同城双活
联机交易系统OLTP
稳定运行两年以上
在线扩容、在线缩容、在线升级
数次硬件故障及误操作
paypay支付
日本最大的移动支付公司
交易系统使用Tidb,之前使用的是Aurora数据库
数据量:100TB
中通快递
网点查询业务使用tidb
tispark报表查询BI业务
双11节前在线扩容一倍节点,双11过后缩容还原