发表于2024-12-25
分布式數據庫架構及企業實踐:基於Mycat中間件 pdf epub mobi txt 電子書 下載 2024
講解分布式數據庫的書並不多,講解其架構及企業實踐的就更少瞭。
本書基於國內知名的開源分布式數據庫中間件Mycat講解瞭如何實現分布式數據庫,很有實踐及藉鑒意義。
《分布式數據庫架構及企業實踐——基於Mycat中間件》由資深 Mycat 專傢及一綫架構師、DBA 編寫而成。全書總計 8 章,首先簡單介紹瞭分布式係統和分布式數據庫的需求,然後講解瞭分布式數據庫的實現原理,並對市場上存在的各種分布式數據庫中間件進行瞭對比,再圍繞著如何利用 Mycat 實現分布式數據庫而展開。《分布式數據庫架構及企業實踐——基於Mycat中間件》對 Mycat 從入門到進階、從高級技術實踐到架構剖析、從網絡通信協議解析到係統工作原理的方方麵麵進行瞭詳細講解,並剖析瞭 Mycat的 SQL 路由、跨庫聯閤查詢、分布式事務及原生 MySQL、PostgreSQL 協議等核心技術。通過本書不僅可以瞭解 Mycat 的基本概念,掌握 Mycat 配置等技術,還能感受到 Mycat 的架構設計之美,瞭解 Mycat 2.0的未來規劃。
無論是對於軟件工程師、測試工程師、運維工程師、軟件架構師、技術經理,還是對於資深 IT 人士來說,《分布式數據庫架構及企業實踐——基於Mycat中間件》都極具參考價值。
——周繼鋒
擁有十多年大型項目架構設計及實戰經驗,曾主導過眾多分布式係統、微服務及大數據項目。在高並發、高可用、高可擴展性、高可維護性等領域擁有豐富的經驗,對Hadoop、Spark源碼進行過深度分析並具有豐富的實戰經驗。曾在ERP、醫學、互聯網行業擔任資深工程師、資深架構師、技術總監等職務,為煉數成金高級講師及國內知名的開源分布式數據庫中間件Mycat的負責人。
——馮鑽優
多年來緻力於分布式係統架構、分布式數據庫、大數據技術的研究,在高並發、高可用的分布式係統設計和大數據處理方麵有著豐富的經驗。曾擔任架構師、開發經理、技術經理等職位,主導過大型分布式係統、大數據分析項目的開發及實施落地,屬於理論兼實踐型架構師,現於某大型央企擔任高級架構師、高級經理,為國內知名的開源分布式數據庫中間件Mycat的高級顧問。
——陳勝尊
擁有多年編程經驗,專注於電信運營商大數據項目的設計及開發,擅長Hadoop生態圈的大數據分析技術、分布式架構設計、高並發架構設計、MySQL優化,曾主導眾多大數據項目的架構設計。為國內知名的開源分布式數據庫中間件Mycat的活躍開發者。
——左越宗
擁有多年數據庫管理經驗,維護過超過500颱以上的數據庫實例,精通NoSQL集群維護與優化、異構數據遷移、關係型數據庫集群設計、分布式架構設計、SQL優化及數據庫軟件性能優化等,曾在互聯網金融、在綫教育、遊戲行業擔任高級MySQL DBA、數據庫集群工程師、數據庫專傢等職位。為尚觀科技高級講師及國內知名的開源分布式數據庫中間件Mycat的高級顧問。
Mycat是一款強大的數據庫中間件,是當下熱門的移動互聯網和雲計算項目的必備基礎中間件之一,不僅可以用於讀寫分離、分錶分庫及容災備份,還可以用於多租戶應用開發及雲平颱基礎設施建設,讓架構本身具備很強的適應性和靈活性。本書作者均擁有多年軟件研發經驗,是國內知名開源分布式數據庫中間件Mycat的核心成員,其中冰風影是Dataguru的高級特約講師。本書兼具實用性和獨特性,非常值得入手一讀。
——黃誌洪 ITPUB社區煉數成金社區創始人
MySQL在分布式領域的短闆造就瞭數據庫中間件的繁榮,而在數據庫中間件産品中,Mycat以其獨特的設計理念風靡於數據庫行業,成為開源數據庫中間件的理想選擇,成為DBA從業人員急需掌握的技能。相信Mycat會成為你的好夥伴!
——張見蓬 尚觀科技執行董事
Mycat是一款非常優秀的數據庫中間件,華泰證券在互聯網架構轉型的過程中與Mycat社區閤作緊密,采用分布式數據庫解決瞭以往的難題。非常感謝Mycat這樣的優秀國産開源軟件,祝願Mycat越做越好!
——樊建 華泰證券平颱架構總監
對於飛速發展的企業IT係統來說,數據庫的開源和分布式一直是有挑戰性的課題,而大部分企業IT團隊的基礎軟件研發資源和時間相對有限,Mycat是開源分布式數據庫架構中經濟而有效的可選推薦方案之一。
——周輝 順豐科技數據中心副總監
在當今發展迅猛的DT時代,如何真正收集、存儲、管理和利用海量交易數據,成瞭企業及企業信息化提供商共同麵對的難題,我在本書中找到瞭有效可行的方法,本書同樣可以成為你攻剋難題的利器!
——陳柏宇 上海恰為思信息科技有限公司創始人
第 1 章數據庫中間件與分布式數據庫的實現 1
1.1 什麼是分布式係統 1
1.2 為什麼需要分布式數據庫 2
1.3 分布式數據庫的實現原理 3
1.4 Mycat 數據庫中間件簡介 5
1.4.1 Mycat 的曆史與未來規劃 5
1.4.2 Mycat 與其他中間件的區彆 8
1.4.3 Mycat 的優勢 10
1.4.4 Mycat 的適用場閤 11
第 2 章 Mycat 入門 13
2.1 環境搭建 13
2.1.1 Windows 環境搭建 13
2.1.2 Linux 環境搭建 15
2.2 Mycat 核心概念詳解 16
2.2.1 邏輯庫(schema) 16
2.2.2 邏輯錶(table) 16
2.2.3 分片節點(dataNode) 17
2.2.4 節點主機(dataHost) 17
2.3 Mycat 原理介紹 18
2.4 參與 Mycat 源碼開發 19
2.4.1 Mycat 源碼環境搭建 19
2.4.2 Mycat 源碼調試 19
第 3 章 Mycat 進階 22
3.1 Mycat 配置詳解 22
3.1.1 Mycat 支持的兩種配置方式 22
3.1.2 server.xml 配置文件 23
3.1.3 schema.xml 配置文件 28
3.1.4 sequence 配置文件 37
3.1.5 zk-create.yaml 配置文件 41
3.1.6 其他配置文件 44
3.2 Mycat 分片規則詳解 46
3.2.1 分片錶與非分片錶 46
3.2.2 ER 關係分片錶 46
3.2.3 分片規則 rule.xml 文件詳解 46
3.2.4 取模分片 47
3.2.5 枚舉分片 48
3.2.6 範圍分片 49
3.2.7 範圍求模算法 49
3.2.8 固定分片 hash 算法 50
3.2.9 取模範圍算法 52
3.2.10 字符串 hash 求模範圍算法 53
3.2.11 應用指定的算法 54
3.2.12 字符串 hash 解析算法 54
3.2.13 一緻性 hash 算法 55
3.2.14 按日期(天)分片算法 56
3.2.15 按單月小時算法 57
3.2.16 自然月分片算法 58
3.2.17 日期範圍 hash 算法 58
3.3 Mycat 管理命令詳解 59
3.3.1 Reload 命令 61
3.3.2 Show 命令 62
第 4 章 Mycat 高級技術實戰 68
4.1 用 Mycat 搭建讀寫分離 68
4.1.1 MySQL 讀寫分離 69
4.1.2 MySQL Galera Cluster 讀寫分離 73
4.1.3 SQL Server 讀寫分離 83
4.2 Mycat 故障切換 86
4.2.1 Mycat 主從切換 86
4.2.2 MySQL Galera 節點切換 99
4.3 Mycat+Percona+HAProxy+Keepalived 113
4.3.1 Mycat 113
4.3.2 Percona 集群 124
4.3.3 HAProxy 131
4.3.4 Keepalived 138
4.4 MHA+Keepalived 集群搭建 140
4.4.1 配置 MySQL 半同步方式 142
4.4.2 安裝配置 MHA 150
4.4.3 測試重構 153
4.4.4 擴展 Keepalived 155
4.5 用 ZooKeeper 搭建 Mycat 高可用集群 158
4.5.1 ZooKeeper 概述 158
4.5.2 ZooKeeper 的運用場景 161
4.5.3 ZooKeeper 在 Mycat 中的使用 163
4.6 Mycat 高可用配置 165
4.7 Mycat 注解技術 170
4.7.1 balance 注解實戰 170
4.7.2 master/slave 注解實戰 172
4.7.3 SQL 注解實戰 173
4.7.4 schema 注解實戰 176
4.7.5 dataNode 注解實戰 176
4.7.6 catlet 注解實戰 177
第 5 章 Mycat 企業運維 179
5.1 Mycat 性能監控——Mycat-web 詳解 179
5.1.1 Mycat-web 簡介 179
5.1.2 Mycat-web 的配置和使用 180
5.1.3 Mycat 性能監控指標 181
5.2 Mycat 性能優化 183
5.3 MySQL 優化技術 186
5.3.1 數據庫建錶設計規範 186
5.3.2 SQL 語句與索引 195
5.3.3 配置文件 206
5.3.4 InnoDB 選擇文件係統 212
5.3.5 係統架構 213
第 6 章 Mycat 架構剖析 215
6.1 Mycat 總體架構介紹 215
6.2 Mycat 網絡 I/O 架構與實現 218
6.2.1 Mycat I/O 架構概述 218
6.2.2 前端通信框架 221
6.3 Mycat 綫程架構與實現 224
6.3.1 多綫程基礎 224
6.3.2 Mycat 綫程架構 226
6.4 Mycat 內存管理及緩存架構與實現 228
6.4.1 Mycat 內存管理 229
6.4.2 Mycat 緩存架構與實現 231
6.5 Mycat 連接池架構與實現 232
6.5.1 Mycat 連接池 232
6.5.2 Mycat 連接池架構及代碼實現 234
6.6 Mycat 主從切換架構與實現 235
6.6.1 Mycat 主從切換概述 236
6.6.2 Mycat 主從切換的實現 238
第 7 章 Mycat 核心技術分析 241
7.1 Mycat 分布式事務的實現 241
7.1.1 XA 規範 241
7.1.2 二階段提交 242
7.1.3 三階段提交 243
7.1.4 Mycat 中分布式事務的實現 244
7.2 Mycat SQL 路由的實現 249
7.2.1 路由的作用 249
7.2.2 SQL 解析器 250
7.2.3 路由計算 252
7.3 Mycat 跨庫 Join 的實現 260
7.3.1 全局錶 261
7.3.2 ER 分片 262
7.3.3 catlet 263
7.3.4 ShareJoin 264
7.4 Mycat 數據匯聚和排序的實現 270
7.4.1 數據排序 270
7.4.2 數據匯聚 273
第 8 章 Mycat多數據庫支持原理與實現 275
8.1 MySQL 協議在 Mycat 中的實現 275
8.1.1 MySQL 協議概述 275
8.1.2 Mycat 的 MySQL 協議實現 283
8.2 PostgreSQL 協議在 Mycat 中的實現 287
8.2.1 PostgreSQL 介紹 287
8.2.2 PostgreSQL 協議 288
8.2.3 PostgreSQL 實現 293
8.3 Mycat 對 JDBC 支持的實現 298
8.3.1 Oracle 配置 299
8.3.2 SQL Server 配置 300
8.3.3 MongoDB 配置 301
8.3.4 源碼分析 306
推薦序1
隨著大數據時代的到來,海量數據存儲、並行計算、異構數據互聯等一係列新技術在市場上不斷地湧現。相信數據庫行業的很多從業者都對傳統關係型數據庫的單點故障及容量問題頭疼不已,而“分庫分錶”也早已成為解決這類問題的基礎,此時,Mycat應運而生。 Mycat是一款麵嚮企業級應用的開源數據庫中間件産品,它目前支持數據庫集群、分布式事務與ACID,被普遍視為基於MySQL技術的集群分布式數據庫解決方案,在一些互聯網、金融、運營商客戶中用來替代昂貴的Oracle。
Mycat不僅可以輕鬆對接MySQL、SQL Server等傳統關係型數據庫,也融閤瞭內存緩存、NoSQL、HDFS等新興大數據技術,是一款非常優秀的數據庫中間件。
在如今的大數據時代,分布式架構已經成為企業級數據應用的標配,傳統的關係型數據庫産品已經麵臨一個真正的拐點:一方麵,關係型數據庫自身難以實現分布式,這大大限製瞭其數據存儲能力及整體的性能錶現;另一方麵,商業化的傳統數據庫産品的成本和性價比在分布式架構崛起的狀況下毫無優勢可言。因此,無論是從底層全新實現分布式計算存儲的NoSQL、Hadoop,還是使用Mycat這樣的分庫分錶工具,對關係型數據庫大刀闊斧地進行“改裝”都是大勢所趨。
作為一名專注於數據庫領域多年的從業者,我認為Mycat從中間件工具的角度成功地彌補瞭MySQL的諸多局限。
? 分布式存儲:通過Mycat,MySQL可以實現集群化與分布式管理,使數據庫容量與處理能力大大改善。
? 性能加速:通過分布式集群及Mycat Booster對MySQL數據庫在集群環境下的加速,Mycat大大提升瞭MySQL集群的性能。
? 異構數據互聯互通:除瞭MySQL,Mycat同時支持如SequoiaDB、MongoDB這樣的NoSQL數據庫及HDFS分布式文件係統,實現瞭對非結構化數據、半結構化數據及結構化數據的存儲及互聯。
? 多樣化的數據庫工具:Mycat為用戶提供瞭豐富的管理工具,可以幫助用戶更好地管理數據庫係統。
本書非常適閤作為Mycat的入門及進階參考讀物,它非常全麵地闡述瞭分庫分錶的基本原理、實現機製及實踐經驗。本書的作者有著豐富的行業經驗及技術底蘊,能夠把業界非常前沿的知識用深入淺齣的語言傳授給各位讀者。
最後,作為SequoiaDB的聯閤創始人,我十分欽佩Mycat團隊的技術及勇氣。雖然基礎軟件的開發難度很大,但是我們都敢於去挑戰一個個技術難點,並填補國內基礎軟件産品的巨大空白。因此,我在這裏衷心地祝願Mycat前程似錦!
——巨杉數據庫聯閤創始人 王濤
推薦序2
隨著分布式係統的發展,應用的分布式由於無狀態的特性,可以利用消息機製相對簡單地進行拆分,計算的分布式也可以通過Map、Reduce等相關算法來解決。但是隨著業務壓力和並發壓力的增加,我們急需一種分布式數據庫解決方案來支持數據庫的水平擴展,通過簡單地增加服務器及綫性地提升數據庫的並發訪問能力,為闖過分布式係統的最後一道難關鋪平道路。
從阿裏巴巴的Cobar到開源社區的Mycat,從Cobar的架構師賀賢懋、硃海清、邱碩到Mycat的核心人員南哥、冰風影,作為一名專注於MySQL數據庫十多年的從業者,我見證瞭分布式數據庫的從無到有到百花齊放,在收到本書的序言邀請時,我感到非常榮幸。
現在的分布式數據庫産品越來越多。YouTube公司提供的Vitness功能強大,在YouTube的生産環境下支撐瞭大量的業務訪問;360公司的Altas基於MySQL Proxy開發而成,最初主要在應用層進行透明的讀寫分離,於2013年引入瞭分庫分錶;陳菲在離開360公司後在WPS雲平颱用Go語言編寫瞭Kingshard;樓方鑫(黃忠)在離開支付寶後編寫瞭OneProxy;騰訊互娛的DBA團隊基於Spider打造瞭自己的分布式數據庫平颱;淘寶在內部將TDDL的客戶端工具作為瞭分庫分錶中間件;阿裏巴巴的B2B開源瞭支撐其內部業務生産環境3年的Cobar,為開源社區提供瞭一大助力;而基於Cobar開發的Mycat及其各種分支由於其易用性,將分布式數據庫進一步推廣到互聯網和傳統行業的各個業務領域。
Mycat無疑是這些中間件中的佼佼者,支持百億級彆的數據分片和並行計算,支持高可用和MySQL的讀寫分離,並隨著版本的更新進一步支持Oracle、DB2、MongoDB等後端數據庫,隨著周邊産品的進一步成熟,在越來越多的分布式或者非分布式(僅用它的讀寫分離或者高可用)生産環境中得到部署,受到越來越多的企業的關注。本書恰逢其會,由Mycat核心開發人員撰寫而成,詳細講述瞭Mycat的由來、架構特點、核心模塊、實際使用案例和企業實踐,是一本不可多得的好書。
——沃趣科技MySQL負責人 李春
推薦序3
作為國産開源數據庫中間件—Mycat的發起者,我不得不為本書作序。
這是一本由眾多技術精英閤著的數據庫+中間件領域的專業書籍,這些人包括Mycat Commiter、Mycat誌願者及資深DBA,大傢在工作之餘抽齣大量時間來編寫和完善此書,曆經一年完成瞭本書的編寫工作,實屬不易。
數據庫中間件是新興的重要的互聯網中間件,目前業界仍然缺乏一本係統性介紹相關領域的軟件産品、常用技術、架構等的紙質書籍。本書圍繞Mycat開源中間件,從基礎入門到架構原理,從運行機製到源碼實現,從係統運維到應用實踐,講解得詳盡而又完善。本書內容豐富、圖文並茂、由淺入深,對數據庫中間件的基本原理闡述清晰,對程序源碼分析透徹,對實踐經驗講解深刻。
從內容上講,本書從一個使用者的角度去理解、分析和解決問題,通過大量的實例操作和源碼解析,幫助讀者深入理解Mycat的各種概念。讀者對其中的案例隻要稍做修改,再結閤實際的業務需求,就可以在正在開發的項目中應用,達到事半功倍的效果。並且,通過學習書中應用實戰方麵的內容,不僅可以直接提高開發技能,還可以解決在實 分布式數據庫架構及企業實踐:基於Mycat中間件 下載 mobi epub pdf txt 電子書
書很好,買迴來慢慢看。
評分幫同事下單買的,很不錯,很好,物流很快。
評分京東物流就是給力,昨天晚上11點下單,今天早上10點就到瞭,快遞小哥送貨到傢,贊一個!同時,這也是我,第一次購買閃迪的産品,之前一直想著買個閃迪的U盤,種種原因還是沒買成,現在呢,買個閃迪的固態硬盤,希望可以很給力吧,廢話也不多說瞭,拆快遞,拆開電腦安裝!走起!拍個圖看看能達到多少速度,杠杠滴!!
評分真心不錯,收到貨迫不及待的打開瞭,質量絕對保證,值得購買
評分京東圖書送貨沒得說,趕上活動買很不錯。
評分很好很好很好很好很好很好
評分可伸縮服務架構:框架與中間件
評分滿400減300買的,劃算
評分京東書的包裝倒是沒有問題,內容閱讀後再補。
分布式數據庫架構及企業實踐:基於Mycat中間件 pdf epub mobi txt 電子書 下載