TiDB 高级系统管理 :TiDB 数据库 HTAP 技术 要点
思考一下:
1. 异步复制 怎么保证一致性读取?
2 raft 角色有哪三种?
特点1
htap
架构是什么
mpp工作原理
数据交换
1.下面属于 HTAP 场景特点的是?(请选择 3 项)
A. 在故障恢复方面可以做到 RPO = 0
B. 支持分区特性
C. 支持在线业务高并发
D. 同时支持 OLTP 和 OLAP 业务
E. 能够读取到一致性的数据
答案:c d e
2.关于 MPP 架构,下列说法不正确的是?
A. MPP 架构的中间结果都在内存中
B. MPP 架构可以作用于 TiKV 和 TiFlash 上的数据
C. MPP 架构目前不支持非等值 join
D. MPP 架构可以对聚合、JOIN 等操作加速
答案:b
当前 MPP 模式不支持的主要功能如下(详细信息请参阅用户文档):
分区表
Window Function
Collation
部分内置函数
读取 TiKV 数据
OOM Spill
Union
Full Outer Join
TiDB 默认由优化器自动选择是否使用 MPP 模式, 你可以通过修改变量 tidb_allow_mpp 和 tidb_enforce_mpp 的值来更改选择策略。
1.下面属于 TiFlash 核心特性的是?(请选择 3 项)
A. 采用行存(tikv) + 列存(TiFlash)的混合存储方式(这个是HTAP)
B. region 支持 raft 投票和选举(learner)
C. TiFlash 采用异步复制来保证和 TiKV 一致
D. 在 TiKV 上写入数据成功后,在 TiFlash 上可以一致性读取
E. CBO 基于成本选择在 TiFlash 或者 TiKV 上执行 SQL
答案:c d e
2.关于 TiFlash 的使用,描述不正确的是?
A. TiFlash 不善于处理高并发,QPS 一般不应过高
B. TiFlash 建议混合部署在服务器上
C. TiFlash 支持全新部署和扩容两种部署方式
D. 部署 TiFlash,要求开启 PD 的 Placement Rules 功能
答案:b
TiFlash 主要有异步复制、一致性、智能选择、计算加速等几个核心特性。
异步复制
但是在读取的时候通过 Raft 校对索引配合 MVCC 的方式获得 Snapshot Isolation 的一致性隔离级别
一致性
TiFlash 提供与 TiKV 一样的快照隔离支持,且保证读取数据最新(确保之前写入的数据能被读取)。这个一致性是通过对数据进行复制进度校验做到的。
每次收到读取请求,TiFlash 中的 Region 副本会向 Leader 副本发起进度校对(一个非常轻的 RPC 请求),只有当进度确保至少所包含读取请求时间戳所覆盖的数据之后才响应读取。
t0 时刻 写入到tikv,但是raft log 没有复制到tiflash
t1 客户端读取怎么办?