TIDB 考試 參考
1. 【多選題】下列功能是由 TiKV 或 TiFlash 實現的為?( 選 2 項 )
A. 根據叢集中 Region 的資訊,發出排程指令
B. 對於 OLAP 和 OLTP 進行業務隔離
C. 將關係型資料轉化為 KV 儲存進行持久化
D. 將 KV 儲存轉化為關係型資料返回給客戶端
E. 配合 TiDB Server 生成事務的唯一 ID
F. 副本的高可用和一致性
學生答案: B. 對於 OLAP 和 OLTP 進行業務隔離 、 C. 將關係型資料轉化為 KV 儲存進行持久化
正確答案: B. 對於 OLAP 和 OLTP 進行業務隔離 、F. 副本的高可用和一致性
錯誤
2. 【單選題】關於 TiKV 或 TiDB Server,下列說法不正確的是?
A. 資料被持久化在 TiKV 的 RocksDB 引擎中
B. 對於老版本資料的回收(GC),是由 TiDB Server 在 TiKV 上完成的
C. 兩階段提交的鎖資訊被持久化到 TiDB Server 中
D. Region 可以在多個 TiKV 節點上進行排程,但是需要 PD 節點發出排程指令
學生答案: B. 對於老版本資料的回收(GC),是由 TiDB Server 在 TiKV 上完成的
正確答案: C. 兩階段提交的鎖資訊被持久化到 TiDB Server 中
----------
1. 【多選題】下列哪些模組直接與 TiDB 的事務處理有關?( 選 2 項 )
A. KV
B. Parse
C. Schema load
D. Transaction
E. GC
F. start job
學生答案:、 D. Transaction F. start job
正確答案: A. KV 、D. Transaction
錯誤
2. 【單選題】關於關係型資料與 KV 的轉化,下列說法不正確的是?
A. 如果沒有定義主鍵,key 中包含 RowID,Index ID 和 Table ID,都是 int64 型別
B. Table ID 在整個叢集內唯一
C. 如果定義了主鍵,那麼將使用主鍵作為 RowID
D. 不需要為每張表指定主鍵
學生答案: A. 如果沒有定義主鍵,key 中包含 RowID,Index ID 和 Table ID,都是 int64 型別
正確答案: C. 如果定義了主鍵,那麼將使用主鍵作為 RowID
--------------
1. 【多選題】下列屬於 TiKV 相關功能的是?( 選 4 項 )
A. 系統引數和後設資料資訊的持久化
B. 產生 TSO
C. 分散式事務實現
D. MVCC
E. 生成物理執行計劃
F. 表統計資訊的持久化
學生答案:、 B. 產生 TSO 、 C. 分散式事務實現 、 D. MVCC E. 生成物理執行計劃
正確答案: A. 系統引數和後設資料資訊的持久化 、C. 分散式事務實現 、D. MVCC 、F. 表統計資訊的持久化
錯誤
2. 【單選題】關於 TiKV 資料持久化,下列說法不正確的是?
A. RocksDB 有 2 個例項,分別用來持久化 raft log 和 key value 資料
B. RocksDB 中 WAL 用來保證寫不丟失
C. 對於刪除操作,只需要在原 key value 資料上標記已刪除即可
D. RocksDB 中,除了 Level 0 層的資料,其他 Level 都是單一排序持久化的
學生答案: A. RocksDB 有 2 個例項,分別用來持久化 raft log 和 key value 資料
正確答案: C. 對於刪除操作,只需要在原 key value 資料上標記已刪除即可
--------
1. 【單選題】下列關於 PD(Placement Driver)架構和功能正確的是?
A. 訪問 PD 叢集中的任何一個節點都可以獲得 TSO
B. TiKV 會週期性地向 PD 上報叢集狀態
C. PD 會週期性地查詢 TiKV 的狀態,不需要 TiKV 上報,目的是為了高效
D. PD 的排程功能只能平衡 region 的分佈,無法對 leader 進行排程
學生答案: D. PD 的排程功能只能平衡 region 的分佈,無法對 leader 進行排程
正確答案: B. TiKV 會週期性地向 PD 上報叢集狀態
錯誤
2. 【單選題】2. 關於 label ,下列說法不正確的是?
A. label 的本質是個排程系統,可以人為控制 region 副本的存放位置
B. label 需要在 PD 和 TiKV 上進行配置
C. zone 一般和資料中心(DC)對應,這樣可以獲得最大的可用性
D. 如果某個 region 不可用,有可能造成整個 TiDB 資料庫不可用
學生答案: C. zone 一般和資料中心(DC)對應,這樣可以獲得最大的可用性
正確答案: C. zone 一般和資料中心(DC)對應,這樣可以獲得最大的可用性
-----
1. 【多選題】下列關於 DML 語句讀寫說法正確的是?( 選 2 項 )
A. Region Cache 的主要作用是快取熱資料,減少訪問 TiKV 的次數
B. 二階段提交在獲取事務開始的 TSO 和提交的 TSO 時,都是由 TiDB Server 完成的
C. schedule 模組採用 latch 來控制當前正在寫的資料不被讀取
D. 在寫操作中,鎖資訊也會被寫入到 RocksDB KV 中
學生答案: C. schedule 模組採用 latch 來控制當前正在寫的資料不被讀取
正確答案: B. 二階段提交在獲取事務開始的 TSO 和提交的 TSO 時,都是由 TiDB Server 完成的 、D. 在寫操作中,鎖資訊也會被寫入到 RocksDB KV 中
錯誤
2. 【單選題】關於 DDL 語句的執行流程,下列說法正確的是?
A. DDL 語句可以在 TiDB 中並行執行
B. 同一時刻,不可以有多條 DDL 語句在等待執行
C. 同一時刻,只有一個 TiDB Server 可以執行 DDL 語句
D. 等待執行的 DDL 語句被持久化在 TiDB Server 的儲存中
學生答案: C. 同一時刻,只有一個 TiDB Server 可以執行 DDL 語句
正確答案: C. 同一時刻,只有一個 TiDB Server 可以執行 DDL 語句
-------
1. 【多選題】關於 TiDB 資料庫中 SCHEMA 的 KV 對映原理,描述正確的有?( 選 2 項 )
A. 聚簇表 KV 中 VALUE 儲存的是真實的行資料
B. 建立表時,預設為聚簇表
C. 每一個 Region 按照左閉右開的區間劃分資料儲存範圍 ,如 [a ~ d), [d ~ g)
D. 非聚簇表如果有主鍵,則 KV 中的 key 會含有主鍵列
E. 非聚簇表如果在 where 條件中用主鍵過濾,也會回表
學生答案:、 D. 非聚簇表如果有主鍵,則 KV 中的 key 會含有主鍵列 E. 非聚簇表如果在 where 條件中用主鍵過濾,也會回表
正確答案: C. 每一個 Region 按照左閉右開的區間劃分資料儲存範圍 ,如 [a ~ d), [d ~ g) 、E. 非聚簇表如果在 where 條件中用主鍵過濾,也會回表
錯誤
2. 【單選題】關於 TiDB 資料庫中 SCHEMA 的設計,不正確的是?
A. AUTO_RANDOM 和 AUTO_INCREMENT 不可以同時出現在同一列中
B. NOW 函式可以作為時間和日期型別的預設值
C. 非聚簇索引可以在建表之後新增或者刪除
D. PRE_SPLIT_REGIONS 是列屬性,在使用時寫在自增列的後面
學生答案: A. AUTO_RANDOM 和 AUTO_INCREMENT 不可以同時出現在同一列中
正確答案: D. PRE_SPLIT_REGIONS 是列屬性,在使用時寫在自增列的後面
--------------
1. 【多選題】
建表語句如下,請問下列哪幾個查詢會使用到索引 idx_abc ?(請選擇 2 項)
CREATE TABLE t (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
a INT NOT NULL,
b INT NOT NULL,
c INT NOT NULL,
d INT NOT NULL,
key idx_abc (a, b, c)
);
A. select * from t where c = 4 and a = 100 and b < 99;
B. select * from t where c = 100 and b = 99;
C. select a, b, c, d from t;
D. select a, b from t;
學生答案: A. select * from t where c = 4 and a = 100 and b < 99; 、 D. select a, b from t;
正確答案: A. select * from t where c = 4 and a = 100 and b < 99; 、D. select a, b from t;
正確
2. 【單選題】
下列關於 TiDB 資料庫中索引的說法,不正確的是?
A. TiDB 在建立索引時不會阻塞表的資料讀寫
B. 二級索引的 value 值一般為 NULL
C. CLUSTERED 型別的 PRIMARY KEY 是無法刪除的
D. 所有函式都可以用於表示式索引
學生答案: D. 所有函式都可以用於表示式索引
正確答案: D. 所有函式都可以用於表示式索引
----------
1. 【多選題】
下列屬於 TiDB 資料庫系統表且在 INFORMATION_SCHEMA 庫中的有?(請選擇 2 項)
A. TRANSACTION
B. TIDB_HOT_REGIONS
C. DATA_LOCK_WAITS
D. TABLE_PRIV
E. COLUMNS_PRIV
學生答案: B. TIDB_HOT_REGIONS 、 C. DATA_LOCK_WAITS
正確答案: B. TIDB_HOT_REGIONS、C. DATA_LOCK_WAITS
正確
2. 【單選題】
下列關於 TiDB 資料庫 SQL 阻塞查詢,不正確的是?
A. DEADLOCKS 表預設儲存 10 次死鎖資訊
B. TIDB_TRX 表的查詢需要具有 PROCESS 許可權
C. DATA_LOCK_WAITS 只記錄已經完結的事務中的阻塞資訊
D. DATA_LOCK_WAITS 記錄的是悲觀鎖資訊
學生答案: C. DATA_LOCK_WAITS 只記錄已經完結的事務中的阻塞資訊
正確答案: C. DATA_LOCK_WAITS 只記錄已經完結的事務中的阻塞資訊
-------------
1. 【多選題】下面屬於 HTAP 場景特點的是?(請選擇 3 項)
A. 在故障恢復方面可以做到 RPO = 0
B. 支援分割槽特性
C. 支援線上業務高併發
D. 同時支援 OLTP 和 OLAP 業務
E. 能夠讀取到一致性的資料
學生答案: C. 支援線上業務高併發 、 D. 同時支援 OLTP 和 OLAP 業務 、 E. 能夠讀取到一致性的資料
正確答案: C. 支援線上業務高併發 、D. 同時支援 OLTP 和 OLAP 業務 、E. 能夠讀取到一致性的資料
正確
2. 【單選題】關於 MPP 架構,下列說法不正確的是?
A. MPP 架構的中間結果都在記憶體中
B. MPP 架構可以作用於 TiKV 和 TiFlash 上的資料
C. MPP 架構目前不支援非等值 join
D. MPP 架構可以對聚合、JOIN 等操作加速
學生答案: B. MPP 架構可以作用於 TiKV 和 TiFlash 上的資料
正確答案: B. MPP 架構可以作用於 TiKV 和 TiFlash 上的資料
---------------
1. 【多選題】下面屬於 TiFlash 核心特性的是?(請選擇 3 項)
A. 採用行存 + 列存的混合儲存方式
B. region 支援 raft 投票和選舉
C. TiFlash 採用非同步複製來保證和 TiKV 一致
D. 在 TiKV 上寫入資料成功後,在 TiFlash 上可以一致性讀取
E. CBO 基於成本選擇在 TiFlash 或者 TiKV 上執行 SQL
學生答案: C. TiFlash 採用非同步複製來保證和 TiKV 一致 、 D. 在 TiKV 上寫入資料成功後,在 TiFlash 上可以一致性讀取 、 E. CBO 基於成本選擇在 TiFlash 或者 TiKV 上執行 SQL
正確答案: C. TiFlash 採用非同步複製來保證和 TiKV 一致 、D. 在 TiKV 上寫入資料成功後,在 TiFlash 上可以一致性讀取 、E. CBO 基於成本選擇在 TiFlash 或者 TiKV 上執行 SQL
正確
2. 【單選題】關於 TiFlash 的使用,描述不正確的是?
A. TiFlash 不善於處理高併發,QPS 一般不應過高
B. TiFlash 建議混合部署在伺服器上
C. TiFlash 支援全新部署和擴容兩種部署方式
D. 部署 TiFlash,要求開啟 PD 的 Placement Rules 功能
學生答案: B. TiFlash 建議混合部署在伺服器上
正確答案: B. TiFlash 建議混合部署在伺服器上
--------
1. 【多選題】關於事務的四大特性(ACID)說法正確的是?( 選 2 項 )
A. 事務中的所有操作要麼都成功要麼都失敗,才能保證一致性
B. 永續性保證了資料不丟失
C. 隔離性保證事務在開始前和結束後完整性約束沒有被破壞
D. 原子性和一致性與應用開發中的易用性和效率問題有關
學生答案: B. 永續性保證了資料不丟失 、 D. 原子性和一致性與應用開發中的易用性和效率問題有關
正確答案: B. 永續性保證了資料不丟失 、D. 原子性和一致性與應用開發中的易用性和效率問題有關
正確
2. 【單選題】下列關於隔離級別說法,不正確的是?
A. 髒讀不可能出現在可重複讀環境
B. 未提交讀可能出現不可重複讀
C. 幻讀只出現在可重複讀場景
D. Serializable read 不支援併發讀寫
學生答案: C. 幻讀只出現在可重複讀場景
正確答案: C. 幻讀只出現在可重複讀場景
-------
1. 【多選題】下列屬於 Percolator 事務模型特點的為?( 選 2 項 )
A. 擁有全域性時間戳
B. 解決了全球化分散式事務問題
C. 實現了利用單行來保證事務的原子性
D. 目前僅僅支援物理時鐘授時
學生答案: A. 擁有全域性時間戳 、 C. 實現了利用單行來保證事務的原子性
正確答案: A. 擁有全域性時間戳 、C. 實現了利用單行來保證事務的原子性
正確
2. 【單選題】下列關於 Percolator 事務執行流程,不正確的是?
A. Client 是兩階段提交的協調者
B. 每個事務都有 start_ts 時間戳,用於記錄事務開始時間
C. Prewrite 操作不可以回滾
D. 如果 primary key 已經提交完畢,即使發生了故障,也不會影響原子性
學生答案: C. Prewrite 操作不可以回滾
正確答案: C. Prewrite 操作不可以回滾
---------
1. 【多選題】下列關於 TiDB 資料庫事務實現,正確的是?( 選 2 項 )
A. TiDB 資料庫樂觀鎖不需要在 Lock 列族中寫入鎖資訊
B. Write 列族記錄的是事務提交資訊,或者說版本資訊
C. 悲觀鎖下,我們需要將 prewrite 階段提到 DML 操作中來做
D. 樂觀鎖下,事務在 prewrite 階段檢測寫寫衝突和鎖衝突
學生答案: B. Write 列族記錄的是事務提交資訊,或者說版本資訊 、 D. 樂觀鎖下,事務在 prewrite 階段檢測寫寫衝突和鎖衝突
正確答案: B. Write 列族記錄的是事務提交資訊,或者說版本資訊 、D. 樂觀鎖下,事務在 prewrite 階段檢測寫寫衝突和鎖衝突
正確
2. 【單選題】 下列關於 TiDB 的事務,不正確的是?
A. 寫偏斜可以出現悲觀鎖模式或者樂觀鎖模式
B. 寫偏斜可以出現在可重複讀隔離級別或者提交讀隔離級別
C. 是否使用 for update 在可重複讀隔離級別有可能讀到不同的值
D. 悲觀鎖模式遇到鎖衝突時,預設會阻塞
學生答案: B. 寫偏斜可以出現在可重複讀隔離級別或者提交讀隔離級別
正確答案: B. 寫偏斜可以出現在可重複讀隔離級別或者提交讀隔離級別
-----
1. 【多選題】下列對於優化器流程的描述,正確的是?( 選 2 項 )
A. 生成執行計劃後,如果是點查則直接下推到 SQL 執行器中
B. 物理優化需要結合統計資訊
C. 邏輯優化的產物是語法樹(AST)
D. 以下為正確順序:SQL 解析器 -> 邏輯優化 -> 物理優化 -> SQL 執行器
學生答案: B. 物理優化需要結合統計資訊 、 D. 以下為正確順序:SQL 解析器 -> 邏輯優化 -> 物理優化 -> SQL 執行器
正確答案: B. 物理優化需要結合統計資訊 、D. 以下為正確順序:SQL 解析器 -> 邏輯優化 -> 物理優化 -> SQL 執行器
正確
2. 【單選題】 下列優化項不屬於邏輯優化的是?
A. 謂詞下推
B. 外連線消除
C. 索引選擇
D. 聚合消除
E. MAX / MIN 優化
學生答案: C. 索引選擇
正確答案: C. 索引選擇
-----
1. 【多選題】下面哪些操作可能會引起線上執行計劃的改變?( 選 3 項 )
A. 收集了某個表的統計資訊
B. 在 SQL 中,將 from T1,T2,T3 改為了 from T2,T3,T1
C. 在 UPDATE 語句中增加了 Hint
D. 將 where 條件中的 a = b and b =5 改寫為 a = 5
E. 為某列新增索引,但是這列並沒有出現在 where 條件中
F. 將 from 後的所有表名改為了大寫
學生答案: A. 收集了某個表的統計資訊 、 C. 在 UPDATE 語句中增加了 Hint 、 E. 為某列新增索引,但是這列並沒有出現在 where 條件中
正確答案: A. 收集了某個表的統計資訊 、C. 在 UPDATE 語句中增加了 Hint 、E. 為某列新增索引,但是這列並沒有出現在 where 條件中
正確
2. 【單選題】下列什麼資訊無法從 EXPLAIN 或者 EXPLAIN ANALYZE 的結果中獲得?
A. 使用的索引
B. 運算元是在 TiDB Server 還是 在 TiKV 上完成的
C. SQL 語句實際輸出的資料行數
D. SQL 語句執行過程中佔用的網路頻寬
E. 某個運算元佔用的記憶體空間大小
學生答案: D. SQL 語句執行過程中佔用的網路頻寬
正確答案: D. SQL 語句執行過程中佔用的網路頻寬
------
1. 【多選題】下面哪些專案是我們可以在收集表或者索引的統計資訊時設定的?( 選 2 項 )
A. 當表本身的讀寫壓力很大時,停止自動收集統計資訊
B. 某張表在收集統計資訊時候的樣本取樣數目
C. 是否在收集統計資訊時修改正在執行 SQL 的執行計劃
D. 列直方圖的桶數量上限
E. 當 CPU 負載達到閥值時,停止收集統計資訊,減小負載
學生答案: B. 某張表在收集統計資訊時候的樣本取樣數目 、 D. 列直方圖的桶數量上限
正確答案: B. 某張表在收集統計資訊時候的樣本取樣數目 、D. 列直方圖的桶數量上限
正確
2. 【單選題】在檢視 analyze 狀態的時候,下面哪個資訊是無法獲取到的 ?
A. 本次任務分析的表名或索引名
B. 已經分析完畢的行數
C. 當前分析任務是否處於等待狀態
D. 已經完成的分析的總耗時
E. 分析的開始時間
學生答案: D. 已經完成的分析的總耗時
正確答案: D. 已經完成的分析的總耗時
-------
1. 【多選題】下面哪些因素會影響線上索引建立的速度?( 選 2 項 )
A. 索引列是否有讀寫
B. 表列多少
C.已有索引的個數
D. tidb_ddl_reorg_worker_cnt 引數的大小
學生答案: A. 索引列是否有讀寫 、 D. tidb_ddl_reorg_worker_cnt 引數的大小
正確答案: A. 索引列是否有讀寫 、D. tidb_ddl_reorg_worker_cnt 引數的大小
正確
2. 【單選題】下面哪個不是TiDB 資料庫使用的索引掃描演算法 ?
A. Index Range Scan
B. Index Full Scan
C. Point Get
D. Index skip Scan
E. IndexLookup
學生答案: D. Index skip Scan
正確答案: D. Index skip Scan
----------
1. 【多選題】下列關於 Prepared 語句及 Plan Cache 的說法正確的是?
A. 避免 TiDB 重複解析和生成 SQL 執行計劃的開銷
B. 需要配合上層應用框架呼叫 Prepare API
C. 對於 JDBC,建議在連線引數中配置 useServerPrepStmts = true
D. 通過 Query Summary > QPS By Instance 皮膚中的 StmtPrepare 請求可以判斷是否使用 Prepare 語句
學生答案: A. 避免 TiDB 重複解析和生成 SQL 執行計劃的開銷 、 B. 需要配合上層應用框架呼叫 Prepare API 、 C. 對於 JDBC,建議在連線引數中配置 useServerPrepStmts = true 、 D. 通過 Query Summary > QPS By Instance 皮膚中的 StmtPrepare 請求可以判斷是否使用 Prepare 語句
正確答案: A. 避免 TiDB 重複解析和生成 SQL 執行計劃的開銷 、 B. 需要配合上層應用框架呼叫 Prepare API、C. 對於 JDBC,建議在連線引數中配置 useServerPrepStmts = true 、D. 通過 Query Summary > QPS By Instance 皮膚中的 StmtPrepare 請求可以判斷是否使用 Prepare 語句
正確
2. 【單選題】關於 TiDB Backoff,下列說法錯誤的是?
A. 常見的 Backoff 型別有 pdRPC、regionMiss、serverBusy、tikvRPC、txnLock、txnLockFast、updateLeader
B. 通過 TiDB Dashboard 下的 KV Errors 可以看到最近出現的 Backoff Type 以及重試時間
C. TiDB Slow log 中記錄了慢查詢相應的 Backoff Type 以及重試時間
D.如果監控看到 Backoff 出現,說明叢集可能存在問題
學生答案: D.如果監控看到 Backoff 出現,說明叢集可能存在問題
正確答案: D.如果監控看到 Backoff 出現,說明叢集可能存在問題
-------
1. 【多選題】下列關於空 region 的說法正確的是?( 選 2 項 )
A. 空 region 是指大小為 0 的 region
B. 頻繁 drop 或 truncate 表可能導致空 region 過多
C. 空 region 過多會影響正常的排程行為
D. 空 region 會自動 merge 不需要關注
學生答案: B. 頻繁 drop 或 truncate 表可能導致空 region 過多 、 C. 空 region 過多會影響正常的排程行為
正確答案: B. 頻繁 drop 或 truncate 表可能導致空 region 過多 、C. 空 region 過多會影響正常的排程行為
正確
2. 【單選題】關於 tikv 節點下線速度慢,下列說法錯誤的是?
A. store-limit 設定過低
B. region 數量較多,checker 掃描速度過慢
C. 其他 tikv store 可用空間不足
D. 下線 tikv 節點上沒有 leader
學生答案: D. 下線 tikv 節點上沒有 leader
正確答案: D. 下線 tikv 節點上沒有 leader
--------
1. 【單選題】下列關於TiKV 寫入慢的原因錯誤的是?
A. IO 負載過高
B. CPU 負載過高
C. Unified read pool 執行緒池過小
D. TiKV 節點間網路延遲高
學生答案: C. Unified read pool 執行緒池過小
正確答案: C. Unified read pool 執行緒池過小
正確
2. 【多選題】關於 TiKV Coprocessor duration 延遲高的原因正確的是?(請選 3 項)
A. 大範圍掃描
B. 小表讀熱點
C. Cop 執行緒池打滿
D. 發生 Write stall
學生答案: A. 大範圍掃描 、 B. 小表讀熱點 、 C. Cop 執行緒池打滿
正確答案: A. 大範圍掃描 、B. 小表讀熱點 、C. Cop 執行緒池打滿
-----
1. 【多選題】下列關於事務響應時間慢可能的原因有?
A. 鎖請求和鎖等待
B. TiDB 效能問題
C. 應用效能問題
D. Proxy 或 LB 效能問題
學生答案: A. 鎖請求和鎖等待 、 B. TiDB 效能問題 、 C. 應用效能問題 、 D. Proxy 或 LB 效能問題
正確答案: A. 鎖請求和鎖等待 、B. TiDB 效能問題 、C. 應用效能問題 、D. Proxy 或 LB 效能問題
正確
2. 【多選題】關於 TiKV 存在寫熱點問題的推斷正確的是?
A. gRPC CPU 使用不均衡
B. Scheduler worker CPU 使用不均衡
C. Unified read pool CPU 使用不均衡
D. Raftstore CPU 使用不均衡
學生答案: A. gRPC CPU 使用不均衡 、 B. Scheduler worker CPU 使用不均衡 、 D. Raftstore CPU 使用不均衡
正確答案: A. gRPC CPU 使用不均衡 、B. Scheduler worker CPU 使用不均衡 、D. Raftstore CPU 使用不均衡
--------
1. 【多選題】下列關於 DDL 誤操作,資料恢復方法描述正確的是?( 請選 2 項 )
A. Recover Table 適用於 Truncate Table 導致的資料誤刪除恢復
B. Recover Table 僅可用於 Drop Table 導致的資料誤刪除恢復
C. Flashback Table 適用於 Drop Table 以及 Truncate Table 導致的資料誤刪除恢復
D. Flashback Table 能夠實現對一張表多次進行恢復操作
學生答案: B. Recover Table 僅可用於 Drop Table 導致的資料誤刪除恢復 、 C. Flashback Table 適用於 Drop Table 以及 Truncate Table 導致的資料誤刪除恢復
正確答案: B. Recover Table 僅可用於 Drop Table 導致的資料誤刪除恢復 、C. Flashback Table 適用於 Drop Table 以及 Truncate Table 導致的資料誤刪除恢復
正確
2. 【多選題】基於 MVCC 資料恢復描述正確的是?(請選 3 項)
A. 要恢復的資料的時間點(safe point)未被 GC 掉,理論上歷史資料均可恢復
B. set tidb_snapshot 的歷史資料查詢依賴 MVCC ,GC 資料保留策略
C. GC 引數 tidb_gc_life_time 設定的越久,則理論上允許恢復的資料時長越長
D. Recover Table,Flashback Table 僅依賴 MVCC,不依賴 GC 資料保留策略
學生答案: A. 要恢復的資料的時間點(safe point)未被 GC 掉,理論上歷史資料均可恢復 、 B. set tidb_snapshot 的歷史資料查詢依賴 MVCC ,GC 資料保留策略 、 C. GC 引數 tidb_gc_life_time 設定的越久,則理論上允許恢復的資料時長越長
正確答案: A. 要恢復的資料的時間點(safe point)未被 GC 掉,理論上歷史資料均可恢復 、B. set tidb_snapshot 的歷史資料查詢依賴 MVCC ,GC 資料保留策略 、C. GC 引數 tidb_gc_life_time 設定的越久,則理論上允許恢復的資料時長越長
-----
1. 【多選題】以下哪些因素,會引起 TiDB Server 記憶體使用異常?(請選 3 項)
A. 大事務造成記憶體放大
B. SQL 執行計劃錯亂造成返回給 TiDB 大量非必要資料
C. GO 的記憶體回收機制,也可能導致記憶體佔用量呈現異常的情況
D. ADD Index 操作,在 write reorg 階段也會大量佔用記憶體
學生答案: A. 大事務造成記憶體放大 、 B. SQL 執行計劃錯亂造成返回給 TiDB 大量非必要資料 、 C. GO 的記憶體回收機制,也可能導致記憶體佔用量呈現異常的情況
正確答案: A. 大事務造成記憶體放大 、B. SQL 執行計劃錯亂造成返回給 TiDB 大量非必要資料 、C. GO 的記憶體回收機制,也可能導致記憶體佔用量呈現異常的情況
正確
2. 【多選題】在 TiDB Server 中,調整哪些引數,可以限制單條 SQL 的記憶體用量?(請選 2 項)
A. mem-quota-query 來設定單條 SQL 語句可以佔用的最大記憶體閾值
B. oom-use-tmp-storage 開啟臨時磁碟功能
C. rocksdb.defaultcf.block-cache-size 調整 RocksDB defaultcf 的記憶體佔用量
D. rocksdb.writecf.block-cache-size 調整 RocksDB writecf 的記憶體佔用量
學生答案: A. mem-quota-query 來設定單條 SQL 語句可以佔用的最大記憶體閾值 、 B. oom-use-tmp-storage 開啟臨時磁碟功能
正確答案: A. mem-quota-query 來設定單條 SQL 語句可以佔用的最大記憶體閾值 、B. oom-use-tmp-storage 開啟臨時磁碟功能
------
1. 【多選題】
TiKV Server 程式佔用的記憶體包括以下哪幾個部分?(請選3項)
A. Page Cache
B. RocksDB-kv Block Cache
C. SQL 查詢的結果集在記憶體中的資料結構
D. RaftStore channel 以及 Apply channel 中的訊息
學生答案: B. RocksDB-kv Block Cache 、 C. SQL 查詢的結果集在記憶體中的資料結構 、 D. RaftStore channel 以及 Apply channel 中的訊息
正確答案: B. RocksDB-kv Block Cache 、C. SQL 查詢的結果集在記憶體中的資料結構、D. RaftStore channel 以及 Apply channel 中的訊息
正確
2. 【多選題】
遇到 TiKV Server OOM 的情況後,通常從哪些方面進行排查?
A. 檢查 storage.block-cache.capacity 引數設定是否過大,一般情況下為伺服器記憶體的 45%
B. 檢視 block-cache 的命中是否率低,如果偏低,那麼需要確認 page cache 的佔用情況
C. 檢查是否出現了 gPRC 傳送的速度跟不上 Coprocessor 的情況,TiKV-Details --> Coprocessor Overview --> Total Response Size 是否超過網路卡的 network outbound 流量
D. 排查下當前叢集環境中是否有返回結果集比較大的 SQL,並進行優化
學生答案: A. 檢查 storage.block-cache.capacity 引數設定是否過大,一般情況下為伺服器記憶體的 45% 、 C. 檢查是否出現了 gPRC 傳送的速度跟不上 Coprocessor 的情況,TiKV-Details --> Coprocessor Overview --> Total Response Size 是否超過網路卡的 network outbound 流量 、 D. 排查下當前叢集環境中是否有返回結果集比較大的 SQL,並進行優化
正確答案: A. 檢查 storage.block-cache.capacity 引數設定是否過大,一般情況下為伺服器記憶體的 45%、C. 檢查是否出現了 gPRC 傳送的速度跟不上 Coprocessor 的情況,TiKV-Details --> Coprocessor Overview --> Total Response Size 是否超過網路卡的 network outbound 流量 、D. 排查下當前叢集環境中是否有返回結果集比較大的 SQL,並進行優化
------
1. 【多選題】
關於熱點,描述正確的是?(請選擇 2 項)
A. Region 是按照 hash 進行分片,導致熱點非常容易產生
B. 熱點型別分為讀熱點和寫熱點
C. 行資料的 key 編碼規則包括 tableid 以及 rowid,同一個表的資料會在以表 ID 開頭為字首的一個 Region 中,資料的順序按照RowID的值順序排列,故容易出現insert寫熱點
D. 出現讀熱點的 Region,一般情況下也會出現寫熱點
學生答案: B. 熱點型別分為讀熱點和寫熱點 、 C. 行資料的 key 編碼規則包括 tableid 以及 rowid,同一個表的資料會在以表 ID 開頭為字首的一個 Region 中,資料的順序按照RowID的值順序排列,故容易出現insert寫熱點
正確答案: B. 熱點型別分為讀熱點和寫熱點 、C. 行資料的 key 編碼規則包括 tableid 以及 rowid,同一個表的資料會在以表 ID 開頭為字首的一個 Region 中,資料的順序按照RowID的值順序排列,故容易出現insert寫熱點
正確
2. 【多選題】
關於熱點的解決方案,描述正確的是?
A. 非 int 以及 bigint 型別的 pk,可以使用 SHARD_ROW_ID_BITS 和 PRE_SPLIT_REGIONS 的方式來打散 insert 寫入熱點
B. Bigint 型別的 pk,可以使用 AUTO_RANDOM 的方式打散 insert 寫入熱點
C. 小表頻繁訪問,造成的讀熱點,可以嘗試使用 Load Base Split 基於 qps 和 流量來進行自動的 split 打散
D. 執行計劃不合理引起的非必要全表 / 錯誤的索引掃描,導致大範圍的資料掃描造成的讀熱點,需要進行 SQL 優化來規避
學生答案: A. 非 int 以及 bigint 型別的 pk,可以使用 SHARD_ROW_ID_BITS 和 PRE_SPLIT_REGIONS 的方式來打散 insert 寫入熱點 、 B. Bigint 型別的 pk,可以使用 AUTO_RANDOM 的方式打散 insert 寫入熱點 、 C. 小表頻繁訪問,造成的讀熱點,可以嘗試使用 Load Base Split 基於 qps 和 流量來進行自動的 split 打散 、 D. 執行計劃不合理引起的非必要全表 / 錯誤的索引掃描,導致大範圍的資料掃描造成的讀熱點,需要進行 SQL 優化來規避
正確答案: A. 非 int 以及 bigint 型別的 pk,可以使用 SHARD_ROW_ID_BITS 和 PRE_SPLIT_REGIONS 的方式來打散 insert 寫入熱點、B. Bigint 型別的 pk,可以使用 AUTO_RANDOM 的方式打散 insert 寫入熱點 、C. 小表頻繁訪問,造成的讀熱點,可以嘗試使用 Load Base Split 基於 qps 和 流量來進行自動的 split 打散 、D. 執行計劃不合理引起的非必要全表 / 錯誤的索引掃描,導致大範圍的資料掃描造成的讀熱點,需要進行 SQL 優化來規避
----
1. 【多選題】
關於 PD 排程,描述正確的是?(請選擇 3 項)
A. 可以通過調整 leader-weight 和 region-weight,來影響某個 Store 上的 leader 和 region 分佈情況
B. 檢視排程的資訊,主要是通過監控 metrics、pd 日誌、pd-ctl 工具
C. 排程只能由 Scheduler 產生
D. 如果 RegionHeartbeat 異常,可能會影響排程的產生和執行
學生答案: A. 可以通過調整 leader-weight 和 region-weight,來影響某個 Store 上的 leader 和 region 分佈情況 、 B. 檢視排程的資訊,主要是通過監控 metrics、pd 日誌、pd-ctl 工具 、 D. 如果 RegionHeartbeat 異常,可能會影響排程的產生和執行
正確答案: A. 可以通過調整 leader-weight 和 region-weight,來影響某個 Store 上的 leader 和 region 分佈情況 、B. 檢視排程的資訊,主要是通過監控 metrics、pd 日誌、pd-ctl 工具 、D. 如果 RegionHeartbeat 異常,可能會影響排程的產生和執行
正確
2. 【多選題】
各個 Store 打分差異不大,但是 Leader 在各個 Store 中分佈不均衡的情況時,應該如何排查及解決?(請選擇 3 項)
A. 檢視 Grafana PD --> Statistics - hot write / read,判斷叢集中是否存在熱點導致負載不均衡的現象。如果存在則需要根據熱點排程相關的資訊進一步分析
B. 檢視 Grafana PD --> Region health,判斷叢集中是否存在大量的空 Region 或小 Region,導致不同 Store 的 Leader 數量差別特別大,使 raftstore 負擔過重。此時,需要開啟 Region Merge 並儘可能加速合併
C. 檢查叢集中的 Store 軟硬體環境是否統一。如果存在差異,如磁碟空間容量不同。那麼可以酌情調整 leader-weight 和 region-weight 來控制 Leader / Region 的分佈
D. Store limit 控制 operator 的消費的速度,調整 store limit,使 Leader 在各個 TiKV 節點上分佈均衡
學生答案: A. 檢視 Grafana PD --> Statistics - hot write / read,判斷叢集中是否存在熱點導致負載不均衡的現象。如果存在則需要根據熱點排程相關的資訊進一步分析 、 B. 檢視 Grafana PD --> Region health,判斷叢集中是否存在大量的空 Region 或小 Region,導致不同 Store 的 Leader 數量差別特別大,使 raftstore 負擔過重。此時,需要開啟 Region Merge 並儘可能加速合併 、 C. 檢查叢集中的 Store 軟硬體環境是否統一。如果存在差異,如磁碟空間容量不同。那麼可以酌情調整 leader-weight 和 region-weight 來控制 Leader / Region 的分佈
正確答案: A. 檢視 Grafana PD --> Statistics - hot write / read,判斷叢集中是否存在熱點導致負載不均衡的現象。如果存在則需要根據熱點排程相關的資訊進一步分析、B. 檢視 Grafana PD --> Region health,判斷叢集中是否存在大量的空 Region 或小 Region,導致不同 Store 的 Leader 數量差別特別大,使 raftstore 負擔過重。此時,需要開啟 Region Merge 並儘可能加速合併、C. 檢查叢集中的 Store 軟硬體環境是否統一。如果存在差異,如磁碟空間容量不同。那麼可以酌情調整 leader-weight 和 region-weight 來控制 Leader / Region 的分佈
------------
1. 【單選題】以下說法正確的是
A. Scheduler 執行緒池,負責檢測讀寫事務衝突檢測,如果檢測發生衝突會等待,超時後將事務回滾
B. 在 Raftstore 執行緒池,寫請求都會先在 Raftstore 執行緒 fsync 的方式寫入 RocksDB,由於存在 I/O,Raftstore 執行緒理論上不可能達到 100% 的 CPU
C. UnifyReadPool 負責處理所有底層的讀寫取請求,是最下面的一層執行緒池,但是此執行緒池不建議設定過大,否則容易出現執行緒頻繁切換反而浪費 cpu 的情況
D. Scheduler 執行緒池本身會進行一些寫的操作,減輕 raftstore 的壓力
學生答案: B. 在 Raftstore 執行緒池,寫請求都會先在 Raftstore 執行緒 fsync 的方式寫入 RocksDB,由於存在 I/O,Raftstore 執行緒理論上不可能達到 100% 的 CPU
正確答案: B. 在 Raftstore 執行緒池,寫請求都會先在 Raftstore 執行緒 fsync 的方式寫入 RocksDB,由於存在 I/O,Raftstore 執行緒理論上不可能達到 100% 的 CPU
正確
2. 【多選題】關於 async write 說法正確的是(請選擇3項)
A:async write 包括 raft log 的 propose,append 以及 apply 等關鍵流程節點
B:async write 主要涉及 IO 和 CPU,不涉及網路
C:當 async_write 執行成功或失敗之後,會呼叫 Scheduler 的 release_lock 函式來釋放 latch 並且喚醒等待在這些 latch 上的請求繼續執行。
D:可以通過 Storage async write duration 來檢視非同步寫所花費的時間
學生答案: A:async write 包括 raft log 的 propose,append 以及 apply 等關鍵流程節點 、 C:當 async_write 執行成功或失敗之後,會呼叫 Scheduler 的 release_lock 函式來釋放 latch 並且喚醒等待在這些 latch 上的請求繼續執行。 、 D:可以通過 Storage async write duration 來檢視非同步寫所花費的時間
正確答案: A:async write 包括 raft log 的 propose,append 以及 apply 等關鍵流程節點 、C:當 async_write 執行成功或失敗之後,會呼叫 Scheduler 的 release_lock 函式來釋放 latch 並且喚醒等待在這些 latch 上的請求繼續執行。 、D:可以通過 Storage async write duration 來檢視非同步寫所花費的時間
----------
1. 【多選題】
TiDB 中資料讀取流程描述正確的是?(請選擇合適的選項)
A. SQL 在 TiDB Server 側完成解析,邏輯優化,物理優化後,生成執行計劃等
B. 物理執行計劃會根據請求型別分別呼叫 KV Get API 以及 DistSQL API 通過 gRPC 傳送給 TiKV Server
C. Unified Read Pool 會根據優先順序以及執行時長的不同被放到不同的任務佇列中
D. KV Get 以及非 KV Get ,都會構造一個 snapshot
學生答案: A. SQL 在 TiDB Server 側完成解析,邏輯優化,物理優化後,生成執行計劃等 、 B. 物理執行計劃會根據請求型別分別呼叫 KV Get API 以及 DistSQL API 通過 gRPC 傳送給 TiKV Server 、 C. Unified Read Pool 會根據優先順序以及執行時長的不同被放到不同的任務佇列中 、 D. KV Get 以及非 KV Get ,都會構造一個 snapshot
正確答案: A. SQL 在 TiDB Server 側完成解析,邏輯優化,物理優化後,生成執行計劃等 、B. 物理執行計劃會根據請求型別分別呼叫 KV Get API 以及 DistSQL API 通過 gRPC 傳送給 TiKV Server 、C. Unified Read Pool 會根據優先順序以及執行時長的不同被放到不同的任務佇列中 、D. KV Get 以及非 KV Get ,都會構造一個 snapshot
正確
2. 【多選題】
在遇到叢集出現讀資料慢的情況時,建議檢視哪些監控或日誌?(請選擇 3 項)
A. 通過 TiDB Dashboard 查詢 Slow query 選單 / SQL 語句分析選單,判斷叢集中 SQL 的執行計劃是否發生過變化
B. TiKV-Details --> Thread CPU --> GC worker CPU 是否被打滿
C. 根據 TiDB Dashboard 流量視覺化選單,判斷叢集中是否有讀熱點
D. TiKV-Details --> Thread CPU --> Unified read pool CPU 是否被打滿
學生答案: A. 通過 TiDB Dashboard 查詢 Slow query 選單 / SQL 語句分析選單,判斷叢集中 SQL 的執行計劃是否發生過變化 、 C. 根據 TiDB Dashboard 流量視覺化選單,判斷叢集中是否有讀熱點 、 D. TiKV-Details --> Thread CPU --> Unified read pool CPU 是否被打滿
正確答案: A. 通過 TiDB Dashboard 查詢 Slow query 選單 / SQL 語句分析選單,判斷叢集中 SQL 的執行計劃是否發生過變化 、C. 根據 TiDB Dashboard 流量視覺化選單,判斷叢集中是否有讀熱點 、D. TiKV-Details --> Thread CPU --> Unified read pool CPU 是否被打滿
-----------
1. 【多選題】下面屬於計劃外系統不可用的是?(請選擇 3 項)
A. 出於安全原因緊急對應用進行升級
B. 由於過保修期進行主機更換
C. 作業系統 BUG 被觸發
D. DBA 刪除歷史資料後,應用查詢不到當前資料
E. 系統管理員回收許可權後,使用者無法登入
學生答案: C. 作業系統 BUG 被觸發 、 D. DBA 刪除歷史資料後,應用查詢不到當前資料 、 E. 系統管理員回收許可權後,使用者無法登入
正確答案: C. 作業系統 BUG 被觸發 、D. DBA 刪除歷史資料後,應用查詢不到當前資料 、E. 系統管理員回收許可權後,使用者無法登入
正確
2. 【單選題】 關於 TiDB 資料庫的高可用特性,描述不正確的是?
A. PD 的高可用主要靠整合在其內部的 etcd 來完成 leader 選舉
B. Raft 的預設副本數為 3,TiKV 為 5 個節點,當有 2 個 TiKV 節點不可用時,不會影響系統的可用性
C. 靠 TiDB server 不能完成自動故障轉移
D. 三副本的 TiKV 中當只有一個副本可用時,整個系統不可用
學生答案: B. Raft 的預設副本數為 3,TiKV 為 5 個節點,當有 2 個 TiKV 節點不可用時,不會影響系統的可用性
正確答案: B. Raft 的預設副本數為 3,TiKV 為 5 個節點,當有 2 個 TiKV 節點不可用時,不會影響系統的可用性
---
1. 【多選題】
下列關於各個高可用架構的 RPO 描述正確的有?(請選擇 2 項)
A. 同城三中心架構當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復
B. 同城兩中心的同步模式當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復
C. 同城兩中心的非同步模式當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復
D. 兩地三中心當任意兩個資料中心不可用,可以做到 RPO 為 0 的恢復
E. 非同步複製當主叢集不可用,可以做到 RPO 為 0 的恢復
學生答案: A. 同城三中心架構當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復 、 B. 同城兩中心的同步模式當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復
正確答案: A. 同城三中心架構當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復 、B. 同城兩中心的同步模式當任意一個資料中心不可用,可以做到 RPO 為 0 的恢復
正確
2. 【單選題】
關於 TiDB 高可用架構說法不正確的是?
A. 兩地三中心架構的在災備城市一般無法做到同步複製
B. 同城三中心的事務(寫操作)不需要跨資料中心
C. 同城兩中心的事務(寫操作)在同步模式下需要跨資料中心
D. 同城兩中心在非同步模式下如果災備中心不可用,整個系統依然可用
學生答案: B. 同城三中心的事務(寫操作)不需要跨資料中心
正確答案: B. 同城三中心的事務(寫操作)不需要跨資料中心
---
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-2843830/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 模擬考試參考程式碼
- FLUXION參考滲透測試UX
- OSI參考模型和TCP/IP參考模型模型TCP
- javamail參考JavaAI
- WebApiClient效能參考WebAPIclient
- OSI參考模型模型
- python後端面試題答案(僅參考)Python後端面試題
- 最新大廠iOS面試題——參考思路iOS面試題
- 參考文獻合集
- echarts markLine參考線Echarts
- PyQtGraph繪圖參考QT繪圖
- oracle 參考資料Oracle
- openGauss ODBC介面參考
- Latex—參考文獻
- CloudBeaver 參考架構Cloud架構
- Blender參考API用法API
- LVS - ipvsadm命令參考
- Oracle ASMCMD命令參考OracleASM
- SQL優化參考SQL優化
- 華為的Java面試題,僅供參考。Java面試題
- pgbench 壓力測試指令碼作為參考.指令碼
- 100道JAVA面試題+JAVA面試題參考答案Java面試題
- 教材與參考文獻
- openGauss 配置檔案參考
- docker 配置引數參考Docker
- docker-compose 部署參考Docker
- Spring Data JDBC參考文件SpringJDBC
- multipath配置詳細參考
- mysql許可權參考MySql
- JavaScript Math(數學) 參考JavaScript
- em字型大小參考物件物件
- docker 安裝 MySQL (參考)DockerMySql
- OSI七層參考模型模型
- GraalVM快速參考指南 - graalvmLVM
- spring-boot參考文章Springboot
- Spring Boot 參考指南(Hazelcast)Spring BootAST
- HTML標籤參考(一)HTML
- Elasticsearch 參考指南(介紹)Elasticsearch