分布式数据库分片方式之导出分片

Posted 左直拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式数据库分片方式之导出分片相关的知识,希望对你有一定的参考价值。

没有按照自己的属性进行分片,而是根据关联关系的属性进行分片。

导出分片,又叫导出水平分片,是分布式数据库四种分片方式之一。分布式数据库的4种分片方式分别为:
1)水平分片
2)垂直分片
3)混合分片
4)导出分片

分片,按照我的理解,就是将完整的数据,分割成若干部分,分开存储。它跟分布式数据库中的各个数据保持一致的数据节点不是同一个概念。可以简单理解为,各个数据节点,数据最终会保持一致,即大家都是一样的。而分片,是每个数据节点里的数据,会分割成若干部分,东一块,西一块,但对外部而言,是一个整体。正如分布式数据库,那么多节点,一笔数据写进来,从外部看,根本不知道它内部存储到哪里去了,它就是一个整体。所以说,分布式数据库有分片透明性,位置透明性,和局部数据模型透明性。

其实在关系型数据库,也有分区分表的做法,跟分片类似。

水平分片和垂直分片好理解,水平就是按行分,垂直就是按列分。混合就是先水平分然后再垂直分,或者先垂直再水平。

唯独是导出分片是啥?

▍导出水平分片(Derived horizontal fragmentation)

一个关系的分片不是基于关系本身的属性,而是根据另一个与其有关联的关系的属性来划分。

怎么这么拗口?看例子比较容易明白:



像关系SC,是一个学生选修课表,里面有属性学号、课程号、成绩。它没有用这些属性来分片,而是根据学号关联学生表,然后用学生的性别来分片。“一个关系的分片不是基于关系本身的属性,而是根据另一个与其有关联的关系的属性来划分”,导出分片,是这么回事。

以上是关于分布式数据库分片方式之导出分片的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb集群架构之分片架构

干货浅谈分布式数据库中间件之分库分表

带着问题学习分布式系统之数据分片

单机mongodb数据库怎么导入分片集群中

#yyds干货盘点# ElasticSearch第二弹之分片原理

ElasticSearch 内部原理之分布式文档存储