MariaDB 原理與實現 MariaDB原理与实现

張金鵬, 張成遠, 季錫強

  • 出版商: 人民郵電
  • 出版日期: 2015-03-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • 頁數: 289
  • 裝訂: 平裝
  • ISBN: 7115385173
  • ISBN-13: 9787115385178
  • 相關分類: MySQL

已絕版

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

張金鵬、張成遠、季錫強編著的《MariaDB原理與實現/圖靈原創》由淺入深地剖析了MariaDB,首先簡要介紹了一些基礎知識、新特性、對MySQL原有功能所做的擴展以及源代碼,接著介紹了底層數據結構、線程池技術、binlog、複製等內容,最後介紹了分佈式數據庫系統。

《MariaDB原理與實現/圖靈原創》主要面向想瞭解MariaDB/MySQL的工作原理及具體實現的讀者,以及想要閱讀MariaDB/MySQL源代碼卻苦於不知道從何處開始的讀者。

 

<章節目錄>

第1章 MariaDB概述
  1.1 MariaDB的歷史
  1.2 MariaDB所做的事情
    1.2.1 更豐富的存儲引擎
    1.2.2 性能的提升
    1.2.3 擴展和新特性
    1.2.4 更好的測試
    1.2.5 盡量消除錯誤和警告
  1.3 MariaDB的版本與兼容性
    1.3.1 MariaDB 5.1和MySQL 5.1的不兼容性
    1.3.2 MariaDB 5.2和MySQL 5.1的不兼容性
    1.3.3 MariaDB 5.3和MySQL 5.1、MariaDB 5.2的不兼容性
    1.3.4 MariaDB 5.5和MariaDB 5.3的不兼容性
    1.3.5 MariaDB 5.5與MariaDB 5.3和MySQL 5.5的不兼容性
    1.3.6 MariaDB 10.0和MySQL 5.6的不兼容性
  1.4 編譯和安裝MariaDB
    1.4.1 使用二進制安裝包進行安裝
    1.4.2 使用源代碼進行編譯安裝
  1.5 聯繫社區
    1.5.1 Launchpad團隊和郵件列表
    1.5.2 MariaDB Commits列表
    1.5.3 MariaDB Captains
    1.5.4 MariaDB公告列表
    1.5.5 IRC
    1.5.6 討論組
    1.5.7 要求增加新特性
    1.5.8 MariaDB知識基礎
  1.6 小結
第2章 MariaDB的擴展和新特性
  2.1 更多的存儲引擎
    2.1.1 全新的Aria存儲引擎
    2.1.2 XtraDB存儲引擎
    2.1.3 SphinxSE存儲引擎
    2.1.4 FederatedX存儲引擎
    2.1.5 TokuDB存儲引擎
    2.1.6 Cassandra存儲引擎
    2.1.7 CONNECT存儲引擎
    2.1.8 Sequence存儲引擎
    2.1.9 Spider存儲引擎
  2.2 線程池技術和binlog group commit技術
    2.2.1 線程池技術
    2.2.2 binlog group commit技術
  2.3 MariaDB其他擴展和新特性
    2.3.1 更高的時間精度
    2.3.2 虛擬列
    2.3.3 用戶統計功能
    2.3.4 KILL命令的擴展
    2.3.5 命令執行進度報告
    2.3.6 動態列
    2.3.7 多源複製

  2.4 小結
第3章 初識MariaDB源代碼
  3.1 MariaDB源代碼的目錄組織結構
  3.2 MariaDB對類型和函數的封裝
    3.2.1 對類型的封裝
    3.2.2 MariaDB對函數的封裝
  3.3 調試MariaDB
    3.3.1 準備工作
    3.3.2 mysqld關鍵的函數調用
    3.3.3 調試
  3.4 小結
第4章 MariaDB基礎數據結構
  4.1 內存池MEM_ROOT
    4.1.1 內存碎片問題
    4.1.2 MEM_ROOT的定義
    4.1.3 MEM_ROOT的使用
    4.1.4 MEM_ROOT的初始化
    4.1.5 分配內存
    4.1.6 內存回收
    4.1.7 MEM_ROOT的使用場景
  4.2 文件緩存IO_CACHE
    4.2.1 高性能武器——緩存
    4.2.2 IO_CACHE的定義
    4.2.3 IO_CACHE的使用
  4.3 NET結構
  4.4 線程上下文——THD
  4.5 TABLE_SHARE
  4.6 TABLE
  4.7 小結
第5章 MariaDB線程池
  5.1 線程池相關的參數
    5.1.1 MariaDB 5.1和MariaDB 5.3中的線程池
    5.1.2 MariaDB 5.5和MariaDB 10.0中的線程池
  5.2 何時使用線程池
  5.3 線程池的實現
    5.3.1 線程池相關的數據結構
    5.3.2 線程池的初始化
    5.3.3 添加連接到線程池
    5.3.4 worker線程
    5.3.5 get_event函數
    5.3.6 listener線程
    5.3.7 timer線程
  5.4 小結
第6章 二進制日誌binlog
  6.1 簡介
    6.1.1 binlog的作用
    6.1.2 index文件
  6.2 binlog的使用
    6.2.1 開啟binlog
    6.2.2 選擇binlog的格式

    6.2.3 binlog的相關參數
  6.3 binlog事件
    6.3.1 binlog事件格式
    6.3.2 binlog事件類型
    6.3.3 binlog事件的實現
  6.4 清理binlog
    6.4.1 手動清理binlog
    6.4.2 自動清理binlog
    6.4.3 purge命令的實現
  6.5 binlog_cache_mngr結構
  6.6 mysqlbinlog工具
  6.7 使用binlog進行恢復
  6.8 小結
第7章 binlog group commit技術
  7.1 事務的兩階段提交
  7.2 binlog group commit的工作原理
  7.3 binlog group commit的實現
    7.3.1 相關的數據結構
    7.3.2 代碼執行流
    7.3.3 事務排隊
    7.3.4 leader線程的工作
    7.3.5 prepare_ordered和commit_ordered接口
  7.4 小結
第8章 複製
  8.1 簡介
  8.2 複製的作用
  8.3 複製的工作原理
    8.3.1 概要
    8.3.2 relay-log
    8.3.3 master.info文件和relay-log.info文件
  8.4 複製的配置
    8.4.1 在新安裝的主庫和從庫上配置複製
    8.4.2 主庫有一定數據時的複製配置
    8.4.3 選擇性複製
  8.5 複製的實現
    8.5.1 複製相關的數據結構
    8.5.2 複製的初始化——init_slave函數
    8.5.3 CHANGE MASTER TO命令——準備工作
    8.5.4 STAERT SLAVE命令——開啟複製
    8.5.5 STOP SLAVE命令——停止複製
    8.5.6 slave IO線程
    8.5.7 slave SQL線程
    8.5.8 master dump線程
  8.6 半同步複製
    8.6.1 半同步複製的工作原理
    8.6.2 半同步的安裝和配置
    8.6.3 半同步複製的實現
    8.6.4 半同步複製的變種
    8.6.5 半同步複製的潛在問題
  8.7 並行複製

    8.7.1 MySQL的並行複製
    8.7.2 MariaDB的並行複製
  8.8 多源複製
    8.8.1 多源複製的應用場景
    8.8.2 多源複製相關的命令
    8.8.3 MariaDB多源複製的實現
  8.9 GTID
    8.9.1 GTID的概念
    8.9.2 在MySQL上配置基於GTID的複製
    8.9.3 MySQL中GTID的實現
    8.9.4 MariaDB中的GTID
  8.10 小結
第9章 數據結構和演算法
  9.1 演算法複雜度
  9.2 B+樹和索引
    9.2.1 磁盤的讀取
    9.2.2 B+樹
    9.2.3 數據庫索引
  9.3 堆排序與快速排序
    9.3.1 堆——優先級隊列
    9.3.2 堆排序
    9.3.3 快速排序——qsort
  9.4 ORDER BY的實現
    9.4.1 使用索引的已有順序
    9.4.2 filesort演算法
  9.5 JOIN的實現
    9.5.1 JOIN語句的使用
    9.5.2 Nest Loop Join演算法
    9.5.3 Block Nest Loop Join演算法
    9.5.4 Batched Key Access Join演算法
    9.5.5 Hash Join演算法
    9.5.6 Sort Merge Join演算法
  9.6 小結
第10章 分佈式數據庫
  10.1 分佈式數據庫概要
    10.1.1 分佈式數據庫的特點
    10.1.2 系統的擴展方式
    10.1.3 分佈式數據庫中的技術難點
  10.2 數據的分片方式
  10.3 分佈式數據庫實踐——**分佈式數據庫系統
    10.3.1 分佈式數據庫系統架構
    10.3.2 高可用組的初始化
    10.3.3 數據的分片
    10.3.4 系統的高可用性
    10.3.5 系統的可擴展性
  10.4 小結
附錄A 數據庫與IO資源控制