首页 理论教育分布式数据库技术-对象分组

分布式数据库技术-对象分组

【摘要】:为了提供恰当的对象存取,这些关系本质上可以将持久对象引导到物理分组。对象分组不太容易实现有两个原因。简单来说,如果给定一个类图,则可有三个基本的对象分组存储模型。然而,只有LOID允许对象的垂直分割和继承关系。主要困难是对象的父母被删除时,这个对象要重新分组。分布式系统中,DSM和NSM适合直接使用水平分割。

本质上,对象模型是概念性的,应当具有高度的物理数据独立性,以便提高程序员的效率。从概念模型映射到物理存储是经典的数据库问题。如前所述,在对象数据库管理系统中,型之间至少存在两种关系:子型(subtyping)和合成(composition)。为了提供恰当的对象存取,这些关系本质上可以将持久对象引导到物理分组(clustering)。对象分组(object clustering)按照公共性质指向物理容器(如磁盘区)中的对象组,例如,按照属性上的相同值或同一个对象的子对象(sub-objects)分组。这样可以快速存取分组好的对象。

对象分组不太容易实现有两个原因。首先,它和对象标识符实现不是正交的(即存在LOID和POID问题)。LOID虽然需要更多的开销(一个间接表),但能将类垂直分割。POID虽能导致更有效的直接对象存取,但需要每个对象包含所有继承的属性。其次,复杂对象的分组及组合关系会涉及更多关联,主要由于对象共享(一个对象可有多个父母)。

简单来说,如果给定一个类图,则可有三个基本的对象分组存储模型。

●分解存储模型(decomposition storage model,DSM):将每个对象类分割成二元关系(OID,attribute),因此它依赖于LOID。DSM的优点是简单。(www.chuimin.cn)

●规范存储模型(normalized storage model,NSM):将每个类存储成为单独的关系。可以用于LOID或POID。然而,只有LOID允许对象的垂直分割和继承关系。

●直接存储模型:能够基于组合关系将复杂对象按多重类分组(multi-class clustering)。这个模型泛化了层次和网状数据库,适合POID。这样可以本地存取对象,按良型存储模式来管理。主要困难是对象的父母被删除时,这个对象要重新分组(recluster)。

分布式系统中,DSM和NSM适合直接使用水平分割。DSM能提供灵活性,其性能的不利可以通过大的内存和缓存来补偿。