分布式數據庫架構及企業實踐:基於Mycat中間件 | 生病了怎麼辦 - 2024年7月

分布式數據庫架構及企業實踐:基於Mycat中間件

作者:周繼鋒等
出版社:電子工業
出版日期:2016年11月01日
ISBN:9787121302879
語言:繁體中文
售價:474元

互聯網的蓬勃發展,業務驅動技術不斷升級,在系統越來越龐大,技術越來越復雜,應用部署集群化,所有壓力全部指向數據庫,數據量巨大,數據庫優化也到極限了,數據庫的運維難以為繼,在這種情況下,分布式數據庫似乎成為唯獨的解決方案。為了解決傳統數據庫的分布式化這個技術難題,各種數據庫中間件應運而生,從早期的Amoeba、TDDL、Cobar,到如今的My cat,技術日新月異,發展迅猛。My cat已經成為了一個強大的開源分布式數據庫中間件產品。面對企業應用的海量數據事務處理,是目前好的開源解決方案。支持多種數據庫,開發活躍,已有數百個項目使用,預期My cat的采用將有爆發式增長趨勢。所以My cat開源社區核心開發者共同撰寫了本書,幫助企業更好的使用My cat中間件架構企業分布式數據庫系統。周繼鋒擁有十多年大型項目架構設計及實戰經驗,曾主導過眾多分布式系統、微服務及大數據項目。在高並發、高可用、高可擴展性、高可維護性等領域擁有豐富的經驗,對Hadoop、Spark源碼進行過深度分析並具有豐富的實戰經驗。曾在ERP、醫學、互聯網行業擔任資深工程師、資深架構師、技術總監等職務,為煉數成金高級講師及國內知名的開源分布式數據庫中間件Mycat的負責人。馮鑽優多年來致力於分布式系統架構、分布式數據庫、大數據技術的研究,在高並發、高可用的分布式系統設計和大數據處理方面有着豐富的經驗。曾擔任架構師、開發經理、技術經理等職位,主導過大型分布式系統、大數據分析項目的開發及實施落地,屬於理論兼實踐型架構師,現於某大型央企擔任高級架構師、高級經理,為國內知名的開源分布式數據庫中間件Mycat的高級顧問。陳勝尊擁有多年編程經驗,專注於電信運營商大數據項目的設計及開發,擅長Hadoop生態圈的大數據分析技術、分布式架構設計、高並發架構設計、My SQL優化,曾主導眾多大數據項目的架構設計。為國內知名的開源分布式數據庫中間件My cat的活躍開發者。左越宗擁有多年數據庫管理經驗,維護過超過500台以上的數據庫實例,精通No SQL集群維護與優化、異構數據遷移、關系型數據庫集群設計、分布式架構設計、SQL優化及數據庫軟件性能優化等,曾在互聯網金融、在線教育、游戲行業擔任高級My SQLDBA、數據庫集群工程師、數據庫專家等職位。為尚觀科技高級講師及國內知名的開源分布式數據庫中間件My cat的高級顧問。

第1章 數據庫中間件與分布式數據庫的實現 1.1 什麼是分布式系統 1.2 為什麼需要分布式數據庫 1.3 分布式數據庫的實現原理 1.4 Mycat數據庫中間件簡介 1.4.1 Mycat的歷史與未來規划 1.4.2 Mycat與其他中間件的區別 1.4.3 Mycat的優勢 1.4.4 Mycat的適用場合第2章 Mycat入門 2.1 環境搭建 2.1.1 Windows環境搭建 2.1.2 Linux環境搭建 2.2 Mycat核心概念詳解 2.2.1 邏輯庫(schema) 2.2.2 邏輯表(table) 2.2.3 分片節點(dataNode) 2.2.4 節點主機(dataHost) 2.3 Mycat原理介紹 2.4 參與Mycat源碼開發 2.4.1 Mycat源碼環境搭建 2.4.2 Mycat源碼調試第3章 Mycat進階 3.1 Mycat配置詳解 3.1.1 Mycat支持的兩種配置方式 3.1.2 server.xml配置文件 3.1.3 schema.xml配置文件 3.1.4 sequence配置文件 3.1.5 zk-create.yaml配置文件 3.1.6 其他配置文件 3.2 Mycat分片規則詳解 3.2.1 分片表與非分片表 3.2.2 ER關系分片表 3.2.3 分片規則rule.xml文件詳解 3.2.4 取模分片 3.2.5 枚舉分片 3.2.6 范圍分片 3.2.7 范圍求模算法 3.2.8 固定分片hash算法 3.2.9 取模范圍算法 3.2.10 字符串hash求模范圍算法 3.2.11 應用指定的算法 3.2.12 字符串hash解析算法 3.2.13 一致性hash算法 3.2.14 按日期(天)分片算法 3.2.15 按單月小時算法 3.2.16 自然月分片算法 3.2.17 日期范圍hash算法 3.3 Mycat管理命令詳解 3.3.1 Reload命令 3.3.2 Show命令第4章 Mycat高級技術實戰 4.1 用Mycat搭建讀寫分離 4.1.1 MySQL讀寫分離 4.1.2 MySQLGaleraCluster讀寫分離 4.1.3 SQLServer讀寫分離 4.2 Mycat故障切換 4.2.1 Mycat主從切換 4.2.2 MySQLGalera節點切換 4.3 Mycat+Percona+HAProxy+Keepalived 4.3.1 Mycat 4.3.2 Percona集群 4.3.3 HAProxy 4.3.4 Keepalived 4.4 MHA+Keepalived集群搭建 4.4.1 配置MySQL半同步方式 4.4.2 安裝配置MHA 4.4.3 測試重構 4.4.4 擴展Keepalived 4.5 用ZooKeeper搭建Mycat高可用集群 4.5.1 ZooKeeper概述 4.5.2 ZooKeeper的運用場景 4.5.3 ZooKeeper在Mycat中的使用 4.6 Mycat高可用配置 4.7 Mycat注解技術 4.7.1 balance注解實戰 4.7.2 master/slave注解實戰 4.7.3 SQL注解實戰 4.7.4 schema注解實戰 4.7.5 dataNode注解實戰 4.7.6 catlet注解實戰第5章 Mycat企業運維 5.1 Mycat性能監控——Mycat-web詳解 5.1.1 Mycat-web簡介 5.1.2 Mycat-web的配置和使用 5.1.3 Mycat性能監控指標 5.2 Mycat性能優化 5.3 MySQL優化技術 5.3.1 數據庫建表設計規范 5.3.2 SQL語句與索引 5.3.3 配置文件 5.3.4 InnoDB選擇文件系統 5.3.5 系統架構第6章 Mycat架構剖析 6.1 Mycat總體架構介紹 6.2 Mycat網絡I/O架構與實現 6.2.1 MycatI/O架構概述 6.2.2 前端通信框架 6.3 Mycat線程架構與實現 6.3.1 多線程基礎 6.3.2 Mycat線程架構 6.4 Mycat內存管理及緩存架構與實現 6.4.1 Mycat內存管理 6.4.2 Mycat緩存架構與實現 6.5 Mycat連接池架構與實現 6.5.1 Mycat連接池 6.5.2 Mycat連接池架構及代碼實現 6.6 Mycat主從切換架構與實現 6.6.1 Mycat主從切換概述 6.6.2 Mycat主從切換的實現第7章 Mycat核心技術分析 7.1 Mycat分布式事務的實現 7.1.1 XA規范 7.1.2 二階段提交 7.1.3 三階段提交 7.1.4 Mycat中分布式事務的實現 7.2 MycatSQL路由的實現 7.2.1 路由的作用 7.2.2 SQL解析器 7.2.3 路由計算 7.3 Mycat跨庫Join的實現 7.3.1 全局表 7.3.2 ER分片 7.3.3 catlet 7.3.4 ShareJoin 7.4 Mycat數據匯聚和排序的實現 7.4.1 數據排序 7.4.2 數據匯聚第8章 Mycat多數據庫支持原理與實現 8.1 MySQL協議在Mycat中的實現 8.1.1 MySQL協議概述 8.1.2 Mycat的MySQL協議實現 8.2 PostgreSQL協議在Mycat中的實現 8.2.1 PostgreSQL介紹 8.2.2 PostgreSQL協議 8.2.3 PostgreSQL實現 8.3 Mycat對JDBC支持的實現 8.3.1 Oracle配置 8.3.2 SQLServer配置 8.3.3 MongoDB配置 8.3.4 源碼分析


相關書籍