注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數(shù)據(jù)庫數(shù)據(jù)庫理論原理、優(yōu)化與架構設計:分布式數(shù)據(jù)庫TiDB

原理、優(yōu)化與架構設計:分布式數(shù)據(jù)庫TiDB

原理、優(yōu)化與架構設計:分布式數(shù)據(jù)庫TiDB

定 價:¥119.00

作 者: 董菲 包光磊 王巖廣 黃偲韡
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111772231 出版時間: 2025-03-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  本書以TiDB數(shù)據(jù)庫為基礎介紹分布式數(shù)據(jù)庫的運行原理、性能優(yōu)化和應用場景架構設計。首先,剖析分布式數(shù)據(jù)庫的運行原理與架構;然后,闡述分布式數(shù)據(jù)庫TiDB在表與索引的設計優(yōu)化、SQL優(yōu)化、系統(tǒng)級優(yōu)化方面的方法論,通過融入多個有代表性的案例,幫助讀者將方法論對應到生產實踐中;最后,梳理場景選型和架構設計過程中讀者應該掌握的主要知識點,并對一些分布式數(shù)據(jù)庫的優(yōu)勢場景進行了詳細介紹。本書適合希望了解分布式數(shù)據(jù)庫原理,學習TiDB數(shù)據(jù)庫的開發(fā)工程師、數(shù)據(jù)庫管理員和架構師閱讀,也可以作為高等學校教師或學生學習分布式數(shù)據(jù)庫的參考教材。

作者簡介

  董菲,PingCAP 首席講師,常年從事數(shù)據(jù)庫培訓、架構設計、開發(fā)和維護工作 。曾供職于 Oracle、空中網、微軟中國和 ARUZE,是數(shù)據(jù)庫領域的資深專家。多次為人民銀行、中國銀行、工商銀行、農業(yè)銀行、中國移動、中國聯(lián)通、鐵路總公司、中國郵政、埃森哲和 IBM 等企業(yè)提供數(shù)據(jù)庫技術和開發(fā)培訓。

圖書目錄

叢書序
推薦序一
推薦序二
推薦序三
前言
第一部分 運行原理
第1章 ?數(shù)據(jù)庫架構概述 003
1.1 集中式數(shù)據(jù)庫的特點 003
1.2 集中式數(shù)據(jù)庫的典型架構 004
1.2.1 單體數(shù)據(jù)庫架構 004
1.2.2 配合緩存機制的數(shù)據(jù)庫架構 005
1.2.3 主從數(shù)據(jù)庫架構 005
1.2.4 Shared-Nothing與Shared-Everything架構 006
1.2.5 交易型數(shù)據(jù)庫 數(shù)據(jù)倉庫 008
1.2.6 基于分表分庫中間件的數(shù)據(jù)庫集群架構 008
1.3 分布式數(shù)據(jù)庫的特點 010
第2章 ?計算引擎TiDB Server的架構與原理 015
2.1 TiDB Server的架構 015
2.2 TiDB Server的主要功能 016
2.3 關系型數(shù)據(jù)與鍵值的轉換 017
2.4 SQL讀寫相關模塊 022
2.5 Online DDL相關模塊 027
2.6 GC機制與相關模塊 028
2.7 TiDB Server的緩存 030
2.7.1 TiDB Server緩存的組成結構 030
2.7.2 TiDB Server緩存管理 030
第3章 ?數(shù)據(jù)存儲引擎TiKV的架構與原理 031
3.1 TiKV的特征 031
3.2 TiKV的架構和作用 032
3.3 RocksDB 033
3.3.1 RocksDB的作用與特點 033
3.3.2 RocksDB的寫入與文件組織 034
3.3.3 RocksDB的查詢 037
3.3.4 RocksDB的列族 038
3.4 Raft與Multi Raft 039
3.4.1 Raft—日志復制 041
3.4.2 Raft—leader選舉 047
3.5 數(shù)據(jù)的寫入 050
3.6 數(shù)據(jù)的讀取—ReadIndex Read  051
3.7 數(shù)據(jù)的讀取—Follower Read  055
3.8 MVCC 056
3.9 分布式事務 061
3.10 Coprocessor 069
第4章 ?TiDB的“大腦”——PD的架構與原理 073
4.1 PD的架構 073
4.2 PD的主要功能 074
4.3 路由功能 075
4.4 TSO分配 076
4.5 調度 080
4.5.1 為什么要調度 080
4.5.2 信息收集 081
4.5.3 生成調度 082
4.5.4 執(zhí)行調度 082
第5章 ?列存與MPP計算引擎TiFlash的架構與原理 083
5.1 TiFlash的架構 083
5.2 TiFlash的關鍵特性 084
5.3 異步復制 085
5.4 一致性讀取 086
5.5 智能選擇 091
第二部分 性能優(yōu)化
第6章 ?表與索引的設計優(yōu)化 095
6.1 TiDB數(shù)據(jù)庫中的兩種表結構 095
6.1.1 聚簇索引表結構 095
6.1.2 非聚簇索引表結構 096
6.2 表與鍵值的映射方式 099
6.2.1 聚簇索引表中鍵值的映射方式 099
6.2.2 非聚簇索引表中鍵值的映射方式 100
6.3 TiDB中的索引結構 101
6.4 兩種表結構的寫入對比 103
6.4.1 非聚簇索引表的寫入 103
6.4.2 聚簇索引表的寫入 105
6.5 兩種表結構的讀取對比 107
6.5.1 非聚簇索引表的讀取 107
6.5.2 聚簇索引表的讀取 108
6.6 分布式數(shù)據(jù)庫的熱點問題 109
6.6.1 熱點問題的形成原因 110
6.6.2 不同表結構的熱點問題 111
6.6.3 熱點的監(jiān)控 113
6.6.4 熱點的解決 116
6.7 表與索引的設計優(yōu)化總結 127
第7章 ?SQL優(yōu)化 129
7.1 TiDB數(shù)據(jù)庫優(yōu)化器的工作原理 129
7.1.1 TiDB數(shù)據(jù)庫優(yōu)化器的工作流程 129
7.1.2 預處理階段之點查 130
7.1.3 預處理階段中的構造初始邏輯執(zhí)行計劃 131
7.1.4 邏輯優(yōu)化 132
7.1.5 物理優(yōu)化 133
7.2 查看執(zhí)行計劃 136
7.3 數(shù)據(jù)查詢優(yōu)化之索引優(yōu)化 138
7.3.1 點查Point_Get & Batch_Point_Get 139
7.3.2 IndexReader(索引讀) IndexRangeScan(索引范圍掃描) 140
7.3.3 IndexLookUp(回表索引讀) IndexRangeScan(索引范圍掃描)
TableRowIDScan(根據(jù)鍵讀取表數(shù)據(jù)) 141
7.3.4 IndexFullScan(索引全掃描) 144
7.3.5 TableReader(表掃描) TableFullScan(全表掃描) 146
7.3.6 IndexMerge(索引合并) 147
7.4 數(shù)據(jù)查詢優(yōu)化之聚合優(yōu)化 150
7.4.1 HashAgg算子 150
7.4.2 StreamAgg算子 154
7.5 數(shù)據(jù)查詢優(yōu)化之表連接優(yōu)化 157
7.5.1 Hash Join算子 157
7.5.2 Merge Join算子 160
7.5.3 Index Join算子 163
7.6 統(tǒng)計信息管理 166
7.6.1 統(tǒng)計信息的工作原理 167
7.6.2 統(tǒng)計信息的組成 172
7.6.3 統(tǒng)計信息監(jiān)控 181
7.6.4 收集統(tǒng)計信息 183
7.6.5 統(tǒng)計信息的導入與導出 189
7.7 執(zhí)行計劃管理 190
7.7.1 Optimizer Hints 190
7.7.2 執(zhí)行計劃綁定 193
7.8 SQL優(yōu)化最佳實踐 197
第8章 ?性能監(jiān)控與診斷 199
8.1 性能監(jiān)控概述 199
8.2 TiDB數(shù)據(jù)庫的監(jiān)控體系 199
8.2.1 Prometheus Grafana Alertmanager  199
8.2.2 TiDB Dashboard 201
8.3 常見的性能診斷方法 202
8.3.1 定位慢查詢

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號