# Exam PingCAP Certified TiDB Associate [TiDB v6.x]

### 1.请从下列功能中，选出属于由 TiKV 完成的是? (请选择 2 项)
+ 选项
  + A. 执行被下推的类似数据过滤、部分聚合等 SQL 计算，目的是减少 TiDB Server 与 TiKV 的网络交互成本和 TiDB Server 的 CPU 和缓存负载
  + B. store ID，region ID，table ID 和 index ID 等全局 ID 和分布式事务的事务 ID 生成
  + C. Region 各个副本所在 TiKV （store）路由信息的存储
  + D. 存储锁信息到 RockDB 实例中
+ 答案: A. D
+ 知识点:
  + Lesson 01 TiDB 数据库架构概述 
  + __*TiKV 功能*__
+ 试题解析:
  + B：PD 完成
  + C: PD 完成

### 2.下列关于 PD 与 TiDB Server 的功能说法正确的是？
+ 选项
  + A. TiDB Server 负责 SQL 的解析和编译，而 PD 负责在关系型数据和 KV 存储间相互转换
  + B. TiKV 的元数据，在数据库启动后会全部载入到 TiDB Server 的缓存中，加快查询效率
  + C. TiDB Server 的缓存中除了有表的元数据外还会存储 Online DDL 的 job 队列
  + D. TiDB Server 在开始执行 SQL 语句时，会从 PD 节点获取当前的 TSO
+ 答案: D
+ 知识点:
  + Lesson 01 TiDB 数据库架构概述 
  + Lesson 01 TiDB 数据库架构概述 
  + __*TiDB Server功能*__
  + __*PD 功能*__
+ 试题解析:
  + A: TiDB Server 负责 KV 转化
  + B: 读取用到的会到 region cache 中
  + C: TiKV 中存储

### 3.关于 TiDB 数据库的特点，下列描述正确的是？? (请选择 2 项)
+ 选项
  + A. 具有同时支持 OLTP 与 OLAP 业务的能力
  + B. TiDB 数据库需要通过数据复制的方式（搭建从库）才能保证数据的高可用性
  + C. 只有在云原生模式下，TiDB 数据库能够实现水平扩容或者缩容
  + D. 能够同时存储一份数据的行存版本和列存版本，并保证一致性读取
+ 答案: A, D
+ 知识点:
  + Lesson 01 TiDB 数据库架构概述 
  + __*TiDB 特点*__
+ 试题解析:
  + B: 天然支持多副本的高可用
  + C: 天然支持水平扩容或者缩容

### 4.下面哪个选项是对于 TiFlash 和 TiKV 的正确描述？
+ 选项
  + A. TiFlash 节点不支持写数据操作，所以无法帮助 TiKV 节点分担写压力
  + B. 由于 TiKV 节点的 Coprocessor 功能，所以只有 TiKV 节点具有数据计算的功能
  + C. TiKV 节点宕机以后，TiFlash 节点将无法读取数据
  + D. 同一条 SQL 语句，经过智能选择，不可能同时从 TiKV 和 TiFlash 中读取数据
+ 答案: A
+ 知识点:
  + Lesson 01 TiDB 数据库架构概述 
  + Lesson 01 TiDB 数据库架构概述 
  + __*TiKV 功能*__
  + __*TiFlash 功能*__
+ 试题解析:
  + B: TiKV 与 TiFlash 都具有 
  + C: TiFlash 节点在 TiKV 故障后可以继续读取数据
  + D: SQL 语句可以同时从 TiKV 和 TiFlash 中读取数据


### 5.下面关于 TiDB Server 中相关模块的叙述中正确的是？
+ 选项
  + A. PD Client 模块只是负责 TiDB Server 向 PD 请求 TSO，并返回 TSO 并接受返回的的 TSO
  + B. Executor 模块负责执行 SQL 执行计划
  + C. TiKV Client 模块只负责执行 Coprocessor request，比如，过滤，聚合或列投影等等，点查操作由 KV 模块直接发给 TiKV
  + D. DistSQL 模块负责将包含 JOIN，SUBQUERY 等复杂算子和涉及很多的表的 SQL 抽象为只涉及到单个表数据的多个操作，并将这些操作直接发给 TiKV
+ 答案: B
+ 知识点:
  + Lesson 02 TiDB Server 
  + __*SQL 读写相关模块*__
+ 试题解析:
  + A: 还有获得 region 的路由
  + C: TiKV Client 负责所有与 TiKV 的交互，KV 模块无法直接与 TiKV 沟通
  + D: DistSQL 模块无法直接与 TiKV 沟通

### 6.关于在线 DDL（online DDL），下面哪个描述是正确的？
+ 选项
  + A. Online DDL 操作指的是 DDL 操作并不影响线上业务，对于性能监控也是无感知的
  + B. 如果有多个 TiDB Server ，所有 TiDB Server 中的 worker 模块会并行处理添加索引的操作，加快进度
  + C. Online DDL 的 job 队列被持久化在 TiKV 中，不是 TiDB Server 中
  + D. 接收到 DDL SQL 的 TiDB Server，会先启动自己的 worker 模块处理 DDL，之后根据负载情况可能转移给 owner 角色的 TiDB Server 中的 worker 模块处理
+ 答案: C
+ 知识点:
  + Lesson 02 TiDB Server  
  + __*在线 DDL*__
+ 试题解析:
  + A: 不阻塞，会影响性能
  + B: 同一时间只有一个 worker
  + D: 不会启动，会询问自己的 worker 是否为 owner 角色

### 7.下面关于 TiDB 数据库中 SQL 的解析和编译，描述正确的是哪些？（请选择 2 项）
+ 选项
  + A. 编译（Compile）操作的产物是 AST 语法树
  + B. 物理优化发生在编译（Compile）操作中
  + C. 逻辑优化发生在编译（Compile）操作中
  + D. SQL 语句的 TSO 获取一般在解析和编译操作之前完成
+ 答案: B，C
+ 知识点:
  + Lesson 02 TiDB Server 
  + Lesson 02 TiDB Server 
  + __*SQL 语句的编译*__
  + __*SQL 语句的解析*__
+ 试题解析:
  + A: 解析的产物是 AST 语法树
  + D: 之后完成

### 8.TiDB 数据库将关系型数据（含有主键，并希望 key 中含有主键）转化为 key-value 数据，下面正确的顺序为？
(1) 如果 region 大小超过 96 MB，则分裂为 2 个
(2) 再次划分 region 空间，之后将 key-value 继续填充，保证其大小为 114 MB
(3) 将表所有行加上一个 RowID 列作为 value，与key 序列对应生成 key-value 对
(4) 主键（Primary Key）对应的单行数据作为 value，形成 key-value 对
(5) 将原表缓存起来，表中每一行的主键（primary key）复制出来，与 Table ID 和 RowID 拼接，生成 key 序列
(6) 将主键（Primary Key）单独分离出来，与表的 Table ID 拼接，作为 key 序列
(7) 先划分好空的 region 单元，每个单元保证 96 MB～114MB，之后将 key-value 填充到其中
(8) 将这些 key-value 存储在一个 region 中
+ 选项
  + A. （6）->（4）->（7）->（2）
  + B. （5）->（3）->（7）->（2）
  + C. （5）->（3）->（8）->（1）
  + D. （6）->（4）->（8）->（1）
+ 答案: D
+ 知识点:
  + Lesson 02 TiDB Server 
  + __*关系型数据与 KV 的转化*__

### 9.下列对于 TiDB 数据中 GC 机制（非 Go 语言中的 GC 机制）描述正确的为？? (请选择2项)
+ 选项
  + A. 如果有多个 TiDB Server，则这些 TiDB Server 可以并行来执行 GC 操作
  + B. GC 会被自动触发，默认是 10 分钟一次
  + C. GC life time 是无法手工调整的，由系统根据数据库压力情况自动调整
  + D. 每次 GC 操作过后，修改时间在 safe point 之前的旧版本数据快照可能会被删除掉，之后的不会
+ 答案: B，D
+ 知识点:
  + Lesson 02 TiDB Server 
  + __*TiDB Server GC*__
+ 试题解析:
  + A: 一个 TiDB 集群中会有一个 TiDB 实例被选举为 GC leader,GC 的运行由 GC leader 来控制
  + C: 可以通过变量设置

### 10.下列关于 TiDB Server 缓存的描述不正确的是？（注意是不正确）
+ 选项
  + A. 复杂 SQL 的查询中间结果，往往会存储在 TiDB Server 的缓存中
  + B. information schema 和表的统计信息都是存储在 TiDB Server 的持久化存储中，启动后载入 TiDB Server 的缓存中
  + C. 通过 tidb-mem-quota-query 参数能够控制每个查询的缓存使用量
  + D. oom-action 参数用来设置 SQL 语句超过内存使用阈值后的行为
+ 答案: B
+ 知识点:
  + Lesson 02 TiDB Server 
  + __*TiDB Server 缓存*__
  + __*tidb-mem-quota-query*__
  + __*oom-action*__
+ 试题解析:
  + B: information schema 和表的统计信息都是存储在 TiKV 中的

### 11.下面的哪些功能是 TiKV 的特性？（请选择 3 项）
+ 选项
  + A. TiKV 中的 RocksDB 实例负责存储 key-value 数据
  + B. 一部分过滤、聚合和投影等 SQL 计算工作
  + C. 将锁信息和事务的提交信息进行存储
  + D. 将 region 的元信息进行存储
+ 答案: A，B，C
+ 知识点:
  + Lesson 03 TiKV 
  + __*TiKV 架构*__
  + __*TiKV 作用*__
+ 试题解析:
  + D: PD 的作用

### 12.下列选项不是 RocksDB 特点的是？（注意：不是）
+ 选项
  + A. 持久化机制，同时保证性能和安全性
  + B. 性能随 CPU 数量线性提升
  + C. 支持 key-value、json、xml 和 图数据的存储
  + D. RocksDB 使用 LSM 存储引擎
+ 答案: C
+ 知识点:
  + __*RocksDB 特点*__
+ 试题解析:
  + C: 只支持 key-value

### 13.关于 TiKV 节点中的 RocksDB 实例的写操作，下面描述正确的有？（请选择 3 项）
+ 选项
  + A. immutable MemTable 不支持继续写入
  + B. Level-0 层的 SST 文件是 immutable MemTable 的转储
  + C. 写入操作（增删改）的数据最开始都是保存在内存中的
  + D. WAL 的作用是为了加速磁盘的写入速度，将随机写变为顺序写
+ 答案: A，B，C
+ 知识点:
  + Lesson 03 TiKV 
  + __*MemTable*__
  + __*immutable MemTable*__
  + __*SST*__
  + __*RocksDB 写流程*__
+ 试题解析:
  + D: WAL 为了不丢失数据

### 14.下列哪项关于 RocksDB 实例的读描述是正确的？
+ 选项
  + A. 读取时，内存中只读 Block Cache，不会去读 memtable，目的是不会影响写的效率
  + B. 读取时，如果内存中没有找到的 key 一定不会出现在 Level0 的 SST 文件中
  + C. Column Families 共享 SST 文件
  + D. Column Families 共享 WAL 文件
+ 答案: D
+ 知识点:
  + Lesson 03 TiKV 
  + __*RocksDB 查询*__
  + __*RocksDB 读*__
  + __*Block Cache*__
  + __*Column Families*__
  + __*列族*__
  + __*列簇*__
+ 试题解析:
  + A: 都会读
  + B: 会读
  + C: 不共享，只共享 WAL

### 15.关于 TiKV 中 Raft 与 Multi Raft 的说法正确的是？（请选择 2 项）
+ 选项
  + A. raft log 利用 region ID 和日志的顺序 ID 来进行唯一标识
  + B. 在 raft 中，同一时间（一个 term 内），可以有多个 leader 在集群中
  + C. candidate 角色的 TiKV 节点在达到某种条件后，会自动将状态变为 leader
  + D. 同一个 region 的多个副本可以在一个 TiKV 节点上
+ 答案: A，C
+ 知识点:
  + Lesson 03 TiKV 
  + __*Raft 日志复制*__
+ 试题解析:
  + B: 1 个 term 先后只有 1 个 leader 存在
  + D: 不可以

### 16.请选择 TiKV 中 Raft 日志复制的正确顺序？
+ 选项
  + A. Append -> Propose -> Committed -> Replicate -> Apply
  + B. Propose -> Append -> Committed -> Replicate -> Apply
  + C. Propose -> Committed -> Append -> Apply -> Replicate
  + D. Propose -> Append -> Replicate -> Committed -> Apply
+ 答案: D
+ 知识点:
  + Lesson 03 TiKV 
  + __*Raft 日志复制*__
  + Lesson 03 TiKV 
+ 试题解析:
  + A: 不只分布式
  + C: 都会生效，例如 commiteed read
  + E: safe point 

### 17.关于 TiDB 数据库的 MVCC 机制，下列说法正确的是？
+ 选项
  + A. MVCC 机制只存在于支持分布式事务的数据库中
  + B. 只有当隔离级别为 snapshot isolation 或者 repeatable read 时候，MVCC 才会生效
  + C. 在 TiDB 数据库中，一旦数据被修改并且事务被提交，新的读取（select 操作并且 tidb_snapshot=""）则无法读取到修改之前的任何版本
  + D. TiDB 数据库中存储了数据从写入至当前的所有版本
+ 答案: C
+ 知识点:
  + Lesson 03 TiKV 
  + __*MVCC*__
+ 试题解析:
  + A: 不只分布式
  + C: 都会生效，例如 commiteed read
  + D: safe point 


### 18.关于 TiKV 分布式事务实现，说法不正确的是？（注意是不正确）
+ 选项
  + A. Default cf 和 Write cf 中都有可能存储写入的数据
  + B. TiDB 数据库中分布式事务的实现参考了 Google 的 Percolator
  + C. Percolator 的 commit 阶段需要将所有行的锁删除掉，才算成功
  + D. 分布式事务一般需要拿到 2 个 TSO
+ 答案: C
+ 知识点:
  + Lesson 03 TiKV 
  + __*分布式事务*__
+ 试题解析:
  + C: 只删除 primary key 锁即可

### 19.关于 TiKV 的读写，下列理解正确的是？（请选择 2 项）
+ 选项
  + A. 单条 select 语句读取到的任何数据都是已经从 raft log 日志中 apply 到 RocksDB KV 中的
  + B. follower read 不可能比 leader read 先读到数据
  + C. 当集群中所有的 follower 节点都收到了这个日志（ raft log ），我们才认为这个 （ raft log ） 是 committed
  + D. 最开始从 PD 中读取到的路由信息中的 leader 所在 TiKV 节点，不一定是最终读取数据的节点
+ 答案: A，D
+ 知识点:
  + Lesson 03 TiKV 
  + Lesson 03 TiKV 
  + Lesson 03 TiKV 
  + __*TiKV 写入*__
  + __*TiKV 读取*__
+ 试题解析:
  + B: 先 apply 就会
  + C: 多数派即可

### 20.关于 TiKV 中 Coprocessor 功能的描述，不正确的是？（注意是不正确）
+ 选项
  + A. Coprocessor 功能能够减少 TiDB Server 与 TiKV 节点间的网络开销
  + B. 将 SQL 的计算下推到 TiKV 节点，TiDB Server 不再负责 SQL 的计算，从而降低 CPU 使用率
  + C. 表的统计信息收集可以借助 Coprocessor 由 TiKV 来完成
  + D. 导入数据后的一致性校验可以借助 Coprocessor 由 TiKV 来完成
+ 答案: B
+ 知识点:
  + Lesson 03 TiKV 
  + __*Coprocessor*__
+ 试题解析:
  + B: TiDB Server 会进行二次聚合

### 21.下面对于 PD 的原理和功能描述，正确的是？（请选择 2 项）
+ 选项
  + A. PD 会以一定的时间间隔向所有的 region 发送心跳，并拉取 region 当前的最新信息
  + B. 全局事务 ID，store ID，region ID 是由 PD 分配的，Table ID 和 Index ID 是由执行 SQL 的 TiDB Server 根据表的元数据信息生成的
  + C. SQL 向 PD 请求 TSO 后，并不会被阻塞，而是继续进行解析和编译，所以是异步获取
  + D. TSO 分配中，时间窗口的一个目的是减少 PD 的 IO 负载
+ 答案: C，D
+ 知识点:
  + Lesson 04 PD (Placement Driver) 
  + Lesson 04 PD (Placement Driver) 
  + __*PD 架构*__
  + __*PD 功能*__
+ 试题解析:
  + A: 是 region 的推送
  + B: 都是 PD 分配的
  + C: 有 region cache

### 22.关于 label（标签），以下说法不正确的是？（注意是不正确）
+ 选项
  + A. Zone 必须对应一个数据中心（DC），不能对应一个机柜
  + B. label 的配置需要在 PD 和 TiKV 上进行操作
  + C. 如果不使用 label ， PD 仅仅保证 region 的多个副本不会存储在同一个 TiKV 实例上
  + D. Label 的作用之一是控制 region 副本的存放位置，比如 host，rack 或者 DC
+ 答案: A
+ 知识点:
  + Lesson 04 PD (Placement Driver) 
  + Lesson 04 PD (Placement Driver) 
  + __*label*__
+ 试题解析:
  + A: Zone 为逻辑概念，可以是任意

### 23.关于 TSO 申请与分配过程正确的是？（请选择 3 项）
+ 选项
  + A. TSO 的申请者是通过 PD Client 模块来向 PD 申请 TSO 的
  + B. 当 PD Client 模块过于繁忙时，PD 会直接将 TSO 返回给申请者
  + C. SQL 语句的解析和编译可以与 TSO 的获取异步执行
  + D. PD 发出的 TSO 只会递增不会递减
+ 答案: A，C，D
+ 知识点:
  + Lesson 04 PD (Placement Driver) 
  + Lesson 04 PD (Placement Driver) 
  + __*TSO 分配过程*__
+ 试题解析:
  + B: 所有请求必须经过 PD Client

### 24.TiDB 的 TSO 组成为？
+ 选项
  + A. 逻辑时钟
  + B. 物理时钟
  + C. 物理时钟 + 逻辑时钟
  + D. 逻辑时钟 + 物理时钟 
+ 答案: C
+ 知识点:
  + Lesson 04 PD (Placement Driver) 
  + __*TSO 概念*__

### 25.对于 PD 的调度功能，描述错误的是？（请选择 2 项，注意：描述错误）
+ 选项
  + A. 可以将 Region 均匀地分散在集群中的所有 Store 上
  + B. 对于写热点，热点调度会同时尝试打散热点 Region 的 Peer 和 Leader
  + C. 目前无法通过调度把相邻的小 Region 合并，需要手动完成
  + D. 目前无法将待下线节点上的 Region 迁移至其他节点，需要手动完成
+ 答案: C，D
+ 知识点:
+ 试题解析:
  + C: 支持
  + D: 支持

### 26.PD 调度中的信息收集不包括哪个？（注意：不包括）
+ 选项
  + A. 副本分布
  + B. 节点数据量
  + C. TiDB Server 的并发度
  + D. 节点的剩余空间
+ 答案: C
+ 知识点:
  + Lesson 04 PD (Placement Driver) 
  + __*调度信息收集*__

### 27.下面哪些操作是在 SQL 语句开始执行到执行计划生成过程中进行的？（请选择 3 项）
+ 选项
  + A. 生成 AST 语法树
  + B. 点查（PointGet）的判断
  + C. 获取语句开始执行的TSO
  + D. 判断是否会出现 OOM
+ 答案: A，B，C
+ 知识点:
+ 试题解析:
  + D: SQL 执行时进行

### 28.请根据 TiDB 数据库的写入原理，选择不是必须在 DML 语句执行流程中做的？（注意：不是必须）
+ 选项
  + A. 将已经写入成功的数据所对应的 raft log 存储到 binlog 日志中
  + B. raft log 被复制到 follower
  + C. raft log 被持久化
  + D. scheduler 模块利用 latch 来进行协调写请求
+ 答案: A
+ 知识点:
  + Lesson 05 TiDB 数据库 SQL 执行流程 
  + __*写入的执行*__
+ 试题解析:
  + A: 可以不开启 binlog

### 29.请根据 TiDB 数据库的读取原理，选择不是必须在查询语句执行流程中做的？（请选择 2 项，注意：不是必须）
+ 选项
  + A. 获取到当前 SQL 开始执行的 TSO
  + B. 扫描 RocksDB 实例中所有 SST 文件
  + C. 扫描 RocksDB 实例中最新的 WAL 文件
  + D. 进行 PointGet 检测
+ 答案: B，C
+ 知识点:
  + Lesson 05 TiDB 数据库 SQL 执行流程 
  + __*读取的执行*__

### 30.请根据 TiDB 数据库的 online DDL 原理，选择不是必须在 online DDL 语句执行流程中做的？（注意：不是必须）
+ 选项
  + A. TiDB Server 进行解析（Parse）和编译（Compile），生成执行计划
  + B. 特定的 worker 进程会从 job queue 中取出第一个未执行的 job 去执行
  + C. start job 模块将 DDL 操作封装
  + D. 将 job 队列中的 DDL 语句对应的表全部锁住为只读状态
+ 答案: D
+ 知识点:
  + Lesson 05 TiDB 数据库 SQL 执行流程 
  + __*online DDL*__

### 31.下列哪几种应用场景可以归属于为了满足 HTAP 要求而进行的设计？（请选择 2 项）
+ 选项
  + A. 能够支持 PB 级数据分析
  + B. 能够支持高并发的交易场景，且保证强一致性
  + C. 同时支持 OLTP 和 OLAP 两种业务
  + D. 承担着实时数据写入的行存，并且能够实时将数据变化同步到列存储
+ 答案: C,D
+ 知识点:
  + Lesson 06 TiDB 数据库 HTAP 概述 
  + __*HTAP 要求*__
+ 试题解析:
  + A: 只有 OLAP 特性
  + B: 只有 OLTP 特性

### 32.下面不是 TiDB 数据库的 HTAP 特性的为？（注意：不是）
+ 选项
  + A. TiFlash 实现了 TiKV 的列存特性
  + B. CBO 优化器可以智能选择查询在 TiKV 还是在 TiFlash 上执行
  + C. MPP 架构实现了在 TiFlash 上的聚合和连接操作的运算加速，补充了 TiDB 的分析运算能力
  + D. 可以将聚合算子下推到存储引擎中完成
+ 答案: D
+ 知识点:
  + Lesson 06 TiDB 数据库 HTAP 概述 
  + __*TiDB 的 HTAP 架构*__
+ 试题解析:
  + D: TiKV 在 OLTP 场景下已经实现

### 33.TiDB 数据库的 MPP 功能特性有？（请选择 3 项）
+ 选项
  + A. 将行存数据转为列存
  + B. 聚合查询也可以通过 MPP 功能提速
  + C. TiFlash 节点的内存承担了 MPP 中的计算功能
  + D. MPP 功能对于大表连接有提高效率的作用
+ 答案: B，C，D
+ 知识点:
  + Lesson 06 TiDB 数据库 HTAP 概述 
  + __*MPP 特点*__ 
+ 试题解析:
  + A: TiFlash 功能而非 MPP

### 34.请选择不属于 TiDB 数据库的 HTAP 典型场景的有？（注意：不属于）
+ 选项
  + A. 承载 OLTP 在线业务（由 TiKV 完成），同时 TiFlash 列存引擎对实时分析类业务进行分流和加速
  + B. 分析库需要具有实时性，能够同步在线业务数据的变化
  + C. 支持高并发访问的同时可以进行横向扩展，提高处理能力
  + D. 无法接受 ETL 同步数据的时间
+ 答案: C
+ 知识点:
  + Lesson 06 TiDB 数据库 HTAP 概述 
  + __*混合工作负载场景*__
  + __*流式计算场景*__
+ 试题解析:
  + C: OLTP 场景

### 35.关于 TiFlash 的架构特点，描述正确的是？? (请选择 3 项)
+ 选项
  + A. TiDB v6.1 版本中，TiFlash 目前不支持数据的写入
  + B. 写入数据时，必须保证在 TiFlash 中的 region 副本有成功写入节点，才算写入成功，以确保强一致性
  + C. 无论是不是分区表，同一个 region 在 TiKV 中的副本和 TiFlash 中的副本数据都是相同的
  + D. TiFlash 中的 region 副本不参与 raft group 的投票
+ 答案: A, C, D
+ 知识点:
  + Lesson 7 TiFlash 
  + __*TiFlash*__
  + __*TiFlash 架构*__
+ 试题解析:
  + B：TiFlash 支持 TiDB Server 和 TiSpark


### 36.关于 TiFlash 的作用和特点，不正确的是？（注意：不正确）
+ 选项
  + A. TiFlash 中的 region 是 TiKV 的列存版本，但是其上的读取不支持 MVCC
  + B. 只要 TiKV 中数据不丢失,就可以随时恢复 TiFlash 的副本
  + C. 用户可以手动选择 SQL 在 TiFlash 节点上执行
  + D. 在同一查询内混合使用 TiKV 和 TiFlash 加快查询速度
+ 答案: A
+ 知识点:
  + Lesson 7 TiFlash 
  + __*TiFlash 功能*__
+ 试题解析:
  + A：TiFlash 支持快照隔离

### 37.下列问题可以通过 Placement Rules in SQL 功能进行解决的是？? (请选择 3 项)
+ 选项
  + A. 将读取热点数据缓存在 TiDB Server  的缓存中
  + B. 把热点数据的 leader 放到高性能的 TiKV 实例上
  + C. 某些数据表比较重要，希望增加副本数
  + D. 查询较少的历史数据表希望只占用低性能节点分布
+ 答案: B，C，D
+ 知识点:
  + Lesson 08 TiDB 6.0 新特性 
  + __*Placement Rules in SQL 作用*__
+ 试题解析:
  + A: 缓存表的功能

### 38.哪个步骤不是 Placement Rules in SQL 的使用过程中必须的？（注意：不是必须的）
+ 选项
  + A. 区域、机柜和服务器配置标签
  + B. 在 PLACEMENT POLICY 中指定副本数
  + C. 用 create table 或者 alter table 来为表指定 PLACEMENT POLICY
  + D. 设置 PLACEMENT POLICY 
+ 答案: B
+ 知识点:
  + Lesson 08 TiDB 6.0 新特性 
  + __*Placement Rules in SQL 使用*__
+ 试题解析:
  + B: 不需要

### 39.关于缓存表，说法正确的是？
+ 选项
  + A. 往缓存表写入数据时，有可能出现写入延迟
  + B. 当对缓存表中的表做 DDL 操作时，写被阻塞，读可以继续进行
  + C. 如果一张表基本不会修改，我们可以减小 tidb_table_cache_lease 参数，保持读取缓存表性能的稳定和高效
  + D. 如果一张表大小为 512 MB，那么必须将其变为分区表，且每个分区保证不超过 64 MB，才可以使用缓存表
+ 答案: A
+ 知识点:
  + __*缓存表原理*__
+ 试题解析:
  + B: 热点小表缓存不支持 DDL 语句
  + C: 调高 tidb_table_cache_lease 参数，延长租期
  + D: 表必须小于 64 MB

### 40.下面的几种情况，缓存表功能适合的场景有？
+ 选项
  + A. 一张配置表，上线后不修改，只有 32 MB 并且访问非常频繁
  + B. 一张频繁修改的小表，只有 16 MB，已经形成热点，造成性能瓶颈
  + C. 大小 96 MB 的表，极少修改，访问非常频繁，造成性能瓶颈
  + D. 日志表，目前只有8 MB，基本不访问，会持续追加数据
+ 答案: A
+ 知识点:
  + Lesson 08 TiDB 6.0 新特性 
  + __*小表缓存*__
+ 试题解析:
  + B: 频繁修改不适合
  + C: 96 MB不适合
  + D: 持续追加数据不适合

### 41.下面关于悲观锁、乐观锁和内存悲观锁的说法正确的是？（请选择2项）
+ 选项
  + A. 悲观锁和乐观锁都不需要在 commit 阶段将锁信息写入到 TiKV 的持久化存储中
  + B. 内存悲观锁实现了在事务未提交时就让其他事务能感知到其锁信息，乐观锁和悲观锁则不能
  + C. 内存悲观锁无需将锁信息复制到其他 follower 角色的副本上
  + D. 内存悲观锁依然会将锁信息写入 TiKV 节点但只写入到内存中
+ 答案: C，D
+ 知识点:
  + Lesson 08 TiDB 6.0 新特性 
  + __*内存悲观锁*__
+ 试题解析:
  + A：都需要
  + B：悲观锁和内存悲观锁一样

### 42.对与内存悲观锁的应用，错误的是？（注意：错误的）
+ 选项
  + A. 可以降低 TiKV 的 CPU 使用
  + B. 如果 leader 角色的 region 所在节点宕机，可能造成锁丢失
  + C. 加快大表扫描的速度
  + D. TiKV 的网络带宽会降低
+ 答案: C
+ 知识点:
   + Lesson 08 TiDB 6.0 新特性 
   + Lesson 08 TiDB 6.0 新特性 
   + __*内存悲观锁应用*__
   + __*锁丢失*__

### 43.Top SQL 能够帮助我们解决的问题有？（请选择 2 项）
+ 选项
  + A. 监控到某个 TiKV 上 IO 使用率最高的 5 类 SQL语句
  + B. 监控到某个 TiDB Server 上消耗内存最高的 5 类 SQL 语句
  + C. 当某个 TiKV 实例的 CPU 使用率过高，可以监控到其上 CPU 负载最高的 5 类 SQL 语句
  + D. 监控某个 TiDB Server 正在执行的 5 类 CPU 负载最高的 SQL 语句
+ 答案: C，D
+ 知识点:
   + Lesson 08 TiDB 6.0 新特性 
  + __*Top SQL 作用*__
+ 试题解析:
  + A: CPU 负载
  + B: CPU 负载不是执行次数

### 44.在使用 Top SQL 进行监控时，不正确的是？（请选择 2 项，注意：不正确）
+ 选项
  + A. 无法产看执行计划
  + B. 可以选取时间范围
  + C. 可以选择具体某台 TiDB Server 或者 TiKV
  + D. 只有不走索引的 SQL 语句可以监控到
+ 答案: A， D
+ 知识点:
   + Lesson 08 TiDB 6.0 新特性 

### 45.在 TiUniManager 中，我们可以做到？（请选择 3 项）
+ 选项
  + A. 集群升级
  + B. 监控 Top 5 SQL，并给出优化建议
  + C. 集群部署
  + D. 参数管理
+ 答案: A，C，D
+ 知识点:
   + Lesson 08 TiDB 6.0 新特性 

### 46.在 TiDB Cloud 中，数据库中的数据所有者是?
+ 选项
  + A. 只属于客户自己
  + B. 公开的
  + C. 公有云服务供应商
  + D. 客户和公有云服务商共同拥有
+ 答案: A
+ 知识点:
  + TiDB CLOUD

### 47.在 TiDB Cloud Developer Tier 里，不包含 TiFlash 节点。
+ 选项
  + A. 正确
  + B. 错误
+ 答案: B
+ 知识点:
  + TiDB CLOUD


### 48.TiDB Cloud 可以定义为提供基于 TiDB 数据库的 _____  。
+ 选项
  + A. DBaaS
  + B. SaaS
  + C. IaaS
  + D. PaaS
+ 答案: A
+ 知识点:
  + TiDB CLOUD

### 49.TiDB Cloud 中的 TiDB 集群包含 TiDB Server、TiKV，但是没有了 PD _____  。
+ 选项
  + A. 正确
  + B. 错误
+ 答案: A
+ 知识点:
  + TiDB CLOUD

### 50.关于 TiDB Cloud 的备份和恢复功能，说法正确的是？（请选择 3 项）
+ 选项
  + A. 支持自动备份和手动备份
  + B. 已经删除的集群数据，可以从回收站（Recycle Bin）中恢复
  + C. 启动自动备份后，手动备份无效
  + D. 正在运行的手动备份任务可以删除
+ 答案: A，B，D
+ 知识点:
  + TiDB CLOUD

