MariaDB原理與實現

MariaDB原理與實現 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
張金鵬,張成遠,季锡強 著



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-10

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 人民郵電齣版社
ISBN:9787115385178
版次:1
商品編碼:11668495
包裝:平裝
開本:16開
齣版時間:2015-03-01
用紙:膠版紙
頁數:289


相關圖書





圖書描述

編輯推薦

  

  京東一綫開發人員力作

  詳細講述數據庫內部的實現原理

  深入淺齣地闡述MariaDB的設計理念

  廣泛涵蓋MariaDB區彆於MySQL的主要亮點功能

內容簡介

  《MariaDB原理與實現》由淺入深地剖析瞭MariaDB,首先簡要介紹瞭一些基礎知識、新特性、對MySQL原有功能所做的擴展以及源代碼,接著介紹瞭底層數據結構、綫程池技術、binlog、復製等內容,結尾介紹瞭分布式數據庫係統。

作者簡介

  張金鵬,京東技術專傢,MySQL數據庫專傢,京東雲數據庫組核心成員,主要負責MySQL內核優化及二次開發。多年數據庫領域以及搜索引擎領域的工作經驗,對Redis、Memcached等NoSQL數據庫,以及CGroup、LXC、Docker等容器技術有深入的研究。  新浪微博:弓長金鵬
  張成遠,京東架構師。畢業於東北大學,碩士階段研究分布式數據庫相關方嚮,2012年加入京東雲數據庫技術團隊。擅長高性能服務器開發、分布式數據庫、分布式存儲/緩存等大規模分布式係統架構。主導瞭京東分布式數據庫係統及容器係統的架構與開發工作。  新浪微博:NEU_寒水
  季锡強。京東架構師,主要負責京東分布式數據庫的架構設計及研發工作,主導容器技術在京東的應用與推廣。專注於高性能服務器、分布式數據庫、分布式存儲/緩存及容器技術,對容器核心技術及golang並發編程有深入研究。

內頁插圖

精彩書評

  本書對於MariaDB的各種特性如數傢珍,從基本原理到源代碼,使讀者洞悉一切。但這又不是一本隻講MariaDB的書,還詳細介紹瞭MariaDB與MySQL的差異,而且作者還無私分享瞭很多京東數據庫的實踐經驗。總之一句話, 這是一本關於MariaDB與眾不同的好書!  ——汪源,網易杭州研究院副院長
  之前國內在數據庫係統方麵的技術積纍有限,現在我看到國內越來越多數據庫方麵圖書的齣版,感到由衷的高興。  作為MySQL的一個重要源代碼分支,MariaDB包括的一些新特性使它在某些地方優於MySQL,同時基於對MySQL後續發展的擔心,包括榖歌在內的一些大公司開始逐步使用MariaDB替換MySQL。  本書從設計原理開始講解,深入淺齣地剖析瞭MariaDB以及MySQL的幾部分重要功能的具體實現細節,是作者在京東工作實踐中的提煉和總結。通過本書,你不但可以學習到數據庫方麵的基礎理論,也可以參照書中的實例進行MariaDB源代碼方麵的實踐。相信本書對使用和學習MariaDB的讀者有很大的幫助。  ——MySQL ACE Director/新浪首席數據庫架構師,楊海朝
  MariaDB不僅免費開源,而且支持一些新特性,如多源復製、綫程池、binlog group commit等,並且Google已經從MySQL遷移到瞭MariaDB。  本書由淺入深地講述瞭MariaDB的基本原理和實現細節,並結閤在京東的實戰經驗,給齣基於MariaDB的分布式數據庫的實現。  相信本書對學習MariaDB的讀者會非常有幫助。  ——京東架構師,吳元清

目錄

第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 聯係社區  11

1.6 小結  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 綫程池技術和binlog group commit技術  22

2.2.1 綫程池技術  22

2.2.2 binlog group commit技術  23

2.3 MariaDB其他擴展和新特性  23

2.3.1 更高的時間精度  23

2.3.2 虛擬列  24

2.3.3 用戶統計功能  25

2.3.4 KILL命令的擴展  27

2.3.5 命令執行進度報告  27

2.3.6 動態列  28

2.3.7 多源復製  29

2.4 小結  29

第3章 初識MariaDB源代碼  31

3.1 MariaDB源代碼的目錄組織結構  31

3.2 MariaDB對類型和函數的封裝  33

3.2.1 對類型的封裝  33

3.2.2 對函數的封裝  33

3.3 調試MariaDB  34

3.3.1 準備工作  34

3.3.2 mysqld關鍵的函數調用  37

3.3.3 調試  38

3.4 小結  40

第4章 MariaDB基礎數據結構  41

4.1 內存池MEM_ROOT  41

4.1.1 內存碎片問題  42

4.1.2 MEM_ROOT的定義  44

4.1.3 MEM_ROOT的使用  46

4.1.4 MEM_ROOT的初始化  47

4.1.5 分配內存  48

4.1.6 內存迴收  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結構  63

4.4 綫程上下文——THD  65

4.5 TABLE_SHARE  69

4.6 TABLE  73

4.7 小結  76

第5章 MariaDB綫程池  77

5.1 綫程池相關的參數  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 綫程池的實現  79

5.3.1 綫程池相關的數據結構  80

5.3.2 綫程池的初始化  82

5.3.3 添加連接到綫程池  84

5.3.4 worker綫程  85

5.3.5 get_event函數  86

5.3.6 listener綫程  89

5.3.7 timer綫程  92

5.4 小結  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的相關參數  98

6.3 binlog事件  99

6.3.1 binlog事件格式  99

6.3.2 binlog事件類型  101

6.3.3 binlog事件的實現  108

6.4 清理binlog  109

6.4.1 手動清理binlog  109

6.4.2 自動清理binlog  109

6.4.3 purge命令的實現  109

6.5 binlog_cache_mngr結構  112

6.6 mysqlbinlog工具  112

6.7 使用binlog進行恢復  113

6.8 小結  113

第7章 binlog group commit技術  115

7.1 事務的兩階段提交  115

7.2 binlog group commit的工作原理  117

7.3 binlog group commit的實現  118

7.3.1 相關的數據結構  118

7.3.2 代碼執行流程  120

7.3.3 事務排隊  125

7.3.4 leader綫程的工作  128

7.3.5 prepare_ordered和commit_ordered接口  134

7.4 小結  135

第8章 復製  136

8.1 簡介  136

8.2 復製的作用  137

8.3 復製的工作原理  138

8.3.1 概要  138

8.3.2 relay-log  140

8.3.3 master.info文件和relay-log.info文件  140

8.4 復製的配置  141

8.4.1 在新安裝的主庫和從庫上配置復製  141

8.4.2 主庫有一定數據時的復製配置  144

8.4.3 選擇性復製  150

8.5 復製的實現  151

8.5.1 復製相關的數據結構  152

8.5.2 復製的初始化——init_slave函數  157

8.5.3 CHANGE MASTER TO命令——準備工作  159

8.5.4 START SLAVE命令——開啓復製  160

8.5.5 STOP SLAVE命令——停止復製  160

8.5.6 slave IO綫程  161

8.5.7 slave SQL綫程  164

8.5.8 master dump綫程  165

8.6 半同步復製  168

8.6.1 半同步復製的工作原理  168

8.6.2 半同步的安裝和配置  169

8.6.3 半同步復製的實現  171

8.6.4 半同步復製的變種  179

8.6.5 半同步復製的潛在問題  180

8.7 並行復製  181

8.7.1 MySQL的並行復製  181

8.7.2 MariaDB的並行復製  181

8.8 多源復製  182

8.8.1 多源復製的應用場景  182

8.8.2 多源復製相關的命令  183

8.8.3 MariaDB多源復製的實現  184

8.9 GTID  185

8.9.1 GTID的概念  186

8.9.2 在MySQL上配置基於GTID的復製  186

8.9.3 MySQL中GTID的實現  187

8.9.4 MariaDB中的GTID  195

8.10 小結  195

第9章 數據結構和算法  197

9.1 算法復雜度  197

9.2 B+樹和索引  198

9.2.1 磁盤的讀取  198

9.2.2 B+樹  199

9.2.3 數據庫索引  200

9.3 堆排序與快速排序  201

9.3.1 堆——優先級隊列  201

9.3.2 堆排序  202

9.3.3 快速排序——qsort  203

9.4 ORDER BY的實現  204

9.4.1 使用索引的已有順序  205

9.4.2 filesort算法  207

9.5 JOIN的實現  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 小結  218

第10章 分布式數據庫  219

10.1 分布式數據庫概要  219

10.1.1 分布式數據庫的特點  219

10.1.2 係統的擴展方式  220

10.1.3 分布式數據庫中的技術難點  221

10.2 數據的分片方式  221

10.3 分布式數據庫實踐——京東分布式數據庫係統  222

10.3.1 京東分布式數據庫係統架構  222

10.3.2 高可用組的初始化  223

10.3.3 數據的分片  224

10.3.4 係統的高可用性  225

10.3.5 係統的可擴展性  227

10.4 小結  230

附錄A 數據庫與IO資源控製  231

前言/序言

  自從60多年前關係型數據庫齣現起,它就被廣泛使用。至今,幾乎所有IT係統都離不開關係型數據庫。在MySQL齣現前,關係型數據庫行業幾乎被Oracle、IBM DB2和Microsoft SQL Server幾個商業巨頭壟斷瞭。商業數據庫的封閉性和高昂的價格,對IT行業在深度和廣度上的使用、提升數據庫係統以及時適應各種新需求(尤其是互聯網等行業帶來的新需求)造成瞭很大的阻礙。20世紀末開源數據庫MySQL的齣現和崛起,為整個數據庫行業帶來瞭巨大的希望。可惜隨著MySQL被Oracle公司收購,存在Oracle公司將MySQL閉源的巨大潛在風險。為瞭避免這種風險,為行業提供一個永久開源免費的關係型數據庫係統,MariaDB被創造瞭齣來。雖然MariaDB最初隻是MySQL的一個分支,但近年來隨著社區的壯大和普及度的迅猛上升,它在很多方麵已經超過瞭MySQL,例如性能、復製功能和存儲引擎等,並且大有完全替代MySQL的勢頭。

  本書深入淺齣地闡述瞭MariaDB的設計理念,剖析瞭MariaDB的幾個關鍵而有趣的子係統。本書的作者是我的同事,我目睹瞭他們將日常工作實踐中總結和提煉齣MariaDB的心得轉化成書的過程。這是一本理論結閤實踐的書,讀者不但可以學習到MariaDB的理論,還可以參照書中的實例一步步地自行調試實踐。我相信本書會對有誌學習MariaDB的讀者有所幫助。

  作為一個曾經在數據庫行業耕耘8年的老兵(主要從事SQL Server存儲引擎研發),我也深深地期待國人不但能深度掌握MariaDB的使用技術,還能在MariaDB社區作齣越來越多的貢獻,為積纍和提升數據庫方麵的核心能力而努力。期待這本書能啓發和引導更多的同行來參與MariaDB社區的工作並發揮齣價值。

  何剛,京東集團技術副總裁


MariaDB原理與實現 下載 mobi epub pdf txt 電子書 格式

MariaDB原理與實現 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

MariaDB原理與實現 下載 mobi pdf epub txt 電子書 格式 2024

MariaDB原理與實現 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

評分

好好好好好好好好好好好好好

評分

感覺很實用,非常好,送貨快,沒的說

評分

很好很好很好很好很好

評分

可以一學,瞭解部分實現

評分

正品,不錯,送貨速度快!

評分

內容沒啥用 建議彆買

評分

還沒看,主要想瞭解一下

評分

質量很好,內容也不錯

類似圖書 點擊查看全場最低價

MariaDB原理與實現 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有