【mycat】常用分片规则

news2024/11/18 14:25:56

一、 常用分片规则

1、取模

​ 此规则为对分片字段求摸运算。也是水平分表最常用规则

2、分片枚举

​ 通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的,这类业务使用本条规则。

实现方式如下:

2.1、修改schema.xml配置文件

> [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I3bFd6zV-1668606531894)(assets/1657606799331.png)]

测试表为orders_ware_info,配置在dn1和dn2节点,规则是新增一个sharding_by_intfile

2.2、修改rule.xml配置文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Xuivj2H-1668606531895)(assets/1657606924447.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uTGUOEg0-1668606531896)(assets/1657607036319.png)]

2.3、修改partition-hash-int.txt配置文件

表示areacode为110就存到第一个数据节点,为120就存到第二个数据节点

2.4、重启 Mycat使配置生效

使用mycat创建订单归属区域信息表:

CREATE TABLE orders_ware_info ( 
	`id` INT AUTO_INCREMENT comment '编号', 
	`order_id` INT comment '订单编号', 
	`address` VARCHAR(200) comment '地址', 
	`areacode` VARCHAR(20) comment '区域编号', 
	PRIMARY KEY(id) 
); 

插入数据:

INSERT INTO ORDERS_WARE_INFO(id, order_id,address,areacode) VALUES (1,1,'北京','110'); 
INSERT INTO ORDERS_WARE_INFO(id, order_id,address,areacode) VALUES (2,2,'天津','120'); 

在这里插入图片描述

通过数据库直接查询:

spdb_pzex:

在这里插入图片描述

spdb_portal_wechat:
在这里插入图片描述

3、范围约定

​ 此分片适用于,提前规划好分片字段某个范围属于哪个分片。

3.1、修改schema.xml配置文件

在这里插入图片描述

上面定义以及所存储的数据节点分片规则

3.2、修改rule.xml配置文件

在这里插入图片描述

3.3、修改autopartition-long.txt配置文件

在这里插入图片描述

3.4、重启 Mycat使配置生效

在这里插入图片描述

在mycat中创建支付信息表payment_info:

CREATE TABLE payment_info( 
	`id` INT AUTO_INCREMENT comment '编号', 
	`order_id` INT comment '订单编号', 
	`payment_status` INT comment '支付状态', 
	PRIMARY KEY(id)
); 

插入数据:

INSERT INTO PAYMENT_INFO (id,order_id,payment_status) VALUES (1,101,0);
INSERT INTO PAYMENT_INFO (id,order_id,payment_status) VALUES (2,102,1);
INSERT INTO PAYMENT_INFO (id,order_id,payment_status) VALUES (3,103,0);
INSERT INTO PAYMENT_INFO (id,order_id,payment_status) VALUES (4,104,1); 

在这里插入图片描述

分别查看两个host数据节点的数据:

spdb_pzex:
在这里插入图片描述
spdb_portal_wechat:
在这里插入图片描述

4、按日期(天)分片

此规则为按天分片。设定时间格式、范围

4.1、修改schema.xml配置文件

在这里插入图片描述

4.2、修改rule.xml配置文件

在这里插入图片描述

需要自定义一个分片函数shardingByDate:

在这里插入图片描述

4.3、重启 Mycat使配置生效重启

在这里插入图片描述

在mycat中创建用户信息表login_info:

CREATE TABLE login_info( 
	`id` INT AUTO_INCREMENT comment '编号', 
	`user_id` INT comment '用户编号', 
	`login_date` date comment '登录日期', 
	PRIMARY KEY(id)
); 

插入数据:

INSERT INTO LOGIN_INFO(id,user_id,login_date) VALUES (1,101,'2019-01-01');
INSERT INTO LOGIN_INFO(id,user_id,login_date) VALUES (2,102,'2019-01-02');
INSERT INTO LOGIN_INFO(id,user_id,login_date) VALUES (3,103,'2019-01-03');
INSERT INTO LOGIN_INFO(id,user_id,login_date) VALUES (4,104,'2019-01-04');
INSERT INTO LOGIN_INFO(id,user_id,login_date) VALUES (5,103,'2019-01-05');
INSERT INTO LOGIN_INFO(id,user_id,login_date) VALUES (6,104,'2019-01-06'); 

在这里插入图片描述

分别查看两个host数据节点的数据:

spdb_pzex:
在这里插入图片描述

spdb_portal_wechat:
> [)(assets/1657608068820.png)]

二、mycat高可用

https://blog.csdn.net/K_520_W/article/details/123781475

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

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

相关文章

Delphi Enterprise具有强大视觉设计功能

Delphi Enterprise具有强大视觉设计功能 Delphi可帮助您使用Object Pascal为Windows、Mac、Mobile、IoT和Linux构建和更新数据丰富、超连接、可视化的应用程序。Delphi Enterprise适用于构建客户端/服务器或多层应用程序、REST服务等的开发团队。 Delphi功能 单一代码库-用更少…

小程序在线客服完整实现

1、先注册公众号》小程序(需实名认证) 2、开发》测试》上传》审核发布》发布》使用 3、公众号(订阅号或服务号)与小程序(此为在线客服)通过同一主体绑定可以打通调用 建议 内测完成后再上传。如果多次上传demo会处罚的。 添加客服人员列表(授权)可以电脑、手机端均…

(免费分享)springboot论坛bbs系统

源码获取:关注文末gongzhonghao,输入010领取下载链接 开发工具:IDEA 数据库mysql5.7 技术:springbootjpashiroredislayui 前台截图: 后台截图: package com.qxczh.admin.service.impl;impor…

云南美食介绍 简单静态HTML网页作品 美食餐饮网站设计与实现 学生美食网站模板

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

A puma at large

New words and expressions puma n. 美洲狮 spot v. 看出,发现 evidence n. 证据 accumulate v. 积累,积聚 oblige v. 使……感到必须 hunt n. 追猎;寻找 blackberry n. 黑莓 Pumas are large, cat-like animals which are found in America. When reports came i…

点击化学PEG试剂巯基吡啶-PEG-叠氮,OPSS-PEG-azide,OPSS-PEG-N3

点击化学PEG试剂OPSS-PEG-azide(OPSS-PEG-N3 )化学试剂其中文名为巯基吡啶-聚乙二醇-叠氮,它所属分类为Azide PEG Orthopyridyl disulfide (OPSS) PEG。 其分子量均可定制,有:2K 巯基吡啶-PEG-叠氮、5k OPSS-PEG-N3、…

TCP/IP协议、UDP协议及网络基础概念

网络程序设计编写的是与其他计算机进行通信的程序。Java已经将网络程序所需要的东西封装成不同的类,用户只要创建这些类的对象,使用相应的方法,即使不具备有关的网络知识,也可以编写出高质量的网络通信程序。 1.局域网与因特网 …

如何快速实现根因分析/业务大盘

Ideas Worth Spreading 写在前面的话 特别感谢 感谢在最早开发鱼骨图带领我前进的技术负责人-佳哥(总监)。他一丝不苟的技术态度、严密的逻辑和高要求(这里大家都懂的),让我成长。这里是他在语雀的博客,其…

(new online judge)1322蓝桥杯2017初赛 包子凑数

P1322 - [蓝桥杯2017初赛]包子凑数 - New Online Judge 题目分两步:(1)判断结果是否为INF;(2)如果不是INF,统计数量。考点是“数论gcd简单DP”。 1. 什么时候答案不是INF 什么时候答案不是INF…

ADSP21489之CCES开发笔记(六)

一、仿真调试CCES代码 1、导入21489的Demo代码 2、修改设计SS4SH存储代码,如红框部分 3、搭配USBi调试,修改如下代码部分 oSSnConfig.bSkipInitialDownload 0; //usbi调试时,设置为0,默认为1 oCommConfig.nSelectSPI SELECT_SP…

英文Essay写作中存在哪些门道?

刚进入英国学校学习的小伙伴,每次放假都要赶Essay。那么什么是Essay呢?Essay怎么写呢?今天我们就来讲讲Essay中的门道。 A little partner who has just entered a British school must catch up with Essay every holiday.So what is Essay?…

入门:树莓派装系统、亮机,无需外接显示器键盘鼠标(保姆级教程)

借鉴了:https://blog.csdn.net/qq_24211837/article/details/120255311 1.官网下载树莓派系统 https://www.raspberrypi.org/software/operating-systems/ 安装后页面还是比较柔和的 2.格式化SD卡 首次入门,还是先学习前辈的方法进行操作 下载格式…

如何自定义代码生成器(下)

4.2 编码 4.2.1 常量类 package freemarker.constant;public class TemplateConstant {//实体类模板public static final String entityTemplate "templates/Entity.ftl";//Mapper模板public static final String mapperTemplate "templates/Mapper.ftl&quo…

k8s教程(12)-pod 全自动调度

文章目录01 引言02 Deployment & RC2.1 功能2.2 举例03 文末01 引言 声明:本文为《Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)》的读书笔记 在前面的博客《k8s教程(11)-pod调度概述》&…

【2022秋线上作业-第5次-第11-13周】选择题

2-1 下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是:B 解析: 后序遍历dbca 所以d前驱为null,d后继为b,c没有孩子,前驱为b,后继为a,a有左右孩子。…

拓扑排序板子练习

目录 一、前言 二、拓扑排序板子 三、题目:拓扑顺序 1、上链接 2、基本思路 3、代码 (1)C(AC) (2)python(AC) 四、题目:可达性统计 1、上链接 2、…

C++线程创建的方式和使用

进程与线程 进程 简单的可以认为是一个程序执行的过程。进程就是活跃的程序,在内存中运行,占用系统的资源。线程 线程也叫轻量级进程,通常一个进程包含若干个线程。线程可以利用进程所拥有的资源。在引入线程的操作系统中,通常都…

关于软件文档写作

关于软件文档写作目录概述需求:设计思路实现思路分析1.业务逻辑2.代码表达3.形式归纳4.方式和工具参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better resul…

JS模块化—CJSAMDCMDES6-前端面试知识点查漏补缺

本文从以时间为轴从以下几个方面进行总结JS模块化。从无模块化 > IIFE > CJS > AMD > CMD > ES6 > webpack这几个阶段进行分析。 历史 幼年期:无模块化 方式 需要在页面中加载不同的js,用于动画,组件,格式化…

【软件测试】一个边界值事故,领导leader心里苦季度奖金没了还被罚3K......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 项目组长&#xff1…