07MyCat - 概念 - 逻辑表

简介: 07MyCat - 概念 - 逻辑表

逻辑表:

既然有逻辑库,那么就会有逻辑表,分布式数据库中,对应用来说,读写数据的表就是逻辑表。逻辑表,可以是数据切分后,分布在一个或多个分片库中,也可以不做数据切分,不分片,只有一个表构成。


分片表:

分片表,是指那些原有的很大数据的表,需要切分到多个数据库的表,这样,每个分片都有一部分数据,所有分片构成了完整的数据。

例如在mycat配置中的t_node就属于分片表,数据按照规则被分到dn1,dn2两个分片节点(dataNode)上。

<table name="t_node" primaryKey="vid" autoIncrement="true" dataNode="dn1,dn2" rule="rule1" />

非分片表:

一个数据库中并不是所有的表都很大,某些表是可以不用进行切分的,非分片是相对分片表来说的,就是那些不需要进行数据切分的表。

如下配置中t_node,只存在于分片节点(dataNode)dn1上。

<table name="t_node" primaryKey="vid" autoIncrement="true" dataNode="dn1" />

ER表:

关系型数据库时基于实体模型(Entity-Relationship Model)之上,通过其描述了真实世界中事物关系,MyCat中的ER表即是来源于此。根据这一思路,提出了基于E-R关系的数据分片策略,字表的记录与所关联的父表记录存放在同一个数据分片上,即字表依赖于父表,通过表分组(Table Group)保证数据join不会跨库操作。

表分组(Table Group)是解决跨分片数据join的一种很好的思路,也是数据切分规划的重要一条规划。


全局表:

一个真实的业务系统中,往往存在大量的类似字典表的表,这些表基本很少变动,字典表具有以下几个特性:

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

对于这类的表,在分片的情况下,当业务表因为规模而进行分片以后,业务表与这些附属的字典表之间的关系,就成为了比较棘手的问题,所以MyCat中通过数据冗余啦解决这类表的join,即所有的分片都有一份数据的拷贝,所有将字典表或者符合字典表特性的一些表定义为全局表。

数据冗余是解决跨分片数据join的一种很好的思路,也是数据划分规划的另外一条重要规则。

目录
相关文章
|
7月前
|
存储 关系型数据库 MySQL
MySQL 索引的10 个核心要点
MySQL 索引的10 个核心要点
46 0
|
7月前
|
存储 算法 关系型数据库
Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)
Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)
169 0
|
2月前
|
存储 关系型数据库 MySQL
【探究Mysql表中的增删查改(进阶篇)】
【探究Mysql表中的增删查改(进阶篇)】
60 7
|
7月前
|
SQL 存储 缓存
认真学习MySQL的逻辑架构
认真学习MySQL的逻辑架构
91 0
|
中间件 关系型数据库 数据库
06MyCat - 概念 - 逻辑库(schema)
06MyCat - 概念 - 逻辑库(schema)
44 0
06MyCat - 概念 - 逻辑库(schema)
|
SQL 关系型数据库 MySQL
万字解析帮你深入理解MySQL!!!(事物、视图和索引)
万字解析帮你深入理解MySQL!!!(事物、视图和索引)
106 0
|
SQL 存储 缓存
MySQL逻辑架构_逻辑架构的初步了解
MySQL逻辑架构_逻辑架构的初步了解
79 0
|
SQL 网络协议 关系型数据库
MySQL中有关系的表如何干掉?表的基础管理简单剖析。
MySQL中有关系的表如何干掉?表的基础管理简单剖析。
177 0
|
SQL 存储 安全
数据库的基础概念和代码例子(增删改查和其他操作-约束)(上)
什么是数据库? 答:存储数据的仓库,数据是有组织的进行存储(DataBase,简称DB)
179 0
数据库的基础概念和代码例子(增删改查和其他操作-约束)(上)
|
存储 数据库 数据格式
数据库的基础概念和代码例子(增删改查和其他操作-约束)(下)
什么是数据库? 答:存储数据的仓库,数据是有组织的进行存储(DataBase,简称DB)
121 0
数据库的基础概念和代码例子(增删改查和其他操作-约束)(下)