<?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. 关于servlet的web.xml映射

    1.原理 <servlet> <!-- servlet的名字,随便起个名,但和下面的servlet名一致 --> <servlet-name>hello</s ...

  2. Flex之柱状图实例

    Flex之柱状图实例 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns ...

  3. js中迭代的常用几种方法

    var arr = [1,3,2,5,3]; //forEach 两个参数,第一个为数组内容,第二个为数组下标arr.forEach(function(item,index) { console.lo ...

  4. 开发板ping得通本地,但是不能上网

    在3531D的开发板上面接入LAN7500的USB转以太网口,加载完驱动后. 然后开启eth1 查看一下ifconfig,发现没有ip,配置一下ip 直接ping本地发现可以ping得通,代表链路是连 ...

  5. Nginx安装与升级(包括虚拟主机)

    Nginx WEB服务器最主要就是各种模块的工作,模块从结构上分为核心模块.基础模块和第三方模块,其中三类模块分别如下: 核心模块:HTTP模块.EVENT模块和MAIL模块等: 基础模块:HTTP ...

  6. 小米开源便签Notes-源码研究(1)-导出功能整体思路

    NotesListActivity是入口Activity. 响应菜单事件,我的手机是"左键菜单".如果菜单项的ID是"R.id.menu_export_text" ...

  7. HDU 3911 Black And White

    Black And White Time Limit: 3000ms Memory Limit: 32768KB This problem will be judged on HDU. Origina ...

  8. hdu(2859)——Phalanx(dp)

    题意: 如今有一个n*n的矩阵,然后每一个格子中都有一个字母(大写或小写组成).然后询问你如今最大的对称子矩阵的边长是多少.注意这里的对角线是从左下角到右上角上去的. 思路: 这道题我自己写出了dp的 ...

  9. php安装zendDebug

    这次一定要写.这个zendDebug安装说不麻烦也简单,可是我却安装了非常久,就是自己粗心的问题.这个一定要解决呀. 言归正传,首先.去官网上下载zendDebug的安装文件.下载地址.TMD这个地址 ...

  10. es68对象的解构赋值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...