前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >真实案例:用MyCat实现数据库读写分离与分库分表

真实案例:用MyCat实现数据库读写分离与分库分表

作者头像
希望的田野
发布2019-09-24 16:31:32
9710
发布2019-09-24 16:31:32
举报
文章被收录于专栏:信息化漫谈信息化漫谈

1.0版,普通企业应用基本都是单实例或单库的模式,采用单机实现数据库的访问。再向上,2.0版,随着业务的规模扩展,企业会采用双机数据库,如热备、读写分离的方式来提高性能或可靠性。最后,3.0版,单机实现所有数据的写会遇到最终的瓶颈,因此分库、分表是最终的数据库的高可用的解决方案。今天我们来讲讲用MyCat中间件实现MySql数据库的分库分表的实现。

MyCat实际是基于阿里巴巴的CoBar进行开源化的中间件。以下是系统架构。

应用程序(PHP、JAVA等)在需要连接MySql数据库时,实际连接的是MyCat中间件,由MyCat的连接资源池再次向真实的物理服务器Mysql1、Mysql2、Mysql3发起连接访问请求。通过MyCat能实现读写分离、分库分表的配置。接下来我们来看一下如何配置MyCat。

一、下载MyCat中间件。

二、解压缩MyCat中间件。

三、进入MyCat的配置文件。

MyCat的配置文件均位于mycat/conf目录下。其中最重要的是以下三个配置文件。server.xml文件是MyCat自身的配置文件;而schema.xml则对应真实的物理数据库服务器的规则;rule.xml是分库分表的规则配置。

四、查看server.xml中的配置。

以下配置,代表应用程序可以通过root、password访问TESTDB这个数据库。

五、查看schema.xml中的配置。

schema.xml中的数据库名与刚才server.xml中的数据库名相对应。

schema.xml中的dataNode代表通过三台服务器实现分片。

schema.xml中的dataHost代表真实的物理服务器的配置。在这里可以配置物理服务器的IP、数据库的帐号、密码。

六、MyCat只是一个数据库的集群调度工具,对于读写分离中的数据复制必须通过数据库自身实现;而对于分表后的联表查询目前只支持两个表的联表查询;MyCat支持MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流数据库。

总体来看,MyCat已经是一个不错的数据库中间件,推荐使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信息化漫谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档