news 2026/5/6 5:36:08

【MyCat】第4章 ----垂直拆分——分库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【MyCat】第4章 ----垂直拆分——分库

文章目录

  • 4.1 如何划分表
  • 4.2 实现分库
    • 1、 修改 schema 配置文件
    • 2、 新增两个空白库
    • 3、 启动 Mycat
    • 4、 访问 Mycat 进行分库

一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类,分布到不同 的数据库上面,这样也就将数据或者说压力分担到不同的库上面,如下图:

系统被切分成了,用户,订单交易,支付几个模块。

4.1 如何划分表

一个问题:在两台主机上的两个数据库中的表,能否关联查询?
答案:不可以关联查询。
分库的原则:有紧密关联关系的表应该在一个库里,相互没有关联关系的表可以分到不同的库里。

#客户表 rows:20万 CREATETABLEcustomer(idINTAUTO_INCREMENT,NAMEVARCHAR(200),PRIMARYKEY(id));#订单表 rows:600万 CREATETABLEorders(idINTAUTO_INCREMENT,order_type INT,customer_id INT,amountDECIMAL(10,2),PRIMARYKEY(id));#订单详细表 rows:600万 CREATETABLEorders_detail(idINTAUTO_INCREMENT,detailVARCHAR(2000),order_id INT,PRIMARYKEY(id));#订单状态字典表 rows:20CREATETABLEdict_order_type(idINTAUTO_INCREMENT,order_typeVARCHAR(200),PRIMARYKEY(id));

以上四个表如何分库?客户表分在一个数据库,另外三张都需要关联查询,分在另外一个数据库。

4.2 实现分库

1、 修改 schema 配置文件

....<schema name="TESTDB"checkSQLschema="false"sqlMaxLimit="100"dataNode="dn1"><table name="customer"dataNode="dn2"></table></schema><dataNode name="dn1"dataHost="host1"database="orders"/><dataNode name="dn2"dataHost="host2"database="orders"/><dataHost name="host1"maxCon="1000"minCon="10"balance="0"writeType="0"dbType="mysql"dbDriver="native"switchType="1"slaveThreshold="100"><heartbeat>selectuser()</heartbeat><!--可配置多个写主机--><writeHost host="hostM1"url="192.168.140.128:3306"user="root"password="123123"></writeHost></dataHost><dataHost name="host2"maxCon="1000"minCon="10"balance="0"writeType="0"dbType="mysql"dbDriver="native"switchType="1"slaveThreshold="100"><heartbeat>selectuser()</heartbeat><!--可配置多个写主机--><writeHost host="hostM2"url="192.168.140.127:3306"user="root"password="123123"></writeHost></dataHost>....

2、 新增两个空白库

分库操作不是在原来的老数据库上进行操作,需要准备两台机器分别安装新的数据库
#在数据节点 dn1、dn2 上分别创建数据库 orders
CREATE DATABASE orders;

3、 启动 Mycat

./mycat console

4、 访问 Mycat 进行分库

#访问Mycatmysql-umycat-p123456-h192.168.140.128-P8066#切换到 TESTDB #创建4张表 #查看表信息,可以看到成功分库

如果文章对你有一点点帮助,欢迎【点赞、留言、+ 关注】
您的关注是我创作的动力!若有疑问/交流/需求,欢迎留言/私聊!
多一个朋友多一条路!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 18:27:09

专科生必看!10个高效降aigc工具推荐,避坑指南来啦

专科生必看&#xff01;10个高效降aigc工具推荐&#xff0c;避坑指南来啦 AI降重工具&#xff0c;让论文更“自然” 随着人工智能技术的不断发展&#xff0c;越来越多的专科生在撰写论文时开始依赖AI辅助工具。然而&#xff0c;AI生成的内容往往带有明显的痕迹&#xff0c;导致…

作者头像 李华
网站建设 2026/4/20 21:33:28

人群仿真软件:Vadere_(11).Vadere与其他仿真软件的比较

Vadere与其他仿真软件的比较 在人群仿真软件领域&#xff0c;Vadere并不是唯一的选择。了解Vadere与其他仿真软件的差异和优势&#xff0c;可以帮助用户更好地选择适合自己需求的工具。本节将重点比较Vadere与其他流行的仿真软件&#xff0c;如AnyLogic、Simulink、Viswalk和M…

作者头像 李华
网站建设 2026/4/24 3:41:36

【课程设计/毕业设计】基于SpringBoot与Vue的机器人健康预警系统设计与实现基于springboot的机器人健康预警系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/25 8:03:18

无损音乐下载工具!歌曲一键搜索,母带音质在线听歌,音频文件批量下载保存到本地!支持收藏、歌单导入

软件下载 夸克&#xff1a;https://pan.quark.cn/s/ccbd57f7b60b 其他网盘 软件介绍 支持下载无损音乐的二级&#xff0c;只支持win系统 软件特点 只支持win系统&#xff0c;其他系统不支持支持歌单导入支持再在线搜索歌曲&#xff0c;并且下载支持无损音质下载不需要下载…

作者头像 李华
网站建设 2026/5/2 8:00:15

别再问了,Sealos 私有化部署就这几步

最近被问私有化部署的问题快问麻了&#xff0c;干脆写一篇彻底说清楚。顺便拉几个"老朋友"出来比比&#xff0c;你们自己看哪个更适合。先说说市面上都有谁私有化部署云平台这条赛道&#xff0c;玩家其实不少&#xff1a;Rancher、KubeSphere、OpenShift。每个都说自…

作者头像 李华