<?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. HDU——T 1556 Color the ball

    http://acm.hdu.edu.cn/showproblem.php?pid=1556 Time Limit: 9000/3000 MS (Java/Others)    Memory Limi ...

  2. cogs 1430. [UVa 11300]分金币

    1430. [UVa 11300]分金币 ★☆   输入文件:Wealth.in   输出文件:Wealth.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 圆桌旁坐着 ...

  3. RHEL7.1安装VNC

    1.安装包 yum install vnc* -y 2.创建password vncserver 3.创建參数文件 [root@single ~]# cp /lib/systemd/system/vn ...

  4. 如日中天的Uber到底是用什么开发语言做到的?

    Uber将正在蓬勃发展的Go和Node.js这两个语言很好的融合到其系统上面来.Uber的站点可靠性project师Tom Croucher在近期于波兰举行的Node.js互动大会上详尽的对该公司所用 ...

  5. 44.Node.js Express 框架--web框架

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html Express 简介 Express 是一个简洁而灵活的 node.js W ...

  6. 10.cocos2dx C++为Sprite添加触摸事件监听器

    1.首先头文件定义事件处理的函数原型 private: bool onTouchBegan(Touch* tTouch,Event* eEvent);//手指按下事件 void onTouchMove ...

  7. Spark Tachyon的命令行使用

    Tachyon命令行使用 Tachyon接口说明 接口操作示例 copyFromLocal copyToLocal ls和lsr count cat mkdir.rm.rmr和touch pin和un ...

  8. readonly&&declare&&unset &&export&&env环境变量

    readonly命令用于定义只读shell变量和shell函数.readonly命令的选项-p可以输出显示系统中所有定义的只读变量. 选项 -f:定义只读函数: -a:定义只读数组变量: -p:显示系 ...

  9. sqlserver 运行正則表達式,调用c# 函数、代码

    --1.新建SqlServerExt项目,编写 C# 方法生成 SqlServerExt.dll 文件 using System; using System.Data; using System.Da ...

  10. ajax同时请求多个服务器?

    这是地址, http://119.29.23.116/info.php 大侠你怎么看 想利用雅黑探针检测服务器的在线状态,但对AJAX多个请求不会操作 header('Access-Control-A ...