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

被折叠的 条评论
为什么被折叠?



