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

MySQL技術(shù)內(nèi)幕InnoDB存儲(chǔ)引擎

MySQL技術(shù)內(nèi)幕InnoDB存儲(chǔ)引擎

定 價(jià):¥69.00

作 者: 姜承堯 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: SQL

ISBN: 9787111321880 出版時(shí)間: 2011-01-01 包裝: 平裝
開本: 16開 頁數(shù): 391 字?jǐn)?shù):  

內(nèi)容簡介

  本書是國內(nèi)目前唯一的一本關(guān)于innodb的著作,由資深mysql專家親自執(zhí)筆,中外數(shù)據(jù)庫專家聯(lián)袂推薦,權(quán)威性毋庸置疑。內(nèi)容深入,從源代碼的角度深度解析了innodb的體系結(jié)構(gòu)、實(shí)現(xiàn)原理、工作機(jī)制,并給出了大量最佳實(shí)踐,能幫助你系統(tǒng)而深入地掌握innodb,更重要的是,它能為你設(shè)計(jì)和管理高性能、高可用的數(shù)據(jù)庫系統(tǒng)提供絕佳的指導(dǎo)。注重實(shí)戰(zhàn),全書輔有大量的案例,可操作性極強(qiáng)。全書首先全景式地介紹了mysql獨(dú)有的插件式存儲(chǔ)引擎,分析了mysql的各種存儲(chǔ)引擎的優(yōu)勢和應(yīng)用環(huán)境;接著以innodb的內(nèi)部實(shí)現(xiàn)為切入點(diǎn),逐一詳細(xì)講解了innodb存儲(chǔ)引擎內(nèi)部的各個(gè)功能模塊,包括innodb存儲(chǔ)引擎的體系結(jié)構(gòu)、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)、基于innodb存儲(chǔ)引擎的表和頁的物理存儲(chǔ)、索引與算法、文件、鎖、事務(wù)、備份,以及innodb的性能調(diào)優(yōu)等重要的知識(shí);最后深入解析了innodb存儲(chǔ)引擎的源代碼結(jié)構(gòu),對(duì)大家閱讀和理解innodb的源代碼有重要的指導(dǎo)意義。本書適合所有希望構(gòu)建和管理高性能、高可用性的mysql數(shù)據(jù)庫系統(tǒng)的開發(fā)者和dba閱讀。

作者簡介

  姜承堯,資深MySQL數(shù)據(jù)庫專家,不僅擅長于數(shù)據(jù)庫的管理和維護(hù),還擅長子數(shù)據(jù)庫的開發(fā)。一直致力于MySQL數(shù)據(jù)庫底層實(shí)現(xiàn)原理的研究和探索,對(duì)高性能數(shù)據(jù)庫和數(shù)據(jù)倉庫也有深刻而獨(dú)到的見解。曾為MySQL編寫了許多開源工具和性能擴(kuò)展補(bǔ)丁,如廣受好評(píng)的InnoDB引擎二級(jí)緩存項(xiàng)目?,F(xiàn)任久游網(wǎng)數(shù)據(jù)庫工程部經(jīng)理,曾領(lǐng)導(dǎo)并參與了多個(gè)大型核心數(shù)據(jù)庫的設(shè)計(jì)、實(shí)施、管理和維護(hù),實(shí)戰(zhàn)經(jīng)驗(yàn)非常豐富?;钴S于開源數(shù)據(jù)庫和開源軟件領(lǐng)域,是著名開源社區(qū)ChinaUnixMySQL版塊的版主,熱衷于與網(wǎng)友分享自己的心得和體會(huì),深受社區(qū)歡迎。

圖書目錄

推薦序
前言
致謝
第1章 mysql體系結(jié)構(gòu)和存儲(chǔ)引擎
 1.1 定義數(shù)據(jù)庫和實(shí)例
 1.2 mysql體系結(jié)構(gòu)
 1.3 mysql表存儲(chǔ)引擎
 1.3.1 innodb存儲(chǔ)引擎
 1.3.2 myisam存儲(chǔ)引擎
 1.3.3 ndb存儲(chǔ)引擎
 1.3.4 memory存儲(chǔ)引擎
 1.3.5 archive存儲(chǔ)引擎
 1.3.6 federated存儲(chǔ)引擎
 1.3.7 maria存儲(chǔ)引擎
 1.3.8 其他存儲(chǔ)引擎
 1.4 各種存儲(chǔ)引擎之間的比較
 1.5 連接mysql
 1.5.1 tcp/ip
 1.5.2 命名管道和共享內(nèi)存
 1.5.3 unix域套接字
 1.6 小結(jié)
第2章 innodb存儲(chǔ)引擎
 2.1 innodb存儲(chǔ)引擎概述
 2.2 innodb體系架構(gòu)
 2.2.1 后臺(tái)線程
 2.2.2 內(nèi)存
 2.3 master thread
 2.3.1 master thread源碼分析
 2.3.2 master thread的潛在問題
 2.4 關(guān)鍵特性
 2.4.1 插入緩沖
 2.4.2 兩次寫
 2.4.3 自適應(yīng)哈希索引
 2.5 啟動(dòng)、關(guān)閉與恢復(fù)
 2.6 innodb plugin = 新版本的innodb存儲(chǔ)引擎
 2.7 小結(jié)
第3章 文件
 3.1 參數(shù)文件
 3.1.1 什么是參數(shù)
 3.1.2 參數(shù)類型
 3.2 日志文件
 3.2.1 錯(cuò)誤日志
 3.2.2 慢查詢?nèi)罩?
 3.2.3 查詢?nèi)罩?
 3.2.4 二進(jìn)制日志
 3.3 套接字文件
 3.4 pid文件
 3.5 表結(jié)構(gòu)定義文件
 3.6 innodb存儲(chǔ)引擎文件
 3.6.1 表空間文件
 3.6.2 重做日志文件
 3.7 小結(jié)
第4章 表
 4.1 innodb存儲(chǔ)引擎表類型
 4.2 innodb邏輯存儲(chǔ)結(jié)構(gòu)
 4.2.1 表空間
 4.2.2 段
 4.2.3 區(qū)
 4.2.4 頁
 4.2.5 行
 4.3 innodb物理存儲(chǔ)結(jié)構(gòu)
 4.4 innodb行記錄格式
 4.4.1 compact 行記錄格式
 4.4.2 redundant 行記錄格式
 4.4.3 行溢出數(shù)據(jù)
 4.4.4 compressed與dynamic行記錄格式
 4.4.5 char的行結(jié)構(gòu)存儲(chǔ)
 4.5 innodb數(shù)據(jù)頁結(jié)構(gòu)
 4.5.1 file header
 4.5.2 page header
 4.5.3 infimum和supremum記錄
 4.5.4 user records與freespace
 4.5.5 page directory
 4.5.6 file trailer
 4.5.7 innodb數(shù)據(jù)頁結(jié)構(gòu)示例分析
 4.6 named file formats
 4.7 約束
 4.7.1 數(shù)據(jù)完整性
 4.7.2 約束的創(chuàng)建和查找
 4.7.3 約束和索引的區(qū)別
 4.7.4 對(duì)于錯(cuò)誤數(shù)據(jù)的約束
 4.7.5 enum和set約束
 4.7.6 觸發(fā)器與約束
 4.7.7 外鍵
 4.8 視圖
 4.8.1 視圖的作用
 4.8.2 物化視圖
 4.9 分區(qū)表
 4.9.1 分區(qū)概述
 4.9.2 range分區(qū)
 4.9.3 list分區(qū)
 4.9.4 hash分區(qū)
 4.9.5 key分區(qū)
 4.9.6 columns分區(qū)
 4.9.7 子分區(qū)
 4.9.8 分區(qū)中的null值
 4.9.9 分區(qū)和性能
 4.10 小結(jié)
第5章 索引與算法
 5.1 innodb存儲(chǔ)引擎索引概述
 5.2 二分查找法
 5.3 平衡二叉樹
 5.4 b+樹
 5.4.1 b+樹的插入操作
 5.4.2 b+樹的刪除操作
 5.5 b+樹索引
 5.5.1 聚集索引
 5.5.2 輔助索引
 5.5.3 b+樹索引的管理
 5.6 b+樹索引的使用
 5.6.1 什么時(shí)候使用b+樹索引
 5.6.2 順序讀、隨機(jī)讀與預(yù)讀取
 5.6.3 輔助索引的優(yōu)化使用
 5.6.4 聯(lián)合索引
 5.7 哈希算法
 5.7.1 哈希表
 5.7.2 innodb存儲(chǔ)引擎中的哈希算法
 5.7.3 自適應(yīng)哈希索引
 5.8 小結(jié)
第6章 鎖
 6.1 什么是鎖
 6.2 innodb存儲(chǔ)引擎中的鎖
 6.2.1 鎖的類型
 6.2.2 一致性的非鎖定讀操作
 6.2.3 select ... for update & select ... lock in share mode
 6.2.4 自增長和鎖
 6.2.5 外鍵和鎖
 6.3 鎖的算法
 6.4 鎖問題
 6.4.1 丟失更新
 6.4.2 臟讀
 6.4.3 不可重復(fù)讀
 6.5 阻塞
 6.6 死鎖
 6.7 鎖升級(jí)
 6.8 小結(jié)
第7章 事務(wù)
 7.1 事務(wù)概述
 7.2 事務(wù)的實(shí)現(xiàn)
 7.2.1 redo
 7.2.2 undo
 7.3 事務(wù)控制語句
 7.4 隱式提交的sql語句
 7.5 對(duì)于事務(wù)操作的統(tǒng)計(jì)
 7.6 事務(wù)的隔離級(jí)別
 7.7 分布式事務(wù)
 7.8 不好的事務(wù)習(xí)慣
 7.8.1 在循環(huán)中提交
 7.8.2 使用自動(dòng)提交
 7.8.3 使用自動(dòng)回滾
 7.9 小結(jié)
第8章 備份與恢復(fù)
 8.1 備份與恢復(fù)概述
 8.2 冷備
 8.3 邏輯備份
 8.3.1 mysqldump
 8.3.2 select ... into outfile
 8.3.3 邏輯備份的恢復(fù)
 8.3.4 load data infile
 8.3.5 mysqlimport
 8.4 二進(jìn)制日志備份與恢復(fù)
 8.5 熱備
 8.5.1 ibbackup
 8.5.2 xtrabackup
 8.5.3 xtrabackup實(shí)現(xiàn)增量備份
 8.6 快照備份
 8.7 復(fù)制
 8.7.1 復(fù)制的工作原理
 8.7.2 快照+復(fù)制的備份架構(gòu)
 8.8 小結(jié)
第9章 性能調(diào)優(yōu)
 9.1 選擇合適的cpu
 9.2 內(nèi)存的重要性
 9.3 硬盤對(duì)數(shù)據(jù)庫性能的影響
 9.3.1 傳統(tǒng)機(jī)械硬盤
 9.3.2 固態(tài)硬盤
 9.4 合理地設(shè)置raid
 9.4.1 raid類型
 9.4.2 raid write back功能
 9.4.3 raid配置工具
 9.5 操作系統(tǒng)的選擇也很重要
 9.6 不同的文件系統(tǒng)對(duì)數(shù)據(jù)庫性能的影響
 9.7 選擇合適的基準(zhǔn)測試工具
 9.7.1 sysbench
 9.7.2 mysql-tpcc
 9.8 小結(jié)
第10章 innodb存儲(chǔ)引擎源代碼的編譯和調(diào)試
 10.1 獲取innodb存儲(chǔ)引擎源代碼
 10.2 innodb源代碼結(jié)構(gòu)
 10.3 編譯和調(diào)試innodb源代碼
 10.3.1 windows下的調(diào)試
 10.3.2 linux下的調(diào)試
 10.4 小結(jié)
附錄a secondary buffer pool for innodb
附錄b master thread源代碼
附錄c doublewrite源代碼
附錄d 哈希算法和哈希表源代碼

本目錄推薦

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