对于数据水平分片,主要考虑数据的逻辑性质,所以我们会考虑分片的谓词、数据的统计性质,例如应用访问数据片的频度。 考虑一个关系EMP(雇员)的水平分布。......
2023-10-28
1978年,Enslow在其文章“What is a Distributed Data Processing System”中讨论了透明性(transparency)问题。文中提到分布式数据处理涉及系统透明性的问题,即将系统透明性定义为“permitting services to be requested by name only.The server does not have to be identified”。
透明性其实早就涉及,例如:常用的分层结构就是为了满足透明性;网络的OSI七层结构就是为了将每层的实现细节隐藏起来,上层只清楚下一层的服务,并为下一层提供接口。这样保证了实现的多样性和充分的灵活性。
分布透明性,即数据分布对用户是透明的,而用户在分布式数据系统面前如同处于非分布式系统一样,感觉不到分布。其实,计算机网络和分布式系统的最大差别就是,后者满足分布透明性,而前者恰恰相反。
所以下面先讨论分布式数据库的分层模型(体系结构),即遵循分布透明性的模型,再讨论DDBMS的一般形态。
分布式数据库系统的参考模型如图2.10所示。
图2.10 分布式数据库系统的参考模型
1.全局模式
全局模式(global schema)也称(模型)顶层(top level),因为这是最贴近用户的层面。这也是用户看到的数据库的一个全局模式。在这里定义所有的数据,如同完全没有分布一样。在这个层面上所定义的是全局关系(global relations)。
2.分片模式
每个全局关系可以分解成几个不相交的部分——(数据)片(fragments)。有多种方法可以用来实施这种分解。将从全局关系到分片的映射称为分片模式(fragmentation schema)。数据分片是分布式数据库特有的现象,后面章节会详细讨论。
3.分配模式
数据片是全局关系的逻辑分割,物理上,数据片可以放在网络的一个节点上,也可以放在几个节点上。(www.chuimin.cn)
分配模式(allocation schema)可以定义数据片放在哪个(些)节点上。分配模式可以决定分布式数据库是冗余的还是非冗余的。
所谓冗余,是指为1∶n的情况,即一个数据片有多个副本。所谓非冗余,是指为1∶1的情况,即一个数据片只有一个副本。
数据分片是分布式数据库遇到的一个特殊问题。从关系数据模式定义来看,一个关系是全局性的,如跨国公司的雇员信息,但是这些数据又分别存储在该公司遍布全球的分布式数据库里,每个局部数据库里都有本地雇员的信息。这些信息具有相同的数据结构、语义结构,等等。数据分片的主要功能就是解决这类问题。
数据分片可以分成多个类别。典型的数据分片有数据水平分片、数据垂直分片和数据混合分片。数据分片必须遵循一些规则,这些规则可以归纳为以下三条。
●完整性:全局关系的所有数据都必须映射到数据片上。
●可重构性:数据片始终可以重构成全局关系。
●不相交性:数据片应当是不相交的,从而使得在分配层中可以显式控制数据的复制。
完整性是指分片不应丢失数据,即一个关系的所有数据都应有自己的归属,总会落在一个数据片里。可重构性是指数据分片后能重组成原形。不相交性是希望数据片的归属是唯一的。
图2.11是数据分片的示意图。这里,一个关系(如图2.11所示的左部)可以逻辑上分成若干数据片,如图2.11中的中间部分,称为虚关系。物理上,它们会分派到不同的网络节点(如图2.11所示的右部),允许冗余存在,目的是使用方便、高效和保证可靠性。右部我们称之为物理关系。
图2.11 数据分片示意图
下面讨论主要的数据分片形态。
有关分布式数据库技术的文章
对于数据水平分片,主要考虑数据的逻辑性质,所以我们会考虑分片的谓词、数据的统计性质,例如应用访问数据片的频度。 考虑一个关系EMP(雇员)的水平分布。......
2023-10-28
Oracle公司的OPS环境比一般的(单实例)Oracle环境复杂得多。不同结构下的OPS的实施略有不同。图14.23OPS体系结构为了利用这些特性,需要专业人员合适的设计以及恰当的手工配置。下面对有些关键问题进行简单讨论,讨论中会涉及一些Oracle系统专用的术语,读者可参阅Oracle公司的相关文档。DLM与Oracle进程一起工作并相互通信。DLM相关的初始化参数在每个实例的SGA[12]中分配必要的结构以处理消息机制、封锁与实例相关的Cache管理,这样就为各种Oracle进程操纵提供了基础。......
2023-10-28
本节考虑数据片Ri的垂直分片问题。下面考察这种垂直分片导致的影响。令A 2为一个应用集合,这类应用在r节点上发布,但同时涉及Rs和Rt上的属性,这类应用需要两个额外的远程访问。现在考虑一个数据片Ri,如果把它分成两个数据片Rs和Rt,并分别分配到节点s和t上。集聚要求重新考虑垂直分片的应用分组。A 2包含以前在r上的更新应用,它们希望更新R的属性,而此时需要同时存取Rs和Rt。可以通过估算前述的表达式Bit来计算收益。......
2023-10-28
与数据库安全系统打交道的人员可以分为两类:数据库管理员和普通用户。DBA要对安全负责,所以他(们)要创建授权规则,定义谁可以使用哪部分数据,以及如何使用。图13.1数据库安全系统由图13.1可知,数据库安全系统里存放着授权规则,在每次数据库存取时强制满足其规则。从完整性方面考虑,数据库安全可以包含以下两方面。1)设计阶段的数据库安全在设计阶段必须关注数据库的安全性。DBA负责处理整个数据库系统里的用户账号和口令。......
2023-10-28
有数据水平分片,自然就有数据垂直分片。实际上,投影操作就是一种数据垂直分割操作。第一个垂直数据片由原关系的如下属性构成:sno,name,birthday,birthplace,sex第二个垂直数据片由原关系的如下属性构成:sno,dno,class,credit,entry_date下面分析这种分片是否满足我们要求的规则。......
2023-10-28
在网格计算中,DCE指的是一种工业技术标准,用于建立和管理分布式计算机系统中的计算和数据交换。在第一代分布计算技术的推动下,90年代初出现了从集中计算模式向分布式客户/服务器计算模式转移的热潮。与第一代的分布计算技术相比,分布对象技术的实质性进步使面向对象技术能够在异构的网格计算环境中得以全面、彻底和方便实施,从而有效地控制系统的开发、管理和维护的复杂性。......
2023-10-28
查询优化的本地化分层聚焦于将查询转换成本地数据。一个全局关系可以通过应用重构规则来重构,从而导出一个关系代数程序,其操作数是数据片,这个程序称为本地化程序。将分布查询分配到节点上的自然办法是生成查询,让每个全局关系使用本地化程序来代替。这可以看成是在一棵分布查询的算符树上将叶子用与本地化程序对应的子树来替代。数据水平分片关系的连接也可以简化。......
2023-10-28
要在并行数据库系统中查找数据,首先要确定数据由哪些处理器管理,放在哪里,这就是数据定位。因为希望在数据所在处执行程序,所以数据定位就是判断系统性能好坏的一个重要因素。有round-robin分割、哈希分割和归类分割三种基本分割方法,如图14.14所示。图14.14不同的分割模式round-robin分割是最简单的一种分割方法,它能保证均匀分配。图14.15Teradata DBC的数据分布由图14.15可知,Teradata DBC采用的策略是将数据均匀地分布到其存储设备中。......
2023-10-28
相关推荐