当前位置: 首页 > 工具软件 > TiDB > 使用案例 >

TiDB

郭兴平
2023-12-01

架构原理及安装部署

  1. 第一天: 学习任务【PCTA 备考指南 1/16 】TiDB 架构原理及安装部署:https://asktug.com/t/topic/34500
  2. 第二天: 学习任务【PCTA 备考指南 2/16】TiDB 使用管理手册:https://asktug.com/t/topic/34505
  3. 第三天: 学习任务【PCTA 备考指南 3/16】TiDB 管理工具:https://asktug.com/t/topic/34545
  4. 第四天: 学习任务【PCTA 备考指南 4/16】TiDB 业务开发最佳实践(一):https://asktug.com/t/topic/34568
  5. 第五天: 学习任务【PCTA 备考指南 5/16】TiDB 业务开发最佳实践(二):https://asktug.com/t/topic/34605
  6. 第六天: 学习任务【PCTA 备考指南 6/16】TiDB 监控与告警:https://asktug.com/t/topic/34625
  7. 第七天: 学习任务【PCTA 备考指南 7/16】一体化的数据迁移任务管理平台 TiDB Data Migration(一):https://asktug.com/t/topic/34631
  8. 第八天: 学习任务【PCTA 备考指南 8/16】一体化的数据迁移任务管理平台 TiDB Data Migration(二):https://asktug.com/t/topic/34684
  9. 第九天: 学习任务【PCTA 备考指南 9/16】实时备份与同步工具 TiDB Binlog:https://asktug.com/t/topic/34727
  10. 第十一天: 学习任务【PCTA 备考指南 9/16】实时备份与同步工具 TiDB Binlog:https://asktug.com/t/topic/34727

注:
优势:1.采取探针分离技术,探针性能消耗少,1000TPS高并发压力测试之下消耗0.1%。2.性能稳定3.兼容适配性好4.目前国内唯一一家实施部署超过5000个节点探针的厂商

汇总: 提前通过 https://asktug.com/t/topic/63138

练习题

  1. 【1/16模拟题】下面哪些选项属于分布式关系型数据库的特点(多选)
    A、提供水平扩展能力
    B、保证 ACID 事务特性
    C、必须与数据库中间件一同使用
    D、一定使用关系模型
    E、由 OLAP 类的 SQL 需求催生
    -正确答案:ABD
    -答案解析:关系型数据库一定支持 ACID 事务

  2. 【1/16模拟题】更新集群 rolling update 过程中,默认的 TiDB PD TiKV 的更新顺序是什么?(单选)
    A、PD --> TIDB --> TiKV
    B、TIDB --> PD --> TiKV
    C、TiKV --> TIDB --> PD
    D、PD --> TiKV --> TIDB
    E、TiDB --> TiKV --> PD
    -正确答案:D
    -答案解析:
    TiDB 滚动更新流程不限于平台, 顺序保持一致:

  • PD 是管理集群元信息的存在, 集群的大脑, TiKV 的启动也依赖于 PD 服务的状态
  • TiKV 是存储数据数据的组件, PD 启动成功之后它将被启动
  • TiDB 是集群对外提供服务的组件, 属于滚动升级的最后一步
    详见文档:https://docs.pingcap.com/zh/tidb-in-kubernetes/v1.0/upgrade-a-tidb-cluster/
  1. 【1/16 模拟题】TiDB (version 3.0) 的默认隔离级别是?(单选)
    A、Read Uncommitted
    B、Read Ccommitted
    C、Repeatable Read
    D、Snapshot Isolation
    E、Serializable
    -正确答案:D
    -答案解析:详见文档:
    https://docs.pingcap.com/zh/tidb/v3.0/transaction-isolation-levels#tidb-%E4%BA%8B%E5%8A%A1%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB

  2. 【2/16模拟题】下列哪些是 TiDB DDL 不支持的操作(多选)
    A、同时创建多个索引
    B、同时创建多个列
    C、有损变更,比如从 BIGINT 变为 INTEGER,或者从 VARCHAR(255) 变为 VARCHAR(10)
    D、修改 DECIMAL 类型的精度
    E、修改字段字符集为 gbk
    -答案:ABCDE
    -解析:请看文档https://pingcap.com/blog-cn/tidb-source-code-reading-17/

  3. 【2/16模拟题】TiDB (version 3.0) 不支持哪种数据类型(单选)
    A、INT
    B、XML
    C、DATETIME
    D、JSON
    E、ENUM
    -答案:B
    -解析:请看文档https://docs.pingcap.com/zh/tidb/v3.0/data-type-overview#%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E6%A6%82%E8%BF%B0

  4. 【2/16模拟题】TiDB (version 3.0) 的分区表支持哪些分区类型(多选)
    A、RANGE
    B、LIST
    C、HASH
    D、KEY
    E、COLUMNS
    -答案:AC
    -解析:请看文档https://docs.pingcap.com/zh/tidb/v3.0/partitioned-table#%E5%88%86%E5%8C%BA%E8%A1%A8

  5. 【2/16模拟题】下列关于 TiDB 中 DDL 的描述,错误的是(单选)
    A、TiDB 产品中的 DDL 在执行的过程中能够保证数据的一致性
    B、可以使用 admin show ddl jobs 命令查看 DDL 执行进度
    C、TiDB 产品中的 DDL 操作会阻塞写入
    D、TiDB 产品中的 DDL 是分布式的 DDL 算法
    E、TiDB 集群中同一时刻只有一个 TiDB Sever 可以当选 DDL Owner
    -答案:C

  6. 【3/16模拟题】关于 pd-ctl,以下描述错误的是?(单选)
    A、pd-ctl 中可以查看 store 信息
    B、pd-ctl 中可以配置副本个数
    C、pd-ctl 可以修复损坏的 region
    D、pd-ctl 可以下线 store
    E、pd-ctl 可以查看 region 信息

  • 正确答案:C
  • 详情解析请查看https://docs.pingcap.com/zh/tidb/v3.0/pd-control
  1. 【3/16模拟题】关于 tikv-ctl,以下描述正确的是?(多选)
    A、tikv-ctl 有远程模式和本地模式
    B、tikv-ctl 不可以查看 region 的大小
    C、tikv-ctl 可以下线异常 region
    D、tikv-ctl 可以查看 region 属性
    E、tikv-ctl 不可以查看 region 属性
  • 正确答案:ACD
  • 详情解析请查看https://docs.pingcap.com/zh/tidb/v3.0/tikv-control
  1. 【4/16模拟题】秒杀、余额更新场景在 TiDB 乐观事务上的现象是什么?(多选)
    A、单行数据的高并发读
    B、单行数据的高并发写
    C、表锁等待
    D、数据一致性受到破坏
    E、相关请求失败率高
  • 正确答案:ABE
  • 解析:在 v3.0.8 版本之前,TiDB 默认采用乐观事务模型,在事务执行过程中并不会做冲突检测,而是在事务最终 COMMIT 提交时触发两阶段提交,并检测是否存在写写冲突。当出现写写冲突,并且开启了事务重试机制,则 TiDB 会在限定次数内进行重试,最终重试成功或者达到重试次数上限后,会给客户端返回结果。因此,如果 TiDB 集群中存在大量的写写冲突情况,容易导致集群的 Duration 比较高。
    https://docs.pingcap.com/zh/tidb/stable/optimistic-transaction#tidb-%E4%B9%90%E8%A7%82%E4%BA%8B%E5%8A%A1%E6%A8%A1%E5%9E%8B
  1. 【4/16模拟题】以下哪项描述错误?(单选)
    A、TiDB 中的自增 ID 保证唯一
    B、TiDB 中的自增 ID 保证顺序递增
    C、TiDB 不支持序列功能
    D、TiDB 的一张表中,只能存在一个自增 ID
    E、TiDB 中的自增 ID 可以被声明为唯一索引
  • 正确答案:B
  • 解析:详情见官网: https://docs.pingcap.com/zh/tidb/stable/mysql-compatibility#%E8%87%AA%E5%A2%9E-id
  1. 【5/16模拟题】
    【5/16模拟题】慢查询日志中参数说明错误的是()?(单选)
    A、Query_time:表示执行这个语句花费的时间
    B、Process_time:执行 SQL 在 TiKV 的处理时间之和
    C、Wait_time:表示这个语句在 TiKV 的等待时间之和
    D、Total_keys:表示输出的 key 的数量。
    E、Time:表示日志打印时间。
    -答案:D
    -详情见: https://docs.pingcap.com/zh/tidb/dev/identify-slow-queries#%E6%85%A2%E6%9F%A5%E8%AF%A2%E6%97%A5%E5%BF%97

  2. 【5/16模拟题】下列关于 TiDB 的执行计划解析,描述准确的是()?(多选)
    A、TiDB 的执行计划中计算任务大致分为 root 和cop 两种,其中 root 表示在 tidb-server 层执行,cop 表示在 tikv-server 层执行
    B、常见的TableScan 算子表示在 KV 端对表数据进行扫描,TableReader 表示在 TiDB 端从 TiKV 端读取
    C、常见的TableReader 算子表示在 KV 端对表数据进行扫描,TableScan 表示在 TiDB 端从 TiKV 端读取
    D、常见的IndexReader 表示直接从索引中读取索引列,适用于 SQL 语句中仅引用了该索引相关的列或主键
    E、常见的IndexLookUp 表示从索引中过滤部分数据,仅返回这些数据的 Handle ID,通过 Handle ID 再次查找表数据,这种方式需要两次从 TiKV 获取数据
    -答案: ABDE
    -详情见: https://docs.pingcap.com/zh/tidb/dev/explain-overview

  3. 【5/16模拟题】下列统计信息收集语句正确的是()?(多选)
    A、analyze table test;
    B、analyze table test index idx_cr;
    C、analyze table test partition test_20190808;
    D、analyze table test with 32 buckets;
    E、analyze incremental table test index idx_cr;
    -答案:ABCDE
    -详情见官网: https://docs.pingcap.com/zh/tidb/stable/sql-statement-analyze-table

  4. 【6/16模拟题】以下关于 TiKV 处理写请求过程,描述正确的是(多选)
    A、raft store 线程 负责写入时 raft log 的分发同步到 follow 节点.
    B、async apply 线程 负责将接收到的 raft log 写入本地。
    C、raft store 线程 默认情况下可以用到 2vCPU 的线程数量。
    D、async apply 线程 默认情况下可以用到操作系统 cpu*40% 的线程数量。
    E、async apply 线程 负责写入时 raft log 的分发同步到 follow 节点.

  • 答案:ABC
  • 解析:https://docs.pingcap.com/zh/tidb-data-migration/v1.0/feature-overview#table-routing
  1. 【6/16模拟题】以下关于 TiKV 处理读请求过程,描述错误的是(单选)
    A、storage readpool cpu 负责响应 Batch get 请求。
    B、storage readpool cpu 负责响应 Point get 请求。
    C、Coprocessor 可用线程数的默认配置是 CPU vCore 总数的 80% 。
    D、Coprocessor 请求优先级分为 high、normal 两种。
    E、storage readpool 可用线程数的默认配置是 4。
  • 答案:D
  • 解析: https://pingcap.com/blog-cn/tikv-source-code-reading-11/#4-storage-%E5%92%8C%E4%BA%8B%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%99%A8-scheduler
    https://docs.pingcap.com/zh/tidb/v3.0/tikv-configuration-file#readpoolcoprocessor
    https://asktug.com/_/tidb-performance-map/#/tidb
  1. 【7/16模拟题】下面关于 Data Migration (DM) 的描述,错误的有(单选)
    A、单个 DM 集群可以同时运行多个数据同步任务
    B、对于全量数据迁移,DM 使用 dumper/loader 单元从上游导出数据并导入下游
    C、不论是全量数据迁移,还是增量数据同步,DM 都在其中部分阶段使用了并发处理
    D、DM 支持 Table routing,库表黑白名单和 Binlog event 过滤 3 种数据过滤方式
    E、DM 当前只支持 ROW 格式的 binlog,不支持 STATEMENT/MIXED 格式的 binlog

  2. 【7/16模拟题】下面哪些应用场景是 Data Migration (DM) 不支持的(多选)
    A、同步 TiDB 的业务数据到 MySQL
    B、同步 MySQL/MariaDB 中部分业务数据到 TiDB
    C、上游通过 pt-osc 或 gh-ost 工具执行 online DDL 操作
    D、同步上游某个表的部分列到 TiDB
    E、将上游多个分表合并到下游的一张表

 类似资料: