|
知识路径: > 数据库主流应用技术 > 数据库主流应用技术 > 数据库主流应用技术 > 分布式数据库 > 分布式数据库的体系结构 >
|
考试要求:了解
相关知识点:12个
|
|
|
|
数据分片也称数据分割,是分布式数据库的特征之一。在一个分布式数据库中,全局数据库是由各个局部数据库逻辑组合而成。相反,各个局部数据库则是全局数据库的某种逻辑分割而得。实际上这也是应用的需要,以关系型模型为例来说明,一个关系描述了某些数据之间的逻辑相关性,但是,因为不同节点的用户对该关系中元组的需求可能是不同的。例如,某个关系中的元组是与地区有关,西安的用户需要的是有关“西安”的那些元组,而广州的用户需要的是有关“广州”的那些元组。这就需要对这个关系进行分割,分割后得到的各部分元组称为该关系的逻辑片段,并被存放在相应的节点上。这样处理将各得其所,可以大大减少网络上的通信,从而提高系统的响应效率。
|
|
|
在分布式数据库中,数据存放的单位是数据的逻辑片段。对关系型数据库来说,一个数据的逻辑片段是关系的一部分。数据分片有三种基本方法,它们是通过关系代数的基本运算来实现的:
|
|
|
(1)水平分片:按特定条件把全局关系的所有元组,分划成若干个互不相交的子集,每一子集为全局关系的一个逻辑片段。它们通过对全局关系施加选择运算得到,并可通过对这些片段执行合并操作来恢复该全局关系。
|
|
|
(2)垂直分片:把全局关系的属性分成若干子集,对全局关系作投影运算得到这些子集。要求全局关系的每一属性至少映射到一个垂直片段中,且每一个垂直片段都包含该全局关系的关键字。这样,通过对这些片段执行连接操作可以恢复该全局关系。
|
|
|
(3)水平和垂直结合的分片:以上两种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片。
|
|
|
不论采用哪一种方法进行数据分片,都要遵守如下规则:
|
|
|
(1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许有属于全局关系却不属于任何一个片段的数据存在。
|
|
|
(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重新构造该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用连接操作重构全局关系。
|
|
|
(3)不相交条件:要求一个全局关系被分割后所得的各数据片段互不重叠或只包含关键字重叠。
|
|
|