概述
1.数据技术发展的驱动力有哪些?
a.业务发展导致的数据容量增长
b.场景创新催生的"数据交互效率与数据模型多样性"需求
c.硬件与云计算的发展
2.2006 google三驾马车GFS, BigTable, Mapreduce分别解决什么问题?
GFS解决分布式文件系统问题
BigTable解决分布式Key-values存储问题
Mapreduce解决在分布式文件系统和KV存储上如何做计算和分析
3.数据技术栈方向和数据产品的本质是:
应对不同业务场景,结合相对固定的基础技术要素,进行各种数据技术与架构Trade Off(选择与平衡)
4.分布式技术的主要挑战有哪些?
01.如何最大程度的实现分治
02.如何实现全局的一致性
03.如何进行故障与部分失效的容错
04.如何应对不可靠的网络与网络分区
5.TiKV相关的理论包括哪些?
Google Spanner设计的multi raft-group副本机制
Google F1论文算法实现DDL
6.分布式事务模型特点
去中心化的两阶段提交
Google Percolator事务模型
TiKV支持完整事务KV API
默认乐观事务模型(3.0+版本也支持悲观事务模型)
默认隔离级别:Snapshot Isolation
7.Coprocessor是什么?
即协调计算器。
是TiKV中读取数据并计算的模块,每个TiKV存储节点都有一个协调计算器
8.如何构建一个Online DDL算法?
a.在TiDB里没有分表的概念,所以整个DDL完成过程非常快递
b.把DDL过程分成Public,Delete-only,Write-only等几个状态,每个状态在多个节点之间同步和一致,最终完成完整的DDL。
9.TiFlash行列数据同步?
以Raft Leaner方式接入Muti-Raft 组,使用异步方式传输数据,不参与Raft选举,对TiKV产生非常小的负担,同时还规避了复制组脑裂问题
10.解决AP算力问题,引入的MPP特点有?
TiDB-Server作为入口节点,通过代价决定是否经由MPP模式计算
TiFlash作为MPP计算节点
后续将引入MPP读取行存能力
11.HTAP已经实现的功能有?
TiDB引入实时更新的列式引擎,即解决了资源隔离,又提升了AP效率
在列存上引入MPP模型,实现了SQL join的下推与并行处理
通过Raft-base replication实现了时效性
融合大数据生态,比如TiSpark
TiDB的CBO可以采集行列Cost模型进行配置,并同步收集不同引擎的统计信息,统一进行最佳执行路径的选择
12.分布式关系型数据库设计的六大目标:
横向扩展,强一致及高可用,标准SQL与事务模型,云原生,HTAP,生态兼容性
13.推动计算与存储分离架构的主要原因是?
硬件,尤其是网络
存储引擎
14.TiKV存储引擎的特点?
a.更细粒度的弹性扩缩容
b.高并发读写
c.数据不丢不错
d.多副本保障一致性及高可用
e.支持分布式事务
LSM-tree结构本质是一个用空间置换写入延迟,用顺序写入替换随机写入的数据结构
RockDB是一个非常成熟的LSM-tree存储引擎,支持批量写入,无锁快照读
range分片可以更高效的扫描数据记录
range分片可以简单实现自动完成分裂与合并
弹性优先,分片需要可以自由调度
15.TiKV存储引擎从下到上的架构为?
RocksDB–>Raft–>Transaction–>TiKV API–>Coprocessor API
16.Multi-Raft将复制组更离散
角色包括leader、follower、learner
强主模式,读写在leader上
4.0版本开启follower read
Region base Multi-Raft实现了一个表可以同时多个写入点,TiKV的调度机制,可以识别单个节点的物理信息(IDC,RACK,HOST),并进程约束与绑定。
计算引擎
16.TiDB-server前台功能有哪些?
a.管理连接和账号权限管理
b.MySQL协议编码解码
c.独立的SQL执行
d.库表元信息,以及系统变量
17.TiDB-Server后台功能有哪些?
a.垃圾回收(GC)
b.执行DDL
c.统计信息管理
d.SQL优化器与执行器
18.TiDB-Server架构从上到下分别为?
MySQL 协议层(MySQL Protocol)–>核心SQL层(TiDB SQL Layer)–>存储接口层(KV API,DistSQL API)
调度
19.自动分片技术是更新维度弹性的基础
a.全局有序的KV map
b.按照等长大小策略自动分片(96M)
c.每个分片是连续的KV,通过Start/End key来寻址
d.每个分片seek成本固定
e.Region是复制、调度的最小单位
自动merge
默认96M分片
144M分裂分片
20MB合并分片
集群管理
21.TiDB Cluster集群启动顺序
PD–>TiKV–>TiDB–>TiFlash
22.下列关于TiUP的说法正确的是?(B,D)
A.TiUP是从TiDB 5.0引入的包管理器
B.TiDB,PD和TiKV等组件都可以由TiUP管理
C.TiUP在执行时,命令和组件不可以同时出现
D.TiUP不但可以负责TiDB的部署还可以负责TiDB Cluster的管理
23.连接TiDB 数据库的客户端\GUI包括哪些?
MySQL客户端,Mycli, MySQL Workbench, Navicat, phpMyAdmin
系统参数/集群参数
24.下面关于TiDB系统参数的说法,正确的有哪些?(ACE)
A.系统参数有作用域之分
B.系统参数指持久化在KV中关于TiDB,TiKV和PD的参数
C.系统参数可以通过MySQL客户端进行修改
D.SESSION级别的系统参数修改后需要重新连接才会生效
E.GLOBAL级别的系统参数,修改后对于当前会话无效
F.GLOBAL级别的系统参数,修改后对于当前会话生效
25.关于TiDB集群配置参数说法正确的是?(A)
A.TiKV节点集群配置参数修改后,需要重启节点才会生效
B.集群配置参数有作用域范围
C.可以用MySQL客户端修改集群配置参数
D.集群配置参数持久化在TiDB,TiKV和PD的配置文件中,还有一部分持久化在KV存储中
E.以上都不对
用户管理
26.角色与用户的差异包括?
a.角色是被锁住(locked)的
b.角色没有密码
c.被存储在mysql.user表中
d.当用户登录后,必须使用set role all命令开启用户被赋予的角色
27.下面关于角色和用户账户的说法正确的是?(D)
A.角色和用户账户都是由名称和主机名组成,并都可以登录数据库
B.创建角色时如果不指定主机名,则默认是localhost
C.创建用户时,如果主机名为%,则没有任何意义
D.角色没有密码
文件管理
28.关于TiDB数据库的文件,下面表述正确的是?(C)
A.只有TiDB,TiKV节点有数据信息,PD节点不存储数据信息
B.TiKV,TIDB的配置文件存放在PD节点的/tidb-deploy文件夹下
C.PD节点的KV元数据存放在/tidb-data目录下
D.以上都不对
监控
29.关于TiDB的监控,正确的是?(C)
A.Promethues+Grafana+Dashboard内置于PD组件中,提供监控与报警服务
B.TiDB的报警处理,需要额外安装第三方插件
C.TiDB的报警项分为:紧急、严重和警告三个级别
D.以上都不对
扩缩容/升级
30.对于扩容和缩容TiDB/TiKV/PD/TiFlash的操作基本一致?(B)
A.正确
B.错误
31.命令tiup cluster clean ${cluster-name} --log用于清理集群数据,保留日志信息?(B)
A.正确
B.错误
32.下列关于升级TiDB集群错误的是?(C)
A.升级TiDB集群如果evict leader等待时间过长,可以通过–force参数来解决
B.升级TiDB集群,可以停止集群,升级集群,最后启动集群
C.升级TiDB集群,必须停机
D.升级TiDB集群不支持回退
备份还原
33.下列关于热备份的说法正确的是?(BD)
A.热备份要求数据库处于只读状态
B.热备份不会锁定任何用户的读写操作
C.相对于冷备份,热备份的速度会更快
D.TiDB生态工具中,BR的备份属于热备份
34.关于逻辑备份与物理备份,下列说法正确的是?(C)
A.逻辑备份和物理备份都可以应用于异构数据库间的数据迁移
B.逻辑备份相对于物理备份适合大量数据的备份
C.BR工具和操作系统拷贝都属于物理备份
D.逻辑备份的效率往往高于物理备份
35.下列关于BR的说法不正确的是?(ABC)
A.BR工具属于逻辑备份
B.BR工具在恢复时,需要数据库设置为只读状态,否则可能会出现数据不一致的情况
C.BR工具的备份在恢复时,可以同时使用TiCDC同步到下游TiDB或者MySQL数据库
D.当备份数据量较大,不可停库同时又要求备份效率的时候,BR工具比Dumpling和操作系统拷贝更有优势
36.下列哪种备份方式是BR工具支持的?(A)
A.热备份,物理备份
B.冷备份,物理备份
C.热备份,逻辑备份
D.冷备份,物理备份
37.Dumpling适用于以下场景:
1.导出数据量较小
2.需要导出SQL语句或者CSV的场景,可以在异构数据库或者系统中进行迁移
3.对于导出效率要求不高,由于读取数据和转换,所以比起物理导出效率低下
38.Dumpling不适用以下场景:
1.需要直接导出TiDB数据库中的原始SST(键值对)
2.增量备份,目前只有全量导出,无法做到增量
3.数据量较大的场景
39.Dumpling所需权限
最小权限要求
SELECT
RELOAD
LOCK TABLES
REPLICATION CLIENT
40.下列哪些场景不适用Dumpling工具导出?(AC)
A.增量备份
B.将数据导出到MySQL数据库
C.数据量较大场景,要求热备
D.只导出2张百万级别的表