zoukankan      html  css  js  c++  java
  • Mycat_全局表

    Mycat_全局表开发目的、使用场景:

    在分片的情况下,当业务表因为规模而进行分片以后,业务表与这些附属的字典表之间的关联,就成了比较棘手的问题,考虑到字典表具有以下几个特性:

        变动不频繁

        数据量总体变化不大

        数据规模不大,很少有超过数十万条记录。

    鉴于此,MyCAT 定义了一种特殊的表,称之为“全局表”,全局表具有以下特性:

        插入、更新操作会实时在所有节点上执行,保持各个分片的数据一致性

        查询操作,只从一个节点获取

        可以跟任何一个表进行 JOIN 操作

    MyCAT 可以满足 80%以上的企业应用开发。全局表有点类似于RAID 1,写的时候多份写入,读的时候从任意节点读取即可。

    Mycat全局表的配置

    全局表配置比较简单,不用写 Rule 规则,修改schema.xml即可。

    注意:全局表每个分片节点上都会运行创建表的 DDL 语句。

    Schema.xml

    <?xml version="1.0"?>

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

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

    <schema name="TESTDB"  checkSQLschema="true" sqlMaxLimit="100">

    <!--全局表设置,不需要设置分片格式-->

    <table name="t_test1" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3"   />

    </schema>

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

    <dataNode name="dn2" dataHost="localhost1" database="db2" />

    <dataNode name="dn3" dataHost="localhost1" database="db3" />

    <!--设置读写一体的数据库-->

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

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

    <heartbeat>select user()</heartbeat>

    <writeHost host="hostM1" url="localhost:3306" user="root"

       password="123456">

    </writeHost>

    </dataHost>

    </mycat:schema>

  • 相关阅读:
    点击按钮在表格的某一行下,在添加一行(HTML+JS)
    13
    12 stark组件之pop,按钮,url,页面
    11 stark组件之delete按钮、filter过滤
    解决 AttributeError: 'ForeignKey' object has no attribute 're'
    360面经
    4 django篇
    0- 26个面试经典问题回答
    如何学习??
    LeetCode
  • 原文地址:https://www.cnblogs.com/chensStudy/p/12611049.html
Copyright © 2011-2022 走看看