分布式数据库架构及企业实践——基于Mycat中间件试读样章

所需积分/C币:50 2016-12-30 14:00:27 504KB PDF

分布式数据库架构揭秘,原理与实践兼备,极具借鉴意义
内容简介 本书由资深 Mycat专家及一线架构师、DBA编写而成。仝书总计8章,首先简单介绍了分布式系统 和分布式数据库的需求,然后讲解了分布式数据库的实现原哩,并对市场上存在的各种分布式数据库中间 件进行了对比,再围统着如何利用 Mycat实现分布式数据库而展开。书对 Mycat从入门到进阶、从高级 技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并音析了 Mycat 的SoL路由、跨库联合查询、分布式事务及原生 MySQL、 PostgreSQL协议等核心技术。通过本书不仅可 以了解 Mycat的基本概念,掌握 Mycat配置等技术,还能感受到 Mycat的架构设计之美,了解 Mycat2.0 的未来规划。 无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深I人士 来说,本书都极具参考价值。 未经许可,不得以任何方式复制或抄袭木书之部分或全部内容。 版权所有,侵权必究。 图书在版编目(C|P)数据 分布式数据库架构及企业实践:基 Mycat中间件/周继锋等著.一北京:电子工业出版社,2016.11 ISBN978-7-121-30287-9 I.①分…Ⅱ.①周…Ⅲ.①分布式数据库一数据库系统Ⅳ.①TP311.133.1 中国版本图馆(P数据核字(2016)第268198号 策划编辑:张国雯 责仁编辑:徐津平 印刷:三河市双峰印刷装订有限公司 装订:河市双峰印刷装订有限公司 出版发行:电子工业出版社 北京市海淀区万寿路173信箱邮编100036 开木:787×9801/16印张:20字数:450千字 版次:2016年11月第1版 印次:2016年11月第1次印刷 印数:30册定价:79.00元 凡所购买电子工业出版社图书冇缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系, 联系及盯购电话:(010)88254888,8825888 质量投诉清发邮件至zlts@phci.com.cn,盗版侵权举报请发邮件至dbqqlaphci.com.cn 本书咨询联系方式:010-51260888819faq(@phei.com.cn 推荐序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同时支持如 Sequoia、 MongoDB这样的 NOSQL数据库及HDFS分布式文件系统,实现了对非结构化数据、半结构化数据及结 分布式数据库架构及企业实践——基于 Mycat中间件 构化数据的存储及互联。 多样化的数据库工具: Mycat为用户提供了卡富的管理工具,可以帮助用户更好地管理 数据库系统。 木书非常适合作为 Mycat的入门及进阶参考读物,它非常全面地阐述了分库分表的基本原 理、实现机制及实践经验。本书的作者有着丰富的行业经验及技术底蕴,能够把业界非常前沿 的知识用深入浅出的语言传授给各位读老 最后,作为 Sequoia的联合创始人,我十分钦佩 Mycat团队的技术及勇气。虽然基础软 件的开发难度很大,但是我们都敢于去挑战一个个技术难点,并填补国内基础软件产品的巨大 空白。因此,我在这里衷心地祝愿 Mycat前程似锦 杉欻据库联合创始人王涛 推荐序2 随着分布式系统的发展,应用的分布式由于无状态的特性,可以利用消息机制相对简单地 进行拆分,计算的分布式也可以通过Map、 Reduce等相关算法来解决。但是随着业务压力和并 发压力的增加,我们急需种分布式数据库解决方案来支持薮据库的水平扩展,通过简单地增 加服务器及线性地提升数据库的并发访问能力,为闯过分布式系统的最后一道难关铺平道路。 从阿里巴巴的 Cobar到开源社区的 Mycat,从 Cobar的架构师贺贤懋、朱海清、邱硕到 Mycat 的核心人员南哥、冰风影,作为名专注于 MySQL数据库十多年的从业者,我见证了分布式 数据厍的从无到有到百花齐放,在收到本书的序言邀请时,我感到非常荣幸。 现在的分布式数据库广品越来越多。 You Tube公司提供的Ⅴ itness功能强大,在 YouTube 的生产环境下支撑了大量的业务访问;360公司的 Altas基于 MySQL Proxy开发而成,最初主 要在应用层进行透明的读写分离,于2013年引入了分库分表;陈菲在离开360公司后在WPS 云平台用(io语言编写了 Kingshard;楼厅鑫(黄忠)在离开支付宝后编写了 OneProxy;腾讯互 娱的DBA团队基于 Spider打造了自己的分布式数据库平台;淘宝在内部将TDDL的客户端工 具作为了分库分表中间件;阿里巴巴的B2B开源了支撑其内部业务生产环境3年的 Cobar,为 开源社区提供了一大助力;而基于 Cobar开发的Myat及其各种分支由于其易用性,将分布式 数据库进一步推广到互联网和传统行业的各个业务领域 Mycat无疑是这些中间件中的佼佼者,支持百亿级别的效据分片和并行计算,支持高可用 和 MySQL的读写分离,并随着版本的更新进一步支持 Oracle、DB2、 MongoDB等后端数据库 随着周边产品的进步成熟,在越来越多的分布式或者非分布式(仪用它的读写分离或者高可 用)生产环境中得到部署,受到越来越多的企业的关注。木书恰逢其会,由 Mycat核心开发人 员撰写而成,详细讲述了 Mycat的出来、架构特点、核心模块、实际使用案例和企业实践,是 一本不可多得的好书。 沃趣科技 MySQL负责人李春 推荐序3 作为国产开源数据库中间件— Mycat的发起者,我不得不为本书作序。 这是一本由众多技术精英合著的数据库+中间件领域的专业书籍,这些人包括M ammeter、 Mcat志愿者及资濚DBA,大家在工作之余抽出大量时间来编写和完普此书,历经 年完成了本书的编写工作,实属不易。 数据库中间件是新兴的重要的互联网中间件,日前∨界仍然缺乏一本系统性介绍相关领域 的软件产品、常用技术、架构等的纸质书籍。本书围绕 Mycat开源中间件,从基础入门到架构 原理,从运行机制到源码实现,从系统运维到应用实践,讲解得详尽而又完善。本书內容丰富 图文并茂、由浅入深,对数据库中间件的基本原理阐述清晰,对程序源码分析透彻,对实践经 验讲解深刻。 从内容上讲,本书从一个使用者的角度去理解、分析和解决冋题,通过大量的实例操作和 源码解析,帮助读者深入理解 Mycat的各种概念。读者刈其中的案例只要稍做修改,再结 合实际的业务需求,就可以在正在开发的项目中应用,达到事半功倍的效果。并且,通过学 习书中应用实战方面的内容,不仅可以直接提高开发技能,还可以解决在实践过程中经常遇到 的各种关键问题。另外,本书中的所有观点和经验均是作者们在多年建改、维护大型应用系统 的过程中积累形成的,非常值得借鉴和推广。 希望 Mycat在大家的支持下走得更远,成为中国软件的骄傲。 Leader-us 前言 随着移动冮联网的兴起和大数据的蓬勃发展,系统的数据量正呈几何倍数增长,系统的压 力也越来越大,这时最容易岀现的问题就是服务器繁忙,我们可以通过增加服务器及改造系统 来缓解压力,然后采用负载均衡、动静分閃、缓仔系统来提扃系统的吞吐量。然而,当数据量 的增长达到一定程度的时侯,增加应用服务器并不能明显地提高系统的效率,因为所有压力都 会传导到数据库层面,而人多数系统都是用一个数据库来存储和管理系统数据的。这时, Mycat 应运而生。 谈到 Mycat就不得不谈谈 Cobar, Cobar是阿里巴巴开源的数据库中间件,由于其存在使用 限制及一些比较严重的问题, Leader-us在其基础上于2013年年底实现了 Mycat10版本,Myat 经发布便引起了很多人的关注。之后 Mycat社区对 Cobar的代码进行了彻底重构,使用NIO 重构」恻络模块,并且优化」Buer内核,增强∫聚合、Join等基本特性,同时兼容」绝大多 数数据库,使之成为通用的数据库中间件。 Mycat在14版本以后完全脱离了 Cobar内核,同时 采用了 Mycat集群管理、自动扩容及智能优化,成为了高性能的数据库巾间件。 Mycat从诞生 至今已有三年多了,一直在坚持做最好的开源数据库中间件产品 本书总计8章,涵盖了 Mycat入门、进阶、高级技术实战、全业运维、架构剖析、核心技 术分析、多数据库支持原理与实现等内容,内容详尽、图文并茂,几乎囊括了 Mycat所涉及的 方方面面,无论是对」软件工程师、测试工程帅、运维工程帅、软件架构帅、技术经理,还是 对于资深IT人士来说,本书都极具参考价值。 第1章:介绍了分布式系统和分布式数据库系统的原理,介绍 Mycat的起源和发展状况, 并对各种数据库中间件做了简要介绍和对比。 第2章:讲解了 Mycat的入门知识,介绍了 Mycat的安装环境、核心概念和分库分表的原 理,以及 Mycat源码开发调试的过程。 第3章:讲解了Myat的进阶知识,1要介绍 Mycat的各种配置和分片算法 V|!● 分布式数据库架构及企业实践—基于 Mycat中间件 第4章:讲解了 Mcat和 MYSQL实战案例,由拥有丰富的 Mycat线上实战经验的专家和 DBA共同编写而成,有很高的参考价值。 第5章:简要介绍了用于 Mycat性能监控的T具—— Mycat-web,详细讲解了 Mycat和 My SQL的优化技术,是DBA的亲身总结和经验之谈 第6章:重点阐述了 Mycat的架构,包括网络、线程、连接池、内存管理及缓冇实现等, 是了解 Mycat框架的基础。 第7章:介绍了 Mycat的核心技术,包括分布式事务的实现、跨库Join的三种实现方式等, 介绍了多节点数据汇聚和排序的原理,并详细阐述了在 Mcat1.6版本中实现的一致性分布式事 务的功能 第8章:介绍了 MySQL和 PostgreSQL的通信协议及 Mycat对这些通信协议的实现,然后 介纤了 Mycat对JBC及多种数据库的攴持,例如 Oracle、 SOL Server、 MongodB等。 本书的编写和校对历经一年,参与编写的作者都是 Mycat开源项目中参与度比较高、提交 过不少代码或有丰富的实战经验的资深人士。非常感谢参与本书编写、指导或校对的专家 Leader-s、南哥(曹宗南)、从零开始(宋伟)、小张哥(张超)、 yuanfang(杨鹏飞)、顽石神 (张治春)、冰麒麟(杨峰)、望舒(胡雅辉)、明明Ben(朱阿明)、零(章爱国)、 little-pan(潘 白朋)、〔 razy Pig(陈建欣)、毛茸茸的逻辑(王成瑞)、海王星(林志强)、石头狮子(林晁)、 Han senj(姬文刚)、武(王灯武)、战狼(刘胡波)、KK(刘军)、董海雄(易班网)、arx(李 秋伟)、正能量(王金剑)、吉光(李伟) 山于作者的写作水平有限,书中难免会有不妥或者疏漏之处,欢迎读者批评指正。 冰风影 Mycat社区负责人 6年11月6日于广州番禺 目录 第工章数据库中间件与分布式数据库的实现 1.1什么是分布式系统 12为什么需要分布式数据库 1.3分布式数据库的实现原理……………… 14 Mycat数据库中间件简介…… 1.41 Mycat的历史与未来规划……… 558 42 Mycat与其他中间件的区别 14.3 Mycat的优势… 144 Mycat的适用场合 第2章 Mycat入门 2.1环境搭建 2.1.1 Windows环境搭建 13 2.1.2 Linux环境搭建 15 22 Mycat核心概念详解 2. 逻辑库( schema)… 2.2.2逻辑表( table)…… ..

...展开详情

评论 下载该资源后可以进行评论 1

naijux 只有23页,第5章内容
2017-11-21
回复
img
博文视点
  • 签到新秀

    累计签到获取,不积跬步,无以至千里,继续坚持!

关注 私信 TA的资源

上传资源赚积分,得勋章
最新资源