为什么会有mycat?即为什么会有分片(分库分表)?
面对着一天天的单表数据量增加,使的数据库的处理能力的压力增大。建立一个合理数据库架构,来存放日益增加的数据,减少数据库的访问压力,最大限度的提高数据的处理能力。
为什么说mycat是数据库的中间件?
因为它介于应用程序和数据库之间,所以称为数据库的中间件。
mycat简介
mycat前身是阿里的Cobar,后来被重构了,变成现在的mycat。cobar用的是BIO,mycat用的是NIO。实现了 MySQL 公开的二进制传输协议,巧妙地将自己伪装成一个 MySQL Server。
mycat的分片
mycat的分片就是把单个数据库服务器中的数据分散到多个数据库服务器,减轻数据库的压力。
在如今的大数据时代,分布式架构已经成为企业级数据应用的标配,传统的关系型数据库产品已经面临一个真正的拐点,无论是从底层全新实现分布式计算存储的NoSQL、Hadoop,还是使用Mycat这样的分库分表工具,对关系型数据库大刀阔斧地进行“改装”都是大势所趋。
在这里笔者为大家带来一篇由企业实践出发,深入学习Mycat中间件的分布式数据库架构实战,希望能帮到大家很好的认识Mycat~~~
主要内容
第1章:数据库中间件与分布式数据库的实现
本章介绍了分布式系统和分布式数据库系统的原理,介绍Mycat的起源和发展状况,并对各种数据库中间件做了简要介绍和对比。
第2章:Mycat入门
本章讲解了Mycat的入门知识,介绍了Mycat的安装环境、核心概念和分库分表的原理,以及Mycat源码开发调试的过程。
第3章:Mycat进阶
本章稍微深入一点,讲解了Mycat的进阶知识,主要介绍Mycat的各种配置和分片算法。
第4章:Mycat高级技术实战
本章由实战出发,讲解了Mycat和MySQL实战案例,由拥有丰富的Mycat线上实战经验的专家和DBA共同编写而成,有很高的参考价值。
第5章:Mycat企业运维
本章简要介绍了用于Mycat性能监控的工具——Mycat-web,详细讲解了Mycat和MySQL的优化技术,是DBA的亲身总结和经验之谈。
第6章:Mycat架构剖析
第6章重点阐述了Mycat的架构,包括网络、线程、连接池、内存管理及缓存实现等,是了解Mycat框架的基础。
第7章:Mycat核心技术分析
本章介绍了Mycat的核心技术,包括分布式事务的实现、跨库Join的三种实现方式等,介绍了多节点数据汇聚和排序的原理,并详细阐述了在Mycat 1.6版本中实现的一致性分布式事务的功能。
第8章:Mycat多数据库支持原理与实现
本章介绍了MySQL和PostgreSQL的通信协议及Mycat对这些通信协议的实现,然后介绍了Mycat对JDBC及多种数据库的支持,例如Oracle、SQL Server、MongoDB 等。
Mycat从中间件工具的角度成功地弥补了MySQL的诸多局限。
- 分布式存储: 通过Mycat, MySQL 可以实现集群化与分布式管理,使数据库容量与处理能力大大改善。
- 性能加速: 通过分布式集群及Mycat Booster 对MySQL数据库在集群环境下的加速,Mycat大大提升了MySQL集群的性能。
- 异构数据互联互通: 除了MySQL, Mycat 同时支持如SequoiaDB、MongoDB这样的NoSQL数据库及HDFS分布式文件系统,实现了对非结构化数据、半结构化数据及结构化数据的存储及互联。
- 多样化的数据库工具: Mycat为用户提供了丰富的管理工具,可以帮助用户更好地管理数据库系统。
随着技术的进步,现在的分布式数据库产品越来越多,呈百花齐放的态势,但Mycat无疑是这些中间件中的佼佼者。
本篇总计8章,涵盖了Mycat入门、进阶、高级技术实战、企业运维、架构剖析、核心技术分析、多数据库支持原理与实现等内容,内容详尽、图文并茂,几乎囊括了Mycat所涉及的方方面面,无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深IT人士来说,本篇都极具参考价值。