分佈式數據庫 TiDB -- 原理優化與架構設計
董菲 包光磊 王巖廣 黃偲韡
- 出版商: 機械工業
- 出版日期: 2025-03-01
- 定價: $714
- 售價: 8.5 折 $607
- 語言: 簡體中文
- 頁數: 392
- ISBN: 7111772237
- ISBN-13: 9787111772231
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$352深入理解 Android 網絡編程-技術詳解與最佳實踐
-
$454Android 深度探索(捲 2)-系統應用源代碼分析與 ROM 定製(附光盤)
-
$680$537 -
$454Android 安全攻防權威指南
-
$520$411 -
$281網絡設備配置與調試項目實訓(第4版)
-
$1,000$700 -
$690$538 -
$607Spring Boot + Vue 開發實戰
-
$534$507 -
$780$390 -
$620$527 -
$250$198 -
$880$695 -
$520$410 -
$580$458 -
$880$695 -
$354$336 -
$479$455 -
$860$679 -
$390$371 -
$594$564 -
$539$512 -
$594$564 -
$509MAUI 跨平臺全棧應用開發
商品描述
本書以TiDB數據庫為基礎介紹分佈式數據庫的運行原理、性能優化和應用場景架構設計。首先,剖析分佈式數據庫的運行原理與架構;然後,闡述分佈式數據庫TiDB在表與索引的設計優化、SQL優化、系統級優化方面的方法論,通過融入多個有代表性的案例,幫助讀者將方法論對應到生產實踐中;最後,梳理場景選型和架構設計過程中讀者應該掌握的主要知識點,並對一些分佈式數據庫的優勢場景進行了詳細介紹。 本書適合希望瞭解分佈式數據庫原理,學習TiDB數據庫的開發工程師、數據庫管理員和架構師閱讀,也可以作為高等學校教師或學生學習分佈式數據庫的參考教材。
作者簡介
董菲,現任PingCAP首席講師,前甲骨文(Oracle)首席講師,曾就職於Oracle、空中網、中國鐵路科學研究院、微軟中國等企業。多年從事企業培訓、數據分析、架構設計、系統開發與維護等工作。TiDB數據庫官方系列課程“TiDB數據庫核心原理與架構”“TiDB數據庫管理”“TiDB性能調優”“TiDB故障排除案例學習”等的主要講者,TiDB數據庫官方考試PCTA(平凱數據庫認證TiDB數據庫專員)和PCTP(平凱數據庫認證TiDB數據庫管理專家)的主要開發者
目錄大綱
叢書序
推薦序一
推薦序二
推薦序三
前言
第一部分 運行原理
第1章 數據庫架構概述
1.1 集中式數據庫的特點
1.2 集中式數據庫的典型架構
1.2.1 單體數據庫架構
1.2.2 配合緩存機制的數據庫架構
1.2.3 主從數據庫架構
1.2.4 Shared-Nothing與Shared-Everything架構
1.2.5 交易型數據庫+數據倉庫
1.2.6 基於分表分庫中間件的數據庫集群架構
1.3 分佈式數據庫的特點
第2章 計算引擎TiDB Server的架構與原理
2.1 TiDB Server的架構
2.2 TiDB Server的主要功能
2.3 關系型數據與鍵值的轉換
2.4 SQL讀寫相關模塊
2.5 Online DDL相關模塊
2.6 GC機制與相關模塊
2.7 TiDB Server的緩存
2.7.1 TiDB Server緩存的組成結構
2.7.2 TiDB Server緩存管理
第3章 數據存儲引擎TiKV的架構與原理
3.1 TiKV的特徵
3.2 TiKV的架構和作用
3.3 RocksDB
3.3.1 RocksDB的作用與特點
3.3.2 RocksDB的寫入與文件組織
3.3.3 RocksDB的查詢
3.3.4 RocksDB的列族
3.4 Raft與Multi Raft
3.4.1 Raft—日誌覆制
3.4.2 Raft—leader選舉
3.5 數據的寫入
3.6 數據的讀取—ReadIndex Read
3.7 數據的讀取—Follower Read
3.8 MVCC
3.9 分佈式事務
3.10 Coprocessor
第4章 TiDB的“大腦”——PD的架構與原理
4.1 PD的架構
4.2 PD的主要功能
4.3 路由功能
4.4 TSO分配
4.5 調度
4.5.1 為什麽要調度
4.5.2 信息收集
4.5.3 生成調度
4.5.4 執行調度
第5章 列存與MPP計算引擎TiFlash的架構與原理
5.1 TiFlash的架構
5.2 TiFlash的關鍵特性
5.3 異步覆制
5.4 一致性讀取
5.5 智能選擇
第二部分 性能優化
第6章 表與索引的設計優化
6.1 TiDB數據庫中的兩種表結構
6.1.1 聚簇索引表結構
6.1.2 非聚簇索引表結構
6.2 表與鍵值的映射方式
6.2.1 聚簇索引表中鍵值的映射方式
6.2.2 非聚簇索引表中鍵值的映射方式
6.3 TiDB中的索引結構
6.4 兩種表結構的寫入對比
6.4.1 非聚簇索引表的寫入
6.4.2 聚簇索引表的寫入
6.5 兩種表結構的讀取對比
6.5.1 非聚簇索引表的讀取
6.5.2 聚簇索引表的讀取
6.6 分佈式數據庫的熱點問題
6.6.1 熱點問題的形成原因
6.6.2 不同表結構的熱點問題
6.6.3 熱點的監控
6.6.4 熱點的解決
6.7 表與索引的設計優化總結
第7章 SQL優化
7.1 TiDB數據庫優化器的工作原理
7.1.1 TiDB數據庫優化器的工作流程
7.1.2 預處理階段之點查
7.1.3 預處理階段中的構造初始邏輯執行計劃
7.1.4 邏輯優化
7.1.5 物理優化
7.2 查看執行計劃
7.3 數據查詢優化之索引優化
7.3.1 點查Point_Get & Batch_Point_Get
7.3.2 IndexReader(索引讀)+ IndexRangeScan(索引範圍掃描)
7.3.3 IndexLookUp(回表索引讀)+ IndexRangeScan(索引範圍掃描)
TableRowIDScan(根據鍵讀取表數據)
7.3.4 IndexFullScan(索引全掃描)
7.3.5 TableReader(表掃描)+ TableFullScan(全表掃描)
7.3.6 IndexMerge(索引合並)
7.4 數據查詢優化之聚合優化
7.4.1 HashAgg算子
7.4.2 StreamAgg算子
7.5 數據查詢優化之表連接優化
7.5.1 Hash Join算子
7.5.2 Merge Join算子
7.5.3 Index Join算子
7.6 統計信息管理
7.6.1 統計信息的工作原理
7.6.2 統計信息的組成
7.6.3 統計信息監控
7.6.4 收集統計信息
7.6.5 統計信息的導入與導出
7.7 執行計劃管理
7.7.1 Optimizer Hints
7.7.2 執行計劃綁定
7.8 SQL優化最佳實踐
第8章 性能監控與診斷
8.1 性能監控概述
8.2 TiDB數據庫的監控體系
8.2.1 Prometheus + Grafana + Alertmanager
8.2.2 TiDB Dashboard
8.3 常見的性能診斷方法
8.3.1 定位慢查詢
8.3.2 定位有問題的SQL
8.3.3 定位TiDB Server或TiKV上最耗時的SQL
8.3.4 定位熱點問題
8.3.5 鎖與事務的診斷
8.3.6 如何診斷整體讀寫性能問題
8.3.7 如何診斷問題出現在哪個組件
8.3.8 寫入性能的診斷方法
8.3.9 大量查詢超時的診斷方法
8.3.10 PD調度慢的診斷方法
8.3.11 PD頻繁調度的診斷方法
第9章 系統變量與配置參數的優化
9.1