Dual-Referenced Database Objects Using OID Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems lack efficient mechanisms for integrating dual referencing of objects using both primary keys and object identifiers (OIDs), which hinders parallel access, modification, and consistent views of dual-referenced objects, leading to inefficient memory usage and management.

Innovation Solution

Implementing a system that creates master objects associated with primary keys and delta objects associated with changes, using a delta object map to manage parallel access and modification, and employing locks to synchronize transactions, allowing for efficient dual referencing and reduced memory usage by using OIDs instead of full primary keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If primary keys are used to reference database objects, then object identification and retrieval are enabled, but memory usage increases significantly due to the large size of primary keys

Engineering Contradiction:
Improveobject identificationVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The reference system is segmented into two parts: a compact OID (object identifier) for efficient storage and transmission, and a mapping mechanism that resolves OIDs to full primary keys when needed. This segmentation allows the system to maintain reliable object identification while significantly reducing the space required for references.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mapping structure is introduced between the compact OID and the full primary key. This intermediary enables the system to store and transmit small OID values while maintaining the ability to retrieve complete primary key information through the mapping, thus resolving the contradiction between reference efficiency and identification reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If dual referencing (primary key and OID) is implemented, then flexible object access is enabled, but conventional systems lack mechanisms for parallel access and consistent views

Engineering Contradiction:
Improveobject access flexibilityVSAvoidaccess mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system dynamically manages references by allowing transactions to switch between OID-based and primary key-based access modes as needed. The mapping structure is dynamically updated and maintained, enabling flexible parallel access where some operations use OIDs for efficiency while others use primary keys for compatibility, without requiring a complete redesign of the access mechanism.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If OIDs are used instead of full primary keys, then memory usage is reduced, but mechanisms for managing parallel transactions and consistent views are needed

Engineering Contradiction:
Improvememory usageVSAvoidtransaction management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system creates and maintains a copy of the mapping information in memory that mirrors the persistent storage structure. This in-memory copy enables fast lookup and consistent view provisioning for parallel transactions without requiring complex distributed locking or synchronization protocols, thus reducing transaction management complexity while maintaining data consistency.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8180745B2Persistent object references to parallel database containers
Publication Date: 2012.05.15 SAP SE
  • US8180745B2 patent drawing
  • US8180745B2 patent drawing
  • US8180745B2 patent drawing

AI summary

A system to create a first database object in the object-oriented database, the first database object associated with a primary key, a first group ID m, and a first delta ID m, associate a first pointer with the first database object, create a second database object in the object-oriented database, the second database object associated with the primary key, a second group ID n, and a second delta ID n, associate a second pointer with the second database object, and create a third database object in the object-oriented database, the third database object associated with the primary key, the first group ID m, and a third delta ID m+1. The third database object is associated with a change to the first database object.