mycat分库读写分离原理

longtengdama longtengdama     2022-10-14     205

关键词:

mycat的配置文件schema.xml

<table name="employee" primaryKey="ID" dataNode="dn1,dn2"  rule="sharding-by-intfile" />

<dataNode name="dn1" dataHost="localhost1" database="db1" />
<dataNode name="dn2" dataHost="localhost2" database="db1" />

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="ip1:3003" user="root"
password="123">
<readHost host="hostS1" url="ip2:3009" user="root"
  password="123"/>
</writeHost>
</dataHost>

<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="ip3:3003" user="root"
password="123">
</writeHost>

       </dataHost>

 

 

翻译过来就是,表employee分布在两个节点dn1,dn2,分表规则sharding-by-intfile,实际中分到两个数据库中,可以是同一个服务器可以是不同.

而在节点中有可能再进一步分读写分离,主从或者主主复制的到不同服务器上的库,这就是mycat分库的流程。

总结来说:

1  、有多个dataHost,就说明有分库分表的设置

2  、在一个dataHost中有readHost在writeHost下,或者有多个writeHost,而且balance不等于0(0代表没有读写分离),就说明有读写分离的设置

3 、 在一个dataHost中有多个writeHost,这些writeHost之间必须是主主复制,这样才能保证及时两次写操作分别用不同的writeHost,也能保证两个Host数据一致的情况

参考:

 http://blog.csdn.net/benluobobo/article/details/51099607

mycat读写分离+分库分表+全局表(代码片段)

一、mycat读写分离Mycat的读写分离是建立在Mysq的主从复制的基础上的#修改配置文件schema.xml<?xmlversion="1.0"?><!DOCTYPEmycat:schemaSYSTEM"schema.dtd"><mycat:schemaxmlns:mycat="http://io.mycat/"><schemaname="TESTDB 查看详情

mycat读写分离+分库分表

...能,极大的减轻数据库服务器的压力,包括读写分离以及分库分表,本测试对这两种功能都进行了测试,进行相应记录本文以Mycat官方给出的例子来进行解释总结首先来看分库分表,分库分表一般来说都是一起说的,但是实 查看详情

mycat读写分离分库分表

MyCAT读写分离及分库分表第1章MyCAT分布式系统解决方案1.1分布式系统介绍:分布式系统特性:1.     透明性:a)       分布式系统对用户来说是透明的,一个分布式系统在用户面前的表现就像... 查看详情

mycat部署读写分离-分库,未分表

MySQL主从复制不在叙述,以下是mycat的部署过程:从GitHub上下载mycat,此本版是:Mycat-server-1.6.7.51·解压下载好的tar包:tar-xfMycat-server-1.6.7.5-release-20200422133810-linux.tar.gzcdmycatcpschema.xmlschema.xml.bakcpserver.xmlserver.xml. 查看详情

分表分库与分区的区别及拆分策略

...ing-Jdbc实现读写分离<<<Sharding-Jdbc的分片算法及分表分库<<<Sharding-Jdbc与MyCat区别 查看详情

mycat读写分离和分库分表配置

...议,前段用户可以把它当做一个Proxy。其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端mysql存储引擎里面。最新版本的Mycat不仅支持mysql,还可以支持MSSqlServer,Oracle,DB2等关系型数据库,而且还支持MongoDB这种N... 查看详情

mycat读写分离+分库分表

首先来看分库分表,分库分表一般来说都是一起说的,但是实际上分库跟分表是有区别的,简单来说有垂直和水平两种方式,垂直就是将表按字段进行拆分,水平就是将表按照数据分布来做行拆分。具体的肯定还是有区别,本文... 查看详情

mycat简单实现读写分离与分库分表(代码片段)

Mycat数据库读写分离环境:客户端1.13↓mycat中间件1.11↙↘master主机1.12slave主机1.10一、master主机(1.12)配置两台主机必须时间同步,可以部署ntp服务步骤:①配置my.cnf[[email protected]~]#vim/etc/my.cnf[mysqld]...server_id=1log_bin=mysql-bin[[e... 查看详情

springboot+mycat实现读写分离分库分表主从同步(代码片段)

 一、MyCat基本介绍一个用于MySQL读写分离和与数据切分的高可用中间件一个模拟为MySQLServer的超级数据库代理一个能平滑扩展支持1000亿大表的分布式数据库系统(普通单表1kw以下)一个可管控多种关系数据库的数据库路由器mycat来... 查看详情

mycat读写分离的简单实现(代码片段)

...据库的读写分离1.2.1.1、数据库读写分离图解1.2.2、数据库分库分表1.2.2.1、水平拆分(分库)1.2.2.2、垂直拆分(分表)1.3、Mycat的搭建1.3.1、前期准备1.3.2、搭建环境1.3.3、Mycat的安装启动关闭1.3 查看详情

mycat读写分离的简单实现(代码片段)

...据库的读写分离1.2.1.1、数据库读写分离图解1.2.2、数据库分库分表1.2.2.1、水平拆分(分库)1.2.2.2、垂直拆分(分表)1.3、Mycat的搭建1.3.1、前期准备1.3.2、搭建环境1.3.3、Mycat的安装启动关闭1.3 查看详情

mycat实现读写分离+分库分表+全局表(代码片段)

...yCat部署安装。本博文将展示mycat的如下功能:读写分离;分库分表;全局表;环境如下:系统IP主机名服务Centos7.5192.168.20.2mysql01MySQL5.7.24Centos7.5192.168.20.3mysql02MySQL5.7.24Centos7.5192.168.20.3mysql03MySQL5.7.24Centos7.5192.168.20.4mycatMycat注:主机... 查看详情

sharding-jdbc与mycat区别

参考技术A上一篇<<<Sharding-Jdbc的分片算法及分表分库下一篇>>>Mybatis的整体执行原理图解推荐阅读:<<<MySQL自带主从复制原理<<<MyCat实现读写分离与动态数据源切换<<<分表分库与分区的区别及拆分... 查看详情

(转)学会数据库读写分离分表分库——用mycat,这一篇就够了!

...据库的处理本身优化也是非常重要的。主从、热备、分表分库等都是系统发展迟早会遇到的技术问题问题。Mycat是一个广受好评的数据库中间件,已经在很多产品上进行使用了。希望通过这篇文章的介绍,能学会Mycat的使用。安 查看详情

mycat读写分离主从切换学习(转)

...s/50707487 Mycat读写分离、主从切换学习问题一:分表、分库的优缺点,以及分表无法成为主流分表方式:是在将一个大表,在一个db库内,分成多个分表,优点是:分开之后的表,仍然在一个库内,便于查看、管理。缺点:db... 查看详情

mycat学习笔记(代码片段)

...数据库,它的作用如下:读写分离数据分片:垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)多数据源整合2.Mycat原理Mycat拦截了用户发送过来的SQL语句,首先对SQL语句进行特定的分析:如分片分析、路由分... 查看详情

dockermysql5.7+mycat1.6.7.1主从复制读写分离+水平分库分表配置(代码片段)

...Mysql5.7+Mycat1.6.7.1主从复制读写分离的了,再写一篇分库分表的。读写分离为的是解决数据库读写压力,将读写操作分离,但是对于单表数据量大却无能为力了,单表数据量大,势必造成查询慢,查询费... 查看详情

mycat读写分离数据库分库分表中间件安装部署,及简单使用

...协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。MyCat发展到目前的版本,已经不是一个 查看详情