注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)MariaDB原理與實現(xiàn)

MariaDB原理與實現(xiàn)

MariaDB原理與實現(xiàn)

定 價:¥59.00

作 者: 張金鵬 張成遠 季錫強
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 計算機/網(wǎng)絡(luò) 軟件工程/開發(fā)項目管理

ISBN: 9787115385178 出版時間: 2015-03-01 包裝:
開本: 頁數(shù): 300頁 字?jǐn)?shù):  

內(nèi)容簡介

  本書由淺入深地剖析了MariaDB,首先簡要介紹了一些基礎(chǔ)知識、新特性、對MySQL原有功能所做的擴展以及源代碼,接著介紹了底層數(shù)據(jù)結(jié)構(gòu)、線程池技術(shù)、binlog、復(fù)制等內(nèi)容,最后介紹了分布式數(shù)據(jù)庫系統(tǒng)。

作者簡介

  張金鵬京東資深技術(shù)專家,MySQL數(shù)據(jù)庫專家,京東云數(shù)據(jù)庫組核心成員,主要負責(zé)MySQL內(nèi)核優(yōu)化及二次開發(fā)。多年數(shù)據(jù)庫領(lǐng)域以及搜索引擎領(lǐng)域的工作經(jīng)驗,對Redis、Memcached等NoSQL數(shù)據(jù)庫,以及CGroup、LXC、Docker等容器技術(shù)有深入的研究。新浪微博:弓長金鵬張成遠京東資深架構(gòu)師。畢業(yè)于東北大學(xué),碩士階段研究分布式數(shù)據(jù)庫相關(guān)方向,2012年加入京東云數(shù)據(jù)庫技術(shù)團隊。擅長高性能服務(wù)器開發(fā)、分布式數(shù)據(jù)庫、分布式存儲/緩存等大規(guī)模分布式系統(tǒng)架構(gòu)。主導(dǎo)了京東分布式數(shù)據(jù)庫系統(tǒng)及容器系統(tǒng)的架構(gòu)與開發(fā)工作。新浪微博:NEU_寒水季錫強京東資深架構(gòu)師,主要負責(zé)京東分布式數(shù)據(jù)庫的架構(gòu)設(shè)計及研發(fā)工作,主導(dǎo)容器技術(shù)在京東的應(yīng)用與推廣。專注于高性能服務(wù)器、分布式數(shù)據(jù)庫、分布式存儲/緩存及容器技術(shù),對容器核心技術(shù)及golang并發(fā)編程有深入研究。

圖書目錄

第1章 MariaDB概述  1 1.1 MariaDB的歷史  1 1.2 MariaDB所做的事情  2 1.2.1 更豐富的存儲引擎  2 1.2.2 性能的提升  2 1.2.3 擴展和新特性  3 1.2.4 更好的測試  3 1.2.5 盡量消除錯誤和警告  4 1.3 MariaDB的版本與兼容性  4 1.3.1 MariaDB 5.1和MySQL 5.1的不兼容性  4 1.3.2 MariaDB 5.2和MySQL 5.1的不兼容性  5 1.3.3 MariaDB 5.3和MySQL 5.1、MariaDB 5.2的不兼容性  5 1.3.4 MariaDB 5.5和MariaDB 5.3的不兼容性  6 1.3.5 MariaDB 5.5與MariaDB 5.3和MySQL 5.5 的不兼容性  7 1.3.6 MariaDB 10.0和MySQL 5.6的不兼容性  7 1.4 編譯和安裝MariaDB  8 1.4.1 使用二進制安裝包進行安裝  8 1.4.2 使用源代碼進行編譯安裝  9 1.5 聯(lián)系社區(qū)  11 1.6 小結(jié)  12 第2章 MariaDB的擴展和新特性  13 2.1 更多的存儲引擎  13 2.1.1 全新的Aria存儲引擎  13 2.1.2 XtraDB存儲引擎  16 2.1.3 SphinxSE存儲引擎  17 2.1.4 FederatedX存儲引擎  17 2.1.5 TokuDB存儲引擎  18 2.1.6 Cassandra存儲引擎  18 2.1.7 CONNECT存儲引擎  18 2.1.8 Sequence存儲引擎  19 2.1.9 Spider存儲引擎  20 2.2 線程池技術(shù)和binlog group commit技術(shù)  22 2.2.1 線程池技術(shù)  22 2.2.2 binlog group commit技術(shù)  23 2.3 MariaDB其他擴展和新特性  23 2.3.1 更高的時間精度  23 2.3.2 虛擬列  24 2.3.3 用戶統(tǒng)計功能  25 2.3.4 KILL命令的擴展  27 2.3.5 命令執(zhí)行進度報告  27 2.3.6 動態(tài)列  28 2.3.7 多源復(fù)制  29 2.4 小結(jié)  29 第3章 初識MariaDB源代碼  31 3.1 MariaDB源代碼的目錄組織結(jié)構(gòu)  31 3.2 MariaDB對類型和函數(shù)的封裝  33 3.2.1 對類型的封裝  33 3.2.2 對函數(shù)的封裝  33 3.3 調(diào)試MariaDB  34 3.3.1 準(zhǔn)備工作  34 3.3.2 mysqld關(guān)鍵的函數(shù)調(diào)用  37 3.3.3 調(diào)試  38 3.4 小結(jié)  40 第4章 MariaDB基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)  41 4.1 內(nèi)存池MEM_ROOT  41 4.1.1 內(nèi)存碎片問題  42 4.1.2 MEM_ROOT的定義  44 4.1.3 MEM_ROOT的使用  46 4.1.4 MEM_ROOT的初始化  47 4.1.5 分配內(nèi)存  48 4.1.6 內(nèi)存回收  50 4.1.7 MEM_ROOT的使用場景  52 4.2 文件緩存IO_CACHE  52 4.2.1 高性能武器——緩存  53 4.2.2 IO_CACHE的定義  54 4.2.3 IO_CACHE的使用  57 4.3 NET結(jié)構(gòu)  63 4.4 線程上下文——THD  65 4.5 TABLE_SHARE  69 4.6 TABLE  73 4.7 小結(jié)  76 第5章 MariaDB線程池  77 5.1 線程池相關(guān)的參數(shù)  77 5.1.1 MariaDB 5.1和MariaDB 5.3中的線程池  77 5.1.2 MariaDB 5.5和MariaDB 10.0中的線程池  78 5.2 何時使用線程池  79 5.3 線程池的實現(xiàn)  79 5.3.1 線程池相關(guān)的數(shù)據(jù)結(jié)構(gòu)  80 5.3.2 線程池的初始化  82 5.3.3 添加連接到線程池  84 5.3.4 worker線程  85 5.3.5 get_event函數(shù)  86 5.3.6 listener線程  89 5.3.7 timer線程  92 5.4 小結(jié)  94 第6章 二進制日志binlog  95 6.1 簡介  95 6.1.1 binlog的作用  96 6.1.2 index文件  96 6.2 binlog的使用  97 6.2.1 開啟binlog  97 6.2.2 選擇binlog的格式  97 6.2.3 binlog的相關(guān)參數(shù)  98 6.3 binlog事件  99 6.3.1 binlog事件格式  99 6.3.2 binlog事件類型  101 6.3.3 binlog事件的實現(xiàn)  108 6.4 清理binlog  109 6.4.1 手動清理binlog  109 6.4.2 自動清理binlog  109 6.4.3 purge命令的實現(xiàn)  109 6.5 binlog_cache_mngr結(jié)構(gòu)  112 6.6 mysqlbinlog工具  112 6.7 使用binlog進行恢復(fù)  113 6.8 小結(jié)  113 第7章 binlog group commit技術(shù)  115 7.1 事務(wù)的兩階段提交  115 7.2 binlog group commit的工作原理  117 7.3 binlog group commit的實現(xiàn)  118 7.3.1 相關(guān)的數(shù)據(jù)結(jié)構(gòu)  118 7.3.2 代碼執(zhí)行流程  120 7.3.3 事務(wù)排隊  125 7.3.4 leader線程的工作  128 7.3.5 prepare_ordered和commit_ordered接口  134 7.4 小結(jié)  135 第8章 復(fù)制  136 8.1 簡介  136 8.2 復(fù)制的作用  137 8.3 復(fù)制的工作原理  138 8.3.1 概要  138 8.3.2 relay-log  140 8.3.3 master.info文件和relay-log.info文件  140 8.4 復(fù)制的配置  141 8.4.1 在新安裝的主庫和從庫上配置復(fù)制  141 8.4.2 主庫有一定數(shù)據(jù)時的復(fù)制配置  144 8.4.3 選擇性復(fù)制  150 8.5 復(fù)制的實現(xiàn)  151 8.5.1 復(fù)制相關(guān)的數(shù)據(jù)結(jié)構(gòu)  152 8.5.2 復(fù)制的初始化——init_slave函數(shù)  157 8.5.3 CHANGE MASTER TO命令——準(zhǔn)備工作  159 8.5.4 START SLAVE命令——開啟復(fù)制  160 8.5.5 STOP SLAVE命令——停止復(fù)制  160 8.5.6 slave IO線程  161 8.5.7 slave SQL線程  164 8.5.8 master dump線程  165 8.6 半同步復(fù)制  168 8.6.1 半同步復(fù)制的工作原理  168 8.6.2 半同步的安裝和配置  169 8.6.3 半同步復(fù)制的實現(xiàn)  171 8.6.4 半同步復(fù)制的變種  179 8.6.5 半同步復(fù)制的潛在問題  180 8.7 并行復(fù)制  181 8.7.1 MySQL的并行復(fù)制  181 8.7.2 MariaDB的并行復(fù)制  181 8.8 多源復(fù)制  182 8.8.1 多源復(fù)制的應(yīng)用場景  182 8.8.2 多源復(fù)制相關(guān)的命令  183 8.8.3 MariaDB多源復(fù)制的實現(xiàn)  184 8.9 GTID  185 8.9.1 GTID的概念  186 8.9.2 在MySQL上配置基于GTID的復(fù)制  186 8.9.3 MySQL中GTID的實現(xiàn)  187 8.9.4 MariaDB中的GTID  195 8.10 小結(jié)  195 第9章 數(shù)據(jù)結(jié)構(gòu)和算法  197 9.1 算法復(fù)雜度  197 9.2 B+樹和索引  198 9.2.1 磁盤的讀取  198 9.2.2 B+樹  199 9.2.3 數(shù)據(jù)庫索引  200 9.3 堆排序與快速排序  201 9.3.1 堆——優(yōu)先級隊列  201 9.3.2 堆排序  202 9.3.3 快速排序——qsort  203 9.4 ORDER BY的實現(xiàn)  204 9.4.1 使用索引的已有順序  205 9.4.2 filesort算法  207 9.5 JOIN的實現(xiàn)  210 9.5.1 JOIN語句的使用  211 9.5.2 Nest Loop Join算法  212 9.5.3 Block Nest Loop Join算法  214 9.5.4 Batched Key Access Join算法  216 9.5.5 Hash Join算法  216 9.5.6 Sort Merge Join算法  217 9.6 小結(jié)  218 第10章 分布式數(shù)據(jù)庫  219 10.1 分布式數(shù)據(jù)庫概要  219 10.1.1 分布式數(shù)據(jù)庫的特點  219 10.1.2 系統(tǒng)的擴展方式  220 10.1.3 分布式數(shù)據(jù)庫中的技術(shù)難點  221 10.2 數(shù)據(jù)的分片方式  221 10.3 分布式數(shù)據(jù)庫實踐——京東分布式數(shù)據(jù)庫系統(tǒng)  222 10.3.1 京東分布式數(shù)據(jù)庫系統(tǒng)架構(gòu)  222 10.3.2 高可用組的初始化  223 10.3.3 數(shù)據(jù)的分片  224 10.3.4 系統(tǒng)的高可用性  225 10.3.5 系統(tǒng)的可擴展性  227 10.4 小結(jié)  230 附錄A 數(shù)據(jù)庫與IO資源控制  231

本目錄推薦

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