当前位置: 首页 > news >正文

Mycat搭建分库分表

  • 分库分表解决的问题
    • 单表数据量过大带来的性能和存储容量的限制的问题:
      • 索引效率下降
      • 读写瓶颈
      • 存储容量限制
      • 事务性能问题
  • 分库分表架构

  • 再搭建一对主从复制节点,3307主节点,3309从节点
  • 配置数据源 dw1 , dr1,
  • 创建集群c1
  • 创建逻辑库  CREATE DATABASE clusterdb;
  • 创建广播表 BROADCAST代表广播表,意味着所有的数据源都会创建这张表

CREATE TABLE clusterdb.`dict_type` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',

`type_id` int(11) NOT NULL COMMENT '业务类型id',

`name` varchar(255) DEFAULT NULL COMMENT '名称',

PRIMARY KEY (`id`) USING BTREE

)ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='类型字典' BROADCAST;

  • 添加数据

INSERT INTO clusterdb.`dict_type` VALUES (1,1,'发货单');

INSERT INTO clusterdb.`dict_type` VALUES (2,2,'收货单');

INSERT INTO clusterdb.`dict_type` VALUES (3,3,'出库单');

INSERT INTO clusterdb.`dict_type` VALUES (4,4,'入库单');

INSERT INTO clusterdb.`dict_type` VALUES (5,5,'出室单');

INSERT INTO clusterdb.`dict_type` VALUES (6,6,'入室单');

  • 验证一下是否每个数据节点都有数据
  • 创建分片库表
    • 分库分片表就是把数据按照特定的算法,分配到不同的数据库表中,达到降低单表数据量过大导致的效率问题。

CREATE TABLE clusterdb.orders(

 `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',

 `order_type` int(11) NOT NULL COMMENT '业务类型id',

 `order_name` varchar(255) DEFAULT NULL COMMENT '名称',

      PRIMARY KEY (`id`) USING BTREE

    )ENGINE=INNODB DEFAULT CHARSET=utf8

    dbpartition BY mod_hash(id) tbpartition BY mod_hash(id)

    tbpartitions 1 dbpartitions 2;

 

INSERT into clusterdb.orders values(1,1,'test1');

INSERT into clusterdb.orders values(2,1,'test2');

INSERT into clusterdb.orders values(3,2,'test3');

INSERT into clusterdb.orders values(4,3,'test4');

INSERT into clusterdb.orders values(5,3,'test5');

INSERT into clusterdb.orders values(6,4,'test6');

INSERT into clusterdb.orders values(7,5,'test7');

INSERT into clusterdb.orders values(8,5,'test8');

INSERT into clusterdb.orders values(9,5,'test9');

INSERT into clusterdb.orders values(10,5,'test10');

 

  • 验证结果
    • 在mycat进行查询 select * from clusterdb.orders; 能得到全部的结果

  • 主节点1,自动创建clusterdb_0  orders_0  并且存放的是id偶数的数据

  • 主节点2,自动创建clusterdb_1  orders_1 并且存放的id是基数的数据

  • 到这里分库分表就成功啦~~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PyRFC 适用于 Python 的异步、非阻塞 SAP NetWeaver RFC SDK 绑定
  • 2012年408考研真题-数据结构
  • 重生之我在Java世界------学单例设计模式
  • 智谱清影 -CogVideoX-2b-部署与使用,带你揭秘生成6s视频的极致体验!
  • 正点原子阿尔法ARM开发板-IMX6ULL(七)——BSP工程管理实验(补:链接文件和.s文件)
  • 阅信云CTO向永清:35岁不应该成为技术职业发展的瓶颈|OceanBase 《DB大咖说》
  • 比backtrader还简单的量化回测框架,bt的使用方式以及示例
  • SpringCache
  • 简明linux系统编程--共享内存消息队列信号量
  • Chainlit集成Langchain并使用通义千问实现和数据库交互的网页对话应用增强扩展(text2sql)
  • 8.sklearn-模型保存
  • VirtualBox7.1.0 安装 Ubuntu22.04.5 虚拟机
  • @JsonFormat 和 @DateTimeFormat 的区别
  • JavaScript substring() 方法
  • Redisson 分布式锁的使用详解
  • 收藏网友的 源程序下载网
  • android 一些 utils
  • Apache Spark Streaming 使用实例
  • Fabric架构演变之路
  • java2019面试题北京
  • Mysql优化
  • supervisor 永不挂掉的进程 安装以及使用
  • v-if和v-for连用出现的问题
  • 聊聊redis的数据结构的应用
  • 如何使用 JavaScript 解析 URL
  • 什么是Javascript函数节流?
  • 树莓派 - 使用须知
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 硬币翻转问题,区间操作
  • Java总结 - String - 这篇请使劲喷我
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • ###STL(标准模板库)
  • #define与typedef区别
  • (3)(3.5) 遥测无线电区域条例
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (八十八)VFL语言初步 - 实现布局
  • (二)PySpark3:SparkSQL编程
  • (二)构建dubbo分布式平台-平台功能导图
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (六)Hibernate的二级缓存
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (一)appium-desktop定位元素原理
  • (一)Neo4j下载安装以及初次使用
  • (转)Google的Objective-C编码规范
  • (转)Linux下编译安装log4cxx
  • .“空心村”成因分析及解决对策122344
  • .NET/C#⾯试题汇总系列:⾯向对象
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据