全局表

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

  1.   变动不频繁
  2.   数据量总体变化不大
  3.   数据规模不大,很少有超过数十万条记录。   

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

  1.    全局表的插入、更新操作会实时在所有节点上执行,保持各个分片的数据一致性
  2.    全局表的查询操作,只从一个节点获取
  3.     全局表可以跟任何一个表进行 JOIN 操作

全局表配置(配置所有可能用到节点)

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

全局表说明
 1、准对Select操作,mycat会随机现在一个节点输出结果内容;
    2、准对Insert-Update-Delete操作,Mycat会操作所有节点

E-R分片表

也称为父子表,主外键关联表;处理存在2种请求对应关系。

1、父表的分片字段是子表的外键字段:

  这种情况下,父表通过分片字段查询能很快定位到数据库的位置提高查询性能;子表通过父表ID也能很快定位到分片服务器数据库地址;

<table name="ORDER1" primaryKey="ID" dataNode="dn1,dn2" rule="mod-long">
<childTable name="ORDER_DETAIL" primaryKey="ID" joinKey="ORDER_ID" parentKey="ID" />
</table>

2、父表的分片字段不是子表的外键字段:

这种情况下,父表通过分片字段查询能很快定位到数据库的位置提高查询性能;子表通过父表ID查询时,Mycat将遍历所有节点数据,实现数据查询;

<table name="ORDER2" primaryKey="ID" dataNode="dn1,dn2" rule="province-str">
<childTable name="ORDER_DETAIL2" primaryKey="ID" joinKey="ORDER_ID" parentKey="ID" />
</table>

MyCat全局表和ER--笔记(三)的更多相关文章

  1. mycat 全局表

    全局表的作用 在分片的情况下,当业务表因为规模而进行分片以后,业务表与这些附属的字典表之间的关联,就成了比较棘手的问题,考虑到字典表具有以下几个特性: 变动不频繁 数据量总体变化不大 数据规模不大,很 ...

  2. mycat读写分离+垂直切分+水平切分+er分片+全局表 测试

    原文http://blog.163.com/bigoceanwu@126/blog/static/172718064201683031639683/ 读写分离:利用最基础的mysql主从复制,事务性的 ...

  3. mycat操作MySQL第一篇:全局表

    1.安装mycat,点击bin下面startup_nowrap.bat启动 2.客户端连接mycat:server.xml里面的 <!--连接mycat用户名和密码.数据库--> < ...

  4. Mycat 全局系列号

    标签:utf8 概述 本篇文章介绍mycat怎样在分库分表的情况下保证主键的全局唯一方法,接下来就来分析三种方法各自的优缺点. 配置 文件方式获取 1.修改server配置文件 vim server. ...

  5. Mycat 全局系列号(转载)

    概述 本篇文章介绍mycat怎样在分库分表的情况下保证主键的全局唯一方法,接下来就来分析三种方法各自的优缺点. 配置 文件方式获取 1.修改server配置文件 vim server.xml < ...

  6. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  7. Mastering Web Application Development with AngularJS 读书笔记(三)

    第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...

  8. 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

    本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...

  9. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

随机推荐

  1. SQL server 行转列 列转行

    1.简单案例 create database Hang go use Hang create table Students ( Name varchar(50), Kemu varchar(50), ...

  2. 介绍一款自动给添加不同浏览器CSS3前缀的插件~Autoprefixer(附其他前端开发插件)

    正文 自动给CSS文件添加不同浏览器的CSS3前缀:Autoprefixer 安装 只需兼容主流浏览器 正常情况使用:(在书写完的CSS样式文件中,按F1,选择Autoprefixer CSS) 这时 ...

  3. 【转载】汇编调试程序Debug使用

    https://blog.csdn.net/Notzuonotdied/article/details/70888205

  4. 半导体制造、Fab以及Silicon Processing的基本知识

    本文转载自微信公众号 - 手机技术资讯 , 链接 https://mp.weixin.qq.com/s/602xLKXcIw4ccTnhvDP1xw

  5. Spring ElasticsearchTemplate 经纬度按距离排序

    es实体,用 @GeoPointField 注解,值为:中间逗号隔开,如 29.477000,119.278536(经度, 维度) @Document(indexName = "v_inte ...

  6. DS博客作业02—线性表

    1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2.谈谈你对线性表的认识及学习体会. 线性表最重要的就是对指针的操作,插入删除都是看指针的指向进行操作以达到改变节点,以达到目的的.对于上学 ...

  7. idea如何快速查看接口的实现类

    查找接口的实现类: IDEA 风格 ctrl + alt +B 在按F2查看详细文档注解 查看类或接口的继承关系: ctrl + h

  8. Vagrant上运行SITL

    打算给Tower加个手机遥控的功能,用运行于vagrant sitl来联合调试,在公司的网络条件很好的情况下没出任何错,都是根据http://ardupilot.org/dev/docs/settin ...

  9. Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)

    一.如何用Python开发一个简单的Webservice 利用python的cgi编程,可以传入参数将结果输出. 定义需要编码以及需要引用的模块 #conding=utf-8 #修正中文乱码 impo ...

  10. php获取脚本执行的参数

    在看PHP文档到预定义变量时碰到了$argc和$argv,顺手记录下 getopt()从命令行参数列表中获取选项 $arg = getopt('d:n:'); //只接收d n之后的参数 $num = ...