存储策略面向对象数据模型与传统的数据模型对象分析

存储策略面向对象数据模型与传统的数据模型对象分析

ID:22270687

大小:55.50 KB

页数:9页

时间:2018-10-28

存储策略面向对象数据模型与传统的数据模型对象分析_第1页
存储策略面向对象数据模型与传统的数据模型对象分析_第2页
存储策略面向对象数据模型与传统的数据模型对象分析_第3页
存储策略面向对象数据模型与传统的数据模型对象分析_第4页
存储策略面向对象数据模型与传统的数据模型对象分析_第5页
资源描述:

《存储策略面向对象数据模型与传统的数据模型对象分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、存储策略面向对象数据模型与传统的数据模型对象分析----信息管理论文-->存储策略面向对象数据模型与传统的数据模型对象分析关键词 面象对象数据库存储管理存储存取聚族Abstract ThispaperdescussesstoragetacticsandaccesstacticsandclusteringtacticsofstoragemanagementinOODBMSinformationmanagement/,analyzessometypicalOODBMS,givesaappraisal.Keyanagement,Storage

2、,Access,Clustering1 引言随着数据库技术深入广泛的应用,2 存储策略面向对象数据模型与传统的数据模型不同,因而在存储策略上也有很大差异。面向对象的存储策略必须适合于面向对象的有关语义概念,如对象,类层次结构等。2.1 对象的存储策略在外存储器中,对复杂对象的有效存储和检索提出了很高的要求,如要求对象和类型与它们的结构变化无关,希望支持对象状态的自由格式划分等。对象的存储策略有两种:二元关系和基于对象的方式。二元关系的存储方式是把对象的属性划分为连续的字段,并在一个二元关系中存储字段。二元关系包含对象代理和字段值,每一属

3、性都有它们自己的二元关系。这种方法的缺点是在物理级带来了很大的冗余,而且对象也被分割成了多个二元关系。在基于对象的存储方式中,每个对象的所有字段在磁盘上都组织在一起。这一存储格式包含了对象的代理、存储长度、字段数、字段名矢量、值偏移矢量和值,其中,字段数用显式值来存储,值偏移矢量给出了每个字段的起始位置,并作为记录的起始偏移。这种方法处理复杂对象有一些困难,由于长度上变化很大,当对象影射到固定长度页面的常规文件系统时,就会出现问题。例如,EXODUS就是采用的这种存储策略。就数据检索来说,二元关系优于关联访问,但要查询所有对象类型的特定

4、实例字段或几个字段,却不如基于对象的方式好,因为这些字段是分散的,而以整体方式存储更易于查询。在实际应用中,很难说哪一种方式更为优越,或许采取混合的方法是最合适的。2.2 类层次结构的存储策略在类层次结构中,类可以继承上层类的特征和操作,并要清楚地判定继承的特征值是在什么地方进行物理存储的,继承的操作代码总是以类描述的方式存储,而在类描述中,要定义操作,存储特征值。类层次结构的存储策略有三种。一种最简便的策略是,直接在物理存储级实现这一层次逻辑,这种策略简化了单个实例检索,但会导致数据的过多复制。如要修改一个实例,需要把这种变化传递到整

5、个分层结构,实例的插入和删除也需要多重操作。另一种较适合的策略是,实例尽可能地存储在实例所属类中的最低层。这种方式不涉及复制,因而避免了前述的操作问题。对实例的任何修改仅影响该实例的一个具体值,不必把变化传递到整个分层结构。由于所有的相关特征值与各自的实例存储在一起,单个实例的检索也直接了当。但在检索类实例时,必须判断是否是所要求的包含所有子类的实例,对于那些仅为该类显式存储的实例,由于所有子类实例不再存储在父类中,以前的存储结构将不再有效。如,ORION就采用了这种策略。还有一种可选的策略是,对类的每个实例的对象指针连同那些该类特定的

6、特征值都被存储起来,即,继承的特征值尽可能地存储在分层结构的上层,在下层不再复制。这种方式与关系模型中采用的策略相似。由于只有对象指针被复制,因而总体存储最小。但为了从各个类中重新构造实例,实例检索需要多重连接操作。修改规定类实例的一个特征值也只需一次写操作,因为这个特征值仅存储了一次,然而为了发现适合修改的实例,可能需要访问分层结构中别的实例。由于实例分割在多个类中,实例的删除和插入也需要进行多重操作。如IRIS就采用了这种策略。3 存取策略面向对象的应用一般都是通过对象标识符来存取对象。如果对象驻留在内存,应用系统能够直接存取它们,

7、如果对象没驻留在内容,就必须从外存中检索出来,但如果数据库很庞大,为了提高检索效率,必须采用一些方法来将对象的对象标识符快速地映射到它们的物理地址上。传统的数据库一般采用散列(Hash)算法或B+树索引的方法。这两种方法同样可以应用在面向对象数据库中,但面向对象数据模型更引入了一些新的方法:类层次索引 在关系数据库中,索引是与单个关系的一个属性或属性组相联系,当提出一个查询时,只涉及到一个特定关系或需要被搜索的关系的一个属性,而在面象对象数据库中,类继承了它的上层类的特性,类和所有它的直接或间接子类共享相同的属性,因此,查询的范围可以是

8、类层次结构。要支持这样的查询需要两种索引:一种是类自身的,即所谓单类索引,一种是对以该类为根的类层次索引。如果没有为一个类层次建立类层次索引,那么我们就必须分别为该类层次中每个类的公共属性建立一个单独的索引

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。