注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)數(shù)據(jù)庫SQL SeverMySQL技術(shù)內(nèi)幕:InnoDB存儲引擎(第2版)

MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎(第2版)

MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎(第2版)

定 價:¥79.00

作 者: 姜承堯著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: SQL 計算機/網(wǎng)絡(luò) 數(shù)據(jù)庫

ISBN: 9787111422068 出版時間: 2013-05-21 包裝: 平裝
開本: 16 頁數(shù): 436 字數(shù):  

內(nèi)容簡介

  《MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎》由國內(nèi)資深MySQL專家親自執(zhí)筆,國內(nèi)外多位數(shù)據(jù)庫專家聯(lián)袂推薦。作為國內(nèi)唯一一本關(guān)于InnoDB的專著,本書的第1版廣受好評,第2版不僅針對最新的MySQL 5.6對相關(guān)內(nèi)容進行了全面的補充,還根據(jù)廣大讀者的反饋意見對第1版中存在的不足進行了完善,全書大約重寫了50%的內(nèi)容。本書從源代碼的角度深度解析了InnoDB的體系結(jié)構(gòu)、實現(xiàn)原理、工作機制,并給出了大量最佳實踐,能幫助你系統(tǒng)而深入地掌握InnoDB,更重要的是,它能為你設(shè)計管理高性能、高可用的數(shù)據(jù)庫系統(tǒng)提供絕佳的指導(dǎo)。《MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎》一共10章,首先宏觀地介紹了MySQL的體系結(jié)構(gòu)和各種常見的存儲引擎以及它們之間的比較;接著以InnoDB的內(nèi)部實現(xiàn)為切入點,逐一詳細講解了InnoDB存儲引擎內(nèi)部的各個功能模塊的實現(xiàn)原理,包括InnoDB存儲引擎的體系結(jié)構(gòu)、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)、基于InnoDB存儲引擎的表和頁的物理存儲、索引與算法、文件、鎖、事務(wù)、備份與恢復(fù),以及InnoDB的性能調(diào)優(yōu)等重要的知識;最后對InnoDB存儲引擎源代碼的編譯和調(diào)試做了介紹,對大家閱讀和理解InnoDB的源代碼有重要的指導(dǎo)意義。本書適合所有希望構(gòu)建和管理高性能、高可用性的MySQL數(shù)據(jù)庫系統(tǒng)的開發(fā)者和DBA閱讀。

作者簡介

  姜承堯(David Jiang),資深MySQL數(shù)據(jù)庫專家,擅長于數(shù)據(jù)庫的故障診斷、性能調(diào)優(yōu)、容災(zāi)處理、高可用和高擴展研究,同時一直致力于MySQL數(shù)據(jù)庫底層實現(xiàn)原理的研究和探索。此外,對高性能數(shù)據(jù)庫和數(shù)據(jù)倉庫也有深刻而獨到的理解。曾為MySQL編寫了許多開源工具和性能擴展補丁,如廣受好評的InnoDB引擎二級緩存項目。現(xiàn)任網(wǎng)易杭州研究院技術(shù)經(jīng)理一職,負責MySQL數(shù)據(jù)庫的內(nèi)核開發(fā),參與設(shè)計與開發(fā)MySQL數(shù)據(jù)庫在網(wǎng)易云環(huán)境中的應(yīng)用。曾擔任久游網(wǎng)數(shù)據(jù)庫工程部經(jīng)理,曾領(lǐng)導(dǎo)并參與了多個大型核心數(shù)據(jù)庫的設(shè)計、實施、管理和維護,實戰(zhàn)經(jīng)驗非常豐富?;钴S于開源數(shù)據(jù)庫以及開源軟件領(lǐng)域,是著名開源社區(qū)ChinaUnix MySQL版塊的版主,熱衷于與網(wǎng)友分享自己的心得和體會,深受社區(qū)歡迎。除本書外,他還撰寫了《MySQL技術(shù)內(nèi)幕:SQL編程》,是本書的姊妹篇,頗受好評。

圖書目錄

目  錄
推薦序
前言
第1章 MySQL體系結(jié)構(gòu)和存儲引擎1
1.1 定義數(shù)據(jù)庫和實例1
1.2 MySQL體系結(jié)構(gòu)3
1.3 MySQL存儲引擎5
1.3.1 InnoDB存儲引擎6
1.3.2 MyISAM存儲引擎7
1.3.3 NDB存儲引擎7
1.3.4 Memory存儲引擎8
1.3.5 Archive存儲引擎9
1.3.6 Federated存儲引擎9
1.3.7 Maria存儲引擎9
1.3.8 其他存儲引擎9
1.4 各存儲引擎之間的比較10
1.5 連接MySQL13
1.5.1 TCP/IP13
1.5.2 命名管道和共享內(nèi)存15
1.5.3 UNIX域套接字15
1.6 小結(jié)15
第2章 InnoDB存儲引擎17
2.1 InnoDB存儲引擎概述17
2.2 InnoDB存儲引擎的版本18
2.3 InnoDB體系架構(gòu)19
2.3.1 后臺線程19
2.3.2 內(nèi)存22
2.4 Checkpoint技術(shù)32
2.5 Master Thread工作方式36
2.5.1 InnoDB 1.0.x版本之前的Master Thread36
2.5.2 InnoDB1.2.x版本之前的Master Thread41
2.5.3 InnoDB1.2.x版本的Master Thread45
2.6 InnoDB關(guān)鍵特性45
2.6.1 插入緩沖46
2.6.2 兩次寫53
2.6.3 自適應(yīng)哈希索引55
2.6.4 異步IO57
2.6.5 刷新鄰接頁58
2.7 啟動、關(guān)閉與恢復(fù)58
2.8 小結(jié)61
第3章 文件62
3.1 參數(shù)文件62
3.1.1 什么是參數(shù)63
3.1.2 參數(shù)類型64
3.2 日志文件65
3.2.1 錯誤日志66
3.2.2 慢查詢?nèi)罩?7
3.2.3 查詢?nèi)罩?2
3.2.4 二進制日志73
3.3 套接字文件83
3.4 pid文件83
3.5 表結(jié)構(gòu)定義文件84
3.6 InnoDB存儲引擎文件84
3.6.1 表空間文件85
3.6.2 重做日志文件86
3.7 小結(jié)90
第4章 表91
4.1 索引組織表91
4.2 InnoDB邏輯存儲結(jié)構(gòu)93
4.2.1 表空間93
4.2.2 段95
4.2.3 區(qū)95
4.2.4 頁101
4.2.5 行101
4.3 InnoDB行記錄格式102
4.3.1 Compact行記錄格式103
4.3.2 Redundant行記錄格式106
4.3.3 行溢出數(shù)據(jù)110
4.3.4 Compressed和Dynamic行記錄格式117
4.3.5 CHAR的行結(jié)構(gòu)存儲117
4.4 InnoDB數(shù)據(jù)頁結(jié)構(gòu)120
4.4.1 File Header121
4.4.2 Page Header122
4.4.3 Infimum和Supremum Records123
4.4.4 User Records和Free Space123
4.4.5 Page Directory124
4.4.6 File Trailer124
4.4.7 InnoDB數(shù)據(jù)頁結(jié)構(gòu)示例分析125
4.5 Named File Formats機制132
4.6 約束134
4.6.1 數(shù)據(jù)完整性134
4.6.2 約束的創(chuàng)建和查找135
4.6.3 約束和索引的區(qū)別137
4.6.4 對錯誤數(shù)據(jù)的約束137
4.6.5 ENUM和SET約束139
4.6.6 觸發(fā)器與約束139
4.6.7 外鍵約束142
4.7 視圖144
4.7.1 視圖的作用144
4.7.2 物化視圖147
4.8 分區(qū)表152
4.8.1 分區(qū)概述152
4.8.2 分區(qū)類型155
4.8.3 子分區(qū)168
4.8.4 分區(qū)中的NULL值172
4.8.5 分區(qū)和性能176
4.8.6 在表和分區(qū)間交換數(shù)據(jù)180
4.9 小結(jié)182
第5章 索引與算法183
5.1 InnoDB存儲引擎索引概述183
5.2 數(shù)據(jù)結(jié)構(gòu)與算法184
5.2.1 二分查找法184
5.2.2 二叉查找樹和平衡二叉樹185
5.3 B+樹187
5.3.1 B+樹的插入操作187
5.3.2 B+樹的刪除操作190
5.4 B+樹索引191
5.4.1 聚集索引192
5.4.2 輔助索引196
5.4.3 B+樹索引的分裂200
5.4.4 B+樹索引的管理202
5.5 Cardinality值210
5.5.1 什么是Cardinality210
5.5.2 InnoDB存儲引擎的Cardinality統(tǒng)計212
5.6 B+樹索引的使用215
5.6.1 不同應(yīng)用中B+樹索引的使用215
5.6.2 聯(lián)合索引215
5.6.3 覆蓋索引218
5.6.4 優(yōu)化器選擇不使用索引的情況219
5.6.5 索引提示221
5.6.6 Multi-Range Read優(yōu)化223
5.6.7 Index Condition Pushdown(ICP)優(yōu)化226
5.7 哈希算法227
5.7.1 哈希表228
5.7.2 InnoDB存儲引擎中的哈希算法229
5.7.3 自適應(yīng)哈希索引230
5.8 全文檢索231
5.8.1 概述231
5.8.2 倒排索引232
5.8.3 InnoDB全文檢索233
5.8.4 全文檢索240
5.9 小結(jié)248
第6章 鎖249
6.1 什么是鎖249
6.2 lock與latch250
6.3 InnoDB存儲引擎中的鎖252
6.3.1 鎖的類型252
6.3.2 一致性非鎖定讀258
6.3.3 一致性鎖定讀261
6.3.4 自增長與鎖262
6.3.5 外鍵和鎖264
6.4 鎖的算法265
6.4.1 行鎖的3種算法265
6.4.2 解決Phantom Problem269
6.5 鎖問題271
6.5.1 臟讀271
6.5.2 不可重復(fù)讀273
6.5.3 丟失更新274
6.6 阻塞276
6.7 死鎖278
6.7.1 死鎖的概念278
6.7.2 死鎖概率280
6.7.3 死鎖的示例281
6.8 鎖升級283
6.9 小結(jié)284
第7章 事務(wù)285
7.1 認識事務(wù)285
7.1.1 概述285
7.1.2 分類287
7.2 事務(wù)的實現(xiàn)294
7.2.1 redo294
7.2.2 undo305
7.2.3 purge317
7.2.4 group commit319
7.3 事務(wù)控制語句323
7.4 隱式提交的SQL語句328
7.5 對于事務(wù)操作的統(tǒng)計329
7.6 事務(wù)的隔離級別330
7.7 分布式事務(wù)335
7.7.1 MySQL數(shù)據(jù)庫分布式事務(wù)335
7.7.2 內(nèi)部XA事務(wù)340
7.8 不好的事務(wù)習(xí)慣341
7.8.1 在循環(huán)中提交341
7.8.2 使用自動提交343
7.8.3 使用自動回滾344
7.9 長事務(wù)347
7.10 小結(jié)349
第8章 備份與恢復(fù)350
8.1 備份與恢復(fù)概述350
8.2 冷備352
8.3 邏輯備份353
8.3.1 mysqldump353
8.3.2 SELECT...INTO OUTFILE360
8.3.3 邏輯備份的恢復(fù)362
8.3.4 LOAD DATA INFILE362
8.3.5 mysqlimport364
8.4 二進制日志備份與恢復(fù)366
8.5 熱備367
8.5.1 ibbackup367
8.5.2 XtraBackup368
8.5.3 XtraBackup實現(xiàn)增量備份370
8.6 快照備份372
8.7 復(fù)制376
8.7.1 復(fù)制的工作原理376
8.7.2 快照+復(fù)制的備份架構(gòu)380
8.8 小結(jié)382
第9章 性能調(diào)優(yōu)383
9.1 選擇合適的CPU383
9.2 內(nèi)存的重要性384
9.3 硬盤對數(shù)據(jù)庫性能的影響387
9.3.1 傳統(tǒng)機械硬盤387
9.3.2 固態(tài)硬盤387
9.4 合理地設(shè)置RAID389
9.4.1 RAID類型389
9.4.2 RAID Write Back功能392
9.4.3 RAID配置工具394
9.5 操作系統(tǒng)的選擇397
9.6 不同的文件系統(tǒng)對數(shù)據(jù)庫性能的影響398
9.7 選擇合適的基準測試工具399
9.7.1 sysbench399
9.7.2 mysql-tpcc405
9.8 小結(jié)410
第10章 InnoDB存儲引擎源代碼的編譯和調(diào)試411
10.1 獲取InnoDB存儲引擎源代碼411
10.2 InnoDB源代碼結(jié)構(gòu)413
10.3 MySQL 5.1版本編譯和調(diào)試InnoDB源代碼415
10.3.1 Windows下的調(diào)試415
10.3.2 Linux下的調(diào)試418
10.4 cmake方式編譯和調(diào)試InnoDB存儲引擎423
10.5 小結(jié)424

本目錄推薦

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