22、数据库系统中的对象管理与分布式架构

数据库系统中的对象管理与分布式架构

1 对象数据库的引用管理与指针优化

1.1 引用管理的三种方式

在对象数据库中,虚拟堆内的对象通过引用相互连接。引用管理有三种基本方式:
- 直接引用 :基于指针的直接引用使用物理内存地址进行直接寻址。在引用属性中存储被引用对象在主内存中的主内存地址(即指针),该指针对应常驻对象当前在主内存中占用的实际物理地址。当将非常驻对象加载到主内存时,必须将其精确加载到引用该加载对象的引用属性中包含的物理地址,这需要复杂的主内存管理,以避免使用相同的指针引用不同的对象。
- 间接引用 :引用属性包含虚拟内存地址。使用虚拟地址引入了一层间接性,因为它需要从虚拟地址映射到实际物理地址,并且需要在间接表中对指针进行适当管理。虚拟(以及物理)地址空间通常比持久对象标识符(OID)空间小很多,这可能会给对象的长期存储带来困难。
- 基于OID的引用 :在引用属性中存储被引用对象的OID。应用程序必须确保OID是永久且持久的。当遵循基于OID的引用时,数据库管理系统(DBMS)必须将OID映射到主内存地址。这需要在常驻对象表(ROT)中查找OID。当对象加载到主内存时,它可能驻留在ODMBS页面缓冲区(或应用程序的本地对象缓存)中的任意物理地址。查找机制必须将常驻对象的OID映射到其当前的物理内存地址,这种映射可以存储在由ODBMS维护的ROT中。

1.2 指针交换技术

当频繁遵循相同的基于OID的引用时,在ROT中进行表查找可能效率低下。为了提高性能,可以应用指针交换技术,即暂时将常驻对象内的O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值