【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张表 #查看表信息,可以看到成功分库

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1220742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MyCat】第5章----水平拆分——分表

文章目录5.1 实现分表1、 选择要拆分的表2、 分表字段3、 修改配置文件 schema.xml4、 修改配置文件 rule.xml5、 在数据节点 dn2 上建 orders 表6、 重启 Mycat&#xff0c;让配置生效7、 访问 Mycat 实现分片5.3 常用分片规则1、 取模2、 分片枚举3、 范围约定5.4 全局序列1、…

​​​​​​​刷爆朋友圈的“香蕉模型”,到底是什么来头?

关注我们 最近AI圈子又变天了 大家都在讨论一个新词 叫做香蕉模型 你可能第一次听说 但在极客圈它已经杀疯了 为什么叫它香蕉 因为它主打的就是 剥皮即食 简单好用且能量巨大 相比于那些庞大的巨无霸模型 香蕉模型更轻量 反应速度更快 而且成本低到令人发指 很多做…

深入解析:python3GUI--短视频社交软件 By:Django+PyQt5(前后端分离项目)

深入解析:python3GUI--短视频社交软件 By:Django+PyQt5(前后端分离项目)2026-01-26 20:40 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x:…

hot100 105.从前序与中序遍历序列构造二叉树

见代码随想录 105.从前序与中序遍历构造二叉树

hot100 437.路径总和Ⅲ

思路&#xff1a;前缀和解法&#xff0c;利用前缀和求节点值之和等于targetSum的路径的数目&#xff08;满足路径不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&#xff0c;只能从父节点到子节点&#xff09;。 一、前缀和定义&…

hot100 236.二叉树的最近公共祖先

见代码随想录 236.二叉树的最近公共祖先

考研C语言专题练习

考研C语言专题练习 引言 这篇文章的本质是我学完考研C语言之后做的针对所学内容的练习题目 题目一&#xff1a;挂盐水 题目链接&#xff1a;http://oj.lgwenda.com/problem/1014 这是我的想法&#xff0c;得分50&#xff0c;我的问题在于代码逻辑完全误解了题目描述的滴水和停顿…

太阳敏感器的高精度补偿标定方法

微纳卫星技术快速发展&#xff0c;太阳敏感器与磁强计、陀螺仪组成联合定姿系统&#xff0c;广泛用于太阳方位角测量。但传统产品存在精度不足的问题&#xff0c;现有补偿方法存在参数冗余、误差源覆盖不全或流程繁琐等问题。本文基于紫创测控luminbox的太阳光模拟器搭建标定系…

鼎先电子提供200多款从单通道到多通道的ESD防护器件,快充ESD解决方案

ESD8LVL5.0CT5G 0.25pF,4A ,40W低电容静电防护器件&#xff0c;旨在保护电压敏感元件免受静电放电&#xff08;ESD&#xff09;影响。出色的钳位能力、低泄漏和快速响应时间&#xff0c;使这些器件非常适合用于电路板空间有限的设计中的ESD保护。由于其尺寸小巧&#xff0c;适…

大功率防雷器件,低容集成阵列TVS

LC03-6.TBT,LC03-6R2G大功率集成阵列TVS Array 产品概述 TVS二极管是敏感半导体元件板级保护的理想选择。LCO3-6将TVS二极管与整流桥相结合&#xff0c;以单个器件在共模和差分模式下提供瞬态保护。器件的电容最小化(<25pF)&#xff0c;以确保高速线路上正确的信号传输。…

SOD-523二极管提供1线ESD保护(单向和双向)。这些器件符合IEC 61000-4-2标准DC0501D5 DC0521D5

SOD-523 ESD保护二极管采用小巧紧凑的封装&#xff0c;符合Rohs标准。SOD-523二极管提供1线ESD保护&#xff08;单向和双向&#xff09;。这些器件符合IEC 61000-4-2标准&#xff08;30/15kV接触放电和30/15kV空气放电&#xff09;。SOD-523 ESD保护二极管的工作电压为3.3V、5V…

7个 Golang 官方文档没细说的高效技巧

Go 的语法确实简单&#xff0c;但要在生产环境写出高性能代码&#xff0c;光靠语法糖是不够的。但很多时候&#xff0c;写出能跑的代码只是及格线&#xff0c;写出高性能、内存友好且易于维护的代码才是真正的门槛。 为了省心&#xff0c;我最近把本地环境换成了 ServBay。它最…

代码通胀时代,AI生成的代码需要 12 倍审查成本?

近日&#xff0c;有人在 Reddit 上算了一笔账&#xff0c;贡献者用 AI 生成一个 Pull Request (PR) 只需要 7 分钟&#xff0c;而维护者为了理解逻辑、排查隐患、测试运行&#xff0c;平均要花 85 分钟。 这就是著名的 Brandolini 定律&#xff08;又叫废话不对称原则&#xf…

c++ release下的debug

debug方法1,查看堆栈 最直接&#xff0c;调用顺序是最上面的最近调用。往下点直到自己的代码位置2&#xff0c;debug断点 3&#xff0c;查看内存&#xff1a;&#xff08;&#xff09;4&#xff0c;断电右键添加监视窗口 5&#xff0c;条件断点 release下设置断点调试的…

ssl免费证书与收费证书有什么区别

SSL免费证书与收费证书核心区别SSL免费与收费证书核心差异在安全等级、售后保障及企业适配性&#xff0c;均能实现网站HTTPS加密&#xff0c;但适用场景截然不同。免费证书多为DV型&#xff0c;仅验证域名归属&#xff0c;10分钟内快速签发&#xff0c;成本零门槛&#xff0c;适…

应用程序嵌入插件需要具备什么条件

应用程序插件化能力的深入分析 一、并非所有应用程序都能嵌入插件 1.1 支持插件化的应用程序特征 架构设计特征 ┌───────────────────────────────────┐ │ 可插件化的应用程序架构特征 │ ├───────────────…

给一个应用程序编写插件工作指南

为应用程序编写插件的全面准备工作指南 一、核心准备工作框架 技术调研 → 环境搭建 → 架构设计 → 开发实施 → 测试发布二、详细准备清单 2.1 前期调研与理解&#xff08;最重要的一步&#xff09; 了解目标应用程序 应用程序类型分析&#xff1a; 桌面应用&#xff08;…

如何在应用程序中安装插件并使用

应用程序与插件的关系、安装使用及核心机制 一、应用程序与插件的关系 1.1 基本关系 应用程序是独立运行的软件&#xff0c;而插件&#xff08;也称为扩展、附加组件&#xff09;是扩展应用程序功能的独立模块。它们的关系类似于&#xff1a; 主机与客体的关系&#xff1a;…

当蝗虫玩起了概率游戏:HCUGOA的整活现场

混合柯西变异和均匀分布的蝗虫优化算法 何庆 摘 要: 由于位置更新公式存在局部开发能力较强而全局探索能力较弱的缺陷,导致蝗虫优化算法(GOA)易陷入局部最优以及早熟收敛,对此,提出一种混合柯西变异和均匀分布的蝗虫优化算法(HCUGOA). 受柯西算子和粒子群算法的启发,提出具有分…

Spring Boot 项目使用 EasyExcel 实现导出功能

你想要在 Spring Boot 项目中基于 EasyExcel 完整实现 Excel 导出功能&#xff0c;我会为你梳理一套标准化、可直接落地的实现方案&#xff0c;包含基础导出、字段控制、异常处理等核心内容&#xff0c;确保功能健壮且符合开发规范。 一、完整实现步骤 环境准备&#xff08;引入…