18MyCat - 分片join(全局表)

简介: 18MyCat - 分片join(全局表)

一个真实的业务系统中,往往存在大量的类似字典表的表格,它们与业务表之间可能有关系,这种关系,可以理解为“标签”,而不应理解为通常的“主从关系”,这些表基本上很少变动,可以根据主键ID进行缓存,下面这张图说明了一个典型的“标签关系”图:

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

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

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

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

将字典表或者符合字典表特性的一些表定义为全局表,则从另外一个方面,很好的解决了数据JOIN的难题。通过全局表+基于E-R关系的分片策略,MyCAT可以满足80%以上的企业应用开发。

配置

全局表配置比较简单,不用写Rule规则,如下配置即可:

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

需要注意的是,全局表每个分片节点上都要有运行创建表的DDL语句。

目录
相关文章
|
人工智能 关系型数据库 MySQL
17MyCat - 分片join(join 的概述)
17MyCat - 分片join(join 的概述)
72 0
|
存储 SQL 缓存
27MyCat - 分片规则
27MyCat - 分片规则
43 0
|
SQL
20MyCat - 分片join(Share join)
20MyCat - 分片join(Share join)
49 0
|
存储
19MyCat - 分片join(ER Join)
19MyCat - 分片join(ER Join)
45 0
34MyCat - 分片规则(应用指定)
34MyCat - 分片规则(应用指定)
60 0
35MyCat - 分片规则(字符串hash解析)
35MyCat - 分片规则(字符串hash解析)
82 0
|
数据处理 数据库
08MyCat - 概念 - 分片节点、分片规则、全局序列号
08MyCat - 概念 - 分片节点、分片规则、全局序列号
54 0
28MyCat - 分片规则(分片枚举)
28MyCat - 分片规则(分片枚举)
35 0
31MyCat - 分片规则(按日期分片)
31MyCat - 分片规则(按日期分片)
49 0
|
SQL 中间件 关系型数据库
MyCat - 分片 - 垂直拆分 - 全局表配置 | 学习笔记
快速学习 MyCat - 分片 - 垂直拆分 - 全局表配置
MyCat - 分片 - 垂直拆分 - 全局表配置 | 学习笔记
下一篇
无影云桌面