<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">

                <!-- auto sharding by id (long) -->

                <table name="file_data_lct_1" dataNode="dn1,dn2" primaryKey="id"  rule="sharding-by-murmur" autoIncrement="true" needAddLimit="true"/>

                <table name="mycat_sequence" primaryKey="name" dataNode="dn1" />

        </schema>

        <!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743"

                /> -->

        <dataNode name="dn1" dataHost="localhost1" database="resource" />

        <dataNode name="dn2" dataHost="localhost2" database="crmdktest2"/>

        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="3"

                           writeType="0"   dbType="MySQL" dbDriver="native"
switchType="1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                <!-- can have multi write hosts -->

                <writeHost host="hostM1" url="10.100.19.210:3306" user="public"

                                   password="123456">

                        <readHost host="hostS1" url="10.100.19.210:3306" user="public" password="123456" />

                        <readHost host="hostS2" url="10.100.19.210:3306" user="public" password="123456" />

                        <readHost host="hostS3" url="10.100.19.210:3306" user="public" password="123456" />

                </writeHost>

                <writeHost host="hostM2" url="10.100.19.210:3306" user="public"

                           password="123456">

                        <readHost host="hostS4" url="10.100.19.210:3306" user="public" password="123456" />

                </writeHost>

        </dataHost>

          <dataHost name="localhost2" maxCon="1000" minCon="10" balance="3"

                           writeType="0"   dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                

                <!-- can have multi write hosts -->

                <writeHost host="hostM3" url="10.100.13.238:3306" user="crmdk_admin"

                                   password="crmdkadmin123!@#">

                        <readHost host="hostS5" url="10.100.13.238:3306" user="crmdk_admin" password="crmdkadmin123!@#" />

                </writeHost>

        </dataHost>

</mycat:schema>






可以这样理解:


mysql 的主从架构大家都知道,一主多从,或者多主多从,  这里的主 对应的就是 writehost ,从就是readhost,

主从之间数据一致,只是读写分离,mycat 认为这就是一个datahost.


那为什么mycat 配置那么多datahost?

做数据分片使用,那数据分片是什么,不同datahost 上的 对应的数据源的数据内容(同一张表)是不同的。

datahost1 是一套主从架构
datahost2 是一套主从架构。
两套架构里都有同一张表。

数据存储切分依靠的是mycat的算法,插入一条数据的时候,mycat 首先会判断应该存储到那个datanode上,然后再具体的库里执行语句。




datahost 上可以有多个库(ip ,用户名 密码 )
datanode 就是datahost 上的一个库。


总结 :
datahost   就是一个一台机器的数据库的实例的ip  用户名密码连接看到的内容。
datanode 就是 datahost 上的一个用户创建的具体的database.
writehost  就是对datahost 的写权限。
readhost 就是对datahost 的读权限。



使用mycat的条件:
 1)多个datahost 多数据切分 (部署多个数据库实例,难度较大,成本高) 
2)同一个datahost 下创建多个datanode 做数据切分(成本低)










mycat 之datanode datahost writehost readhost 区别(转)的更多相关文章

  1. 分布式mysql中间件(mycat)

    1.   MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上.这时集中式数据库系统表现出它的不足: (1)集中 ...

  2. Mycat对MySQL进行垂直水平分表分库,读写分离

    1.   MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上.这时集中式数据库系统表现出它的不足: (1)集中 ...

  3. Mycat实现Mysql主从读写分离

    一.概述 关于Mycat的原理网上有很多,这里不再详述,对于我来说Mycat的功能主要有如下几种: 1.Mysql主从的读写分离 2.Mysql大表分片 3.其他数据库例如Oracle,MSSQL,D ...

  4. 关系型数据的分布式处理系统MyCAT(转载)

      ——概述和基本使用教程 日期:2014/12/24 文:阿蜜果 1.   MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建 ...

  5. Mycat 读写分离+分库分表

    上次进过GTID复制的学习记录,已经搭建好了主从复制的服务器,现在利用现有的主从复制环境,加上正在研究的Mycat,实现了主流分布式数据库的测试 Mycat就不用多介绍了,可以实现很多分布式数据库的功 ...

  6. 二、mycat基础知识、基本配置

    官网 http://www.mycat.io/ Mycat 概要介绍 https://github.com/MyCATApache/Mycat-Server 入门指南 https://github.c ...

  7. MYCAT 配置(转)

     server.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mycat:se ...

  8. Mycat 配置

    前言 Mycat 是一个数据库分库分表中间件 MyCAT 是作为通用代理设计的,后端是以 Mysql协议 和 JDBC 的方式连接数据库,可以支持 Oracle.DB2.SQL Server . mo ...

  9. 1020关于MYCAT的安装和使用总结

    第一部分 读写分离配置 转自:http://www.51testing.com/html/34/369434-3686088.html 使用Mycat 做简单的读写分离(一) 原本使用的是amoeba ...

随机推荐

  1. ajax跨域过程

  2. JavaScript-原型&原型链&原型继承

    JavaScript-原型&原型链&原型继承 JavaScript的原型是一个重要的知识点,很多扩展应用都是从原型出发的.要说原型,我们先简单说一下函数创建过程.上一篇文章用闭包实现类 ...

  3. 【Uva 1629】 Cake slicing

    [Link]: [Description] 给你一个n*m的格子; 然后里面零零散散地放着葡萄 让你把它切成若干个小矩形方格 使得每个小矩形方格都恰好包含有一个葡萄. 要求切的长度最短; 问最短的切割 ...

  4. PIM-DM协议内核触发机制及协议执行机制记录

    PIM-DM和PIM-SM是组播路由ASM(随意信源组播)中的两种不同模式.相对PIM-SM的组播注冊机制.PIM-DM的扩散机制显得更加粗犷. 一.PIM-DM无需向内核注冊pimreg虚接口. 可 ...

  5. 给Linux添加新用户,新建用户,新建帐号

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...

  6. Python: PS 图像调整--对比度调整

    本文用 Python 实现 PS 里的图像调整–对比度调整.具体的算法原理如下: (1).nRGB = RGB + (RGB - Threshold) * Contrast / 255 公式中,nRG ...

  7. Springboot优化

    https://www.cnblogs.com/chen110xi/p/6198481.html

  8. tcpdump重要笔记

    无关痛痒的參数就不写了.仅仅说一些我觉得值得注意的. 1 tcpdump參数 -s 最早在公司旧机器上截包时发现总是不完整,于是知道了这个參数,之后就一直用-s0了.近期一次在家里,忘记输入-s发现包 ...

  9. 【剑指Offer学习】【面试题49:把字符串转换成整数】

    题目:实现一个函数stringToInt,实现把字符串转换成整数这个功能.不能使用atoi或者其它相似的库函数. 题目解析 这看起来是非常easy的题目,实现基本功能 ,大部分人都能用10行之内的代码 ...

  10. ubuntu-文件管理、编辑

    1.创建单层文件夹 mkdir test 如果你想要创建多层文件夹,这时候你需要添加一个参数-p mkdir -p t1/t2/t3 如果你不加-p的话,它会提示说找不到目录 2.分屏查看内容 mor ...