收藏 分享(赏)

分布式数据库架构及企业实践——基于Mycat中间件.pdf

上传人:sc****y 文档编号:2358272 上传时间:2023-05-08 格式:PDF 页数:320 大小:3.57MB
下载 相关 举报
分布式数据库架构及企业实践——基于Mycat中间件.pdf_第1页
第1页 / 共320页
分布式数据库架构及企业实践——基于Mycat中间件.pdf_第2页
第2页 / 共320页
分布式数据库架构及企业实践——基于Mycat中间件.pdf_第3页
第3页 / 共320页
分布式数据库架构及企业实践——基于Mycat中间件.pdf_第4页
第4页 / 共320页
分布式数据库架构及企业实践——基于Mycat中间件.pdf_第5页
第5页 / 共320页
分布式数据库架构及企业实践——基于Mycat中间件.pdf_第6页
第6页 / 共320页
亲,该文档总共320页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 分布式数据库架构及企业实践基于 Mycat 中间件?II?内 容 简 介 本书由资深 Mycat 专家及一线架构师、DBA 编写而成。全书总计 8 章,首先简单介绍了分布式系统和分布式数据库的需求,然后讲解了分布式数据库的实现原理,并对市场上存在的各种分布式数据库中间件进行了对比,再围绕着如何利用 Mycat 实现分布式数据库而展开。本书对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、分布式事务及原生 MySQL、PostgreSQL 协议等核心技术。通过本书不仅可以了解 M

2、ycat 的基本概念,掌握 Mycat 配置等技术,还能感受到 Mycat 的架构设计之美,了解 Mycat 2.0的未来规划。无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深 IT 人士来说,本书都极具参考价值。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 分布式数据库架构及企业实践:基于 Mycat 中间件/周继锋等著.北京:电子工业出版社,2016.11 ISBN 978-7-121-30287-9.分.周.分布式数据库数据库系统.TP311.133.1 中国版本图书馆 CIP 数据核字(2016)

3、第 268198 号 策划编辑:张国霞 责任编辑:徐津平 印 刷:三河市双峰印刷装订有限公司 装 订:三河市双峰印刷装订有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:787980 1/16 印张:20 字数:450 千字 版 次:2016 年 11 月第 1 版 印 次:2016 年 11 月第 1 次印刷 印 数:3000 册 定价:79.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至

4、 。本书咨询联系方式:010-51260888-819 。推荐序 1?III?推荐序 1 随着大数据时代的到来,海量数据存储、并行计算、异构数据互联等一系列新技术在市场上不断地涌现。相信数据库行业的很多从业者都对传统关系型数据库的单点故障及容量问题头疼不已,而“分库分表”也早已成为解决这类问题的基础,此时,Mycat 应运而生。Mycat 是一款面向企业级应用的开源数据库中间件产品,它目前支持数据库集群、分布式事务与 ACID,被普遍视为基于 MySQL 技术的集群分布式数据库解决方案,在一些互联网、金融、运营商客户中用来替代昂贵的 Oracle。Mycat 不仅可以轻松对接 MySQL、SQ

5、L Server 等传统关系型数据库,也融合了内存缓存、NoSQL、HDFS 等新兴大数据技术,是一款非常优秀的数据库中间件。在如今的大数据时代,分布式架构已经成为企业级数据应用的标配,传统的关系型数据库产品已经面临一个真正的拐点:一方面,关系型数据库自身难以实现分布式,这大大限制了其数据存储能力及整体的性能表现;另一方面,商业化的传统数据库产品的成本和性价比在分布式架构崛起的状况下毫无优势可言。因此,无论是从底层全新实现分布式计算存储的 NoSQL、Hadoop,还是使用 Mycat 这样的分库分表工具,对关系型数据库大刀阔斧地进行“改装”都是大势所趋。作为一名专注于数据库领域多年的从业者,

6、我认为 Mycat 从中间件工具的角度成功地弥补了 MySQL 的诸多局限。分布式存储:通过 Mycat,MySQL 可以实现集群化与分布式管理,使数据库容量与处理能力大大改善。性能加速:通过分布式集群及 Mycat Booster 对 MySQL 数据库在集群环境下的加速,Mycat 大大提升了 MySQL 集群的性能。异构数据互联互通:除了 MySQL,Mycat 同时支持如 SequoiaDB、MongoDB 这样的NoSQL 数据库及 HDFS 分布式文件系统,实现了对非结构化数据、半结构化数据及结分布式数据库架构及企业实践基于 Mycat 中间件?IV?构化数据的存储及互联。多样化的

7、数据库工具:Mycat 为用户提供了丰富的管理工具,可以帮助用户更好地管理数据库系统。本书非常适合作为 Mycat 的入门及进阶参考读物,它非常全面地阐述了分库分表的基本原理、实现机制及实践经验。本书的作者有着丰富的行业经验及技术底蕴,能够把业界非常前沿的知识用深入浅出的语言传授给各位读者。最后,作为 SequoiaDB 的联合创始人,我十分钦佩 Mycat 团队的技术及勇气。虽然基础软件的开发难度很大,但是我们都敢于去挑战一个个技术难点,并填补国内基础软件产品的巨大空白。因此,我在这里衷心地祝愿 Mycat 前程似锦!巨杉数据库联合创始人 王涛 推荐序 2?V?推荐序 2 随着分布式系统的发

8、展,应用的分布式由于无状态的特性,可以利用消息机制相对简单地进行拆分,计算的分布式也可以通过 Map、Reduce 等相关算法来解决。但是随着业务压力和并发压力的增加,我们急需一种分布式数据库解决方案来支持数据库的水平扩展,通过简单地增加服务器及线性地提升数据库的并发访问能力,为闯过分布式系统的最后一道难关铺平道路。从阿里巴巴的 Cobar 到开源社区的 Mycat,从 Cobar 的架构师贺贤懋、朱海清、邱硕到 Mycat的核心人员南哥、冰风影,作为一名专注于 MySQL 数据库十多年的从业者,我见证了分布式数据库的从无到有到百花齐放,在收到本书的序言邀请时,我感到非常荣幸。现在的分布式数据

9、库产品越来越多。YouTube 公司提供的 Vitness 功能强大,在 YouTube的生产环境下支撑了大量的业务访问;360 公司的 Altas 基于 MySQL Proxy 开发而成,最初主要在应用层进行透明的读写分离,于 2013 年引入了分库分表;陈菲在离开 360 公司后在 WPS云平台用 Go 语言编写了 Kingshard;楼方鑫(黄忠)在离开支付宝后编写了 OneProxy;腾讯互娱的 DBA 团队基于 Spider 打造了自己的分布式数据库平台;淘宝在内部将 TDDL 的客户端工具作为了分库分表中间件;阿里巴巴的 B2B 开源了支撑其内部业务生产环境 3 年的 Cobar,

10、为开源社区提供了一大助力;而基于 Cobar 开发的 Mycat 及其各种分支由于其易用性,将分布式数据库进一步推广到互联网和传统行业的各个业务领域。Mycat 无疑是这些中间件中的佼佼者,支持百亿级别的数据分片和并行计算,支持高可用和 MySQL 的读写分离,并随着版本的更新进一步支持 Oracle、DB2、MongoDB 等后端数据库,随着周边产品的进一步成熟,在越来越多的分布式或者非分布式(仅用它的读写分离或者高可用)生产环境中得到部署,受到越来越多的企业的关注。本书恰逢其会,由 Mycat 核心开发人员撰写而成,详细讲述了 Mycat 的由来、架构特点、核心模块、实际使用案例和企业实践

11、,是一本不可多得的好书。沃趣科技 MySQL 负责人 李春 分布式数据库架构及企业实践基于 Mycat 中间件?VI?推荐序 3 作为国产开源数据库中间件Mycat 的发起者,我不得不为本书作序。这是一本由众多技术精英合著的数据库+中间件领域的专业书籍,这些人包括 Mycat Commiter、Mycat 志愿者及资深 DBA,大家在工作之余抽出大量时间来编写和完善此书,历经一年完成了本书的编写工作,实属不易。数据库中间件是新兴的重要的互联网中间件,目前业界仍然缺乏一本系统性介绍相关领域的软件产品、常用技术、架构等的纸质书籍。本书围绕 Mycat 开源中间件,从基础入门到架构原理,从运行机制到

12、源码实现,从系统运维到应用实践,讲解得详尽而又完善。本书内容丰富、图文并茂、由浅入深,对数据库中间件的基本原理阐述清晰,对程序源码分析透彻,对实践经验讲解深刻。从内容上讲,本书从一个使用者的角度去理解、分析和解决问题,通过大量的实例操作和源码解析,帮助读者深入理解 Mycat 的各种概念。读者对其中的案例只要稍做修改,再结合实际的业务需求,就可以在正在开发的项目中应用,达到事半功倍的效果。并且,通过学习书中应用实战方面的内容,不仅可以直接提高开发技能,还可以解决在实践过程中经常遇到的各种关键问题。另外,本书中的所有观点和经验均是作者们在多年建设、维护大型应用系统的过程中积累形成的,非常值得借鉴

13、和推广。希望 Mycat 在大家的支持下走得更远,成为中国软件的骄傲。Leader-us 前 言?VII?前 言 随着移动互联网的兴起和大数据的蓬勃发展,系统的数据量正呈几何倍数增长,系统的压力也越来越大,这时最容易出现的问题就是服务器繁忙,我们可以通过增加服务器及改造系统来缓解压力,然后采用负载均衡、动静分离、缓存系统来提高系统的吞吐量。然而,当数据量的增长达到一定程度的时候,增加应用服务器并不能明显地提高系统的效率,因为所有压力都会传导到数据库层面,而大多数系统都是用一个数据库来存储和管理系统数据的。这时,Mycat应运而生。谈到 Mycat 就不得不谈谈 Cobar,Cobar 是阿里巴

14、巴开源的数据库中间件,由于其存在使用限制及一些比较严重的问题,Leader-us 在其基础上于 2013 年年底实现了 Mycat 1.0 版本,Mycat一经发布便引起了很多人的关注。之后 Mycat 社区对 Cobar 的代码进行了彻底重构,使用 NIO重构了网络模块,并且优化了 Buffer 内核,增强了聚合、Join 等基本特性,同时兼容了绝大多数数据库,使之成为通用的数据库中间件。Mycat 在 1.4 版本以后完全脱离了 Cobar 内核,同时采用了 Mycat 集群管理、自动扩容及智能优化,成为了高性能的数据库中间件。Mycat 从诞生至今已有三年多了,一直在坚持做最好的开源数据

15、库中间件产品。本书总计 8 章,涵盖了 Mycat 入门、进阶、高级技术实战、企业运维、架构剖析、核心技术分析、多数据库支持原理与实现等内容,内容详尽、图文并茂,几乎囊括了 Mycat 所涉及的方方面面,无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深 IT 人士来说,本书都极具参考价值。第 1 章:介绍了分布式系统和分布式数据库系统的原理,介绍 Mycat 的起源和发展状况,并对各种数据库中间件做了简要介绍和对比。第 2 章:讲解了 Mycat 的入门知识,介绍了 Mycat 的安装环境、核心概念和分库分表的原理,以及 Mycat 源码开发调试的过程。第 3

16、章:讲解了 Mycat 的进阶知识,主要介绍 Mycat 的各种配置和分片算法。分布式数据库架构及企业实践基于 Mycat 中间件?VIII?第 4 章:讲解了 Mycat 和 MySQL 实战案例,由拥有丰富的 Mycat 线上实战经验的专家和DBA 共同编写而成,有很高的参考价值。第 5 章:简要介绍了用于 Mycat 性能监控的工具Mycat-web,详细讲解了 Mycat 和MySQL 的优化技术,是 DBA 的亲身总结和经验之谈。第 6 章:重点阐述了 Mycat 的架构,包括网络、线程、连接池、内存管理及缓存实现等,是了解 Mycat 框架的基础。第 7 章:介绍了 Mycat 的核心技术,包括分布式事务的实现、跨库 Join 的三种实现方式等,介绍了多节点数据汇聚和排序的原理,并详细阐述了在 Mycat 1.6 版本中实现的一致性分布式事务的功能。第 8 章:介绍了 MySQL 和 PostgreSQL 的通信协议及 Mycat 对这些通信协议的实现,然后介绍了 Mycat 对 JDBC 及多种数据库的支持,例如 Oracle、SQL Server、MongoDB 等。本

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2