Database Cursor Metadata Binding via Proxy Object
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face inefficiencies due to metadata duplication and bottlenecks when changing metadata characteristics, leading to cursor invalidation and recompilation requirements.
Innovation Solution
Implementing a proxy object that allows cursors to bind to the latest version of metadata at execution time, eliminating the need for recompilation and enabling concurrent execution without invalidating existing cursors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cursors store private copies of metadata inside themselves, then each cursor has independent access to metadata, but memory resources are wasted due to duplication
Solution Approach 1:
The patent merges the metadata storage from multiple cursors into a single shared external metadata structure. Instead of each cursor having its own private copy, all cursors reference the same external metadata, eliminating duplication while maintaining access capability.
Solution Approach 2:
The patent introduces an intermediary mechanism (external metadata structure with version control) that mediates between cursors and the actual metadata. This intermediary allows cursors to access metadata without storing it privately, using version identifiers to ensure consistency.
2Stability of the object's composition
If cursors are placed on hold when metadata changes, then metadata consistency is maintained, but a bottleneck effect reduces system efficiency
Solution Approach 1:
The patent makes the cursor-metadata binding dynamic by introducing version identifiers. Cursors are bound to specific metadata versions, allowing metadata to change while cursors continue executing with their bound version. This dynamic versioning eliminates the need to hold cursors during metadata changes.
Solution Approach 2:
The patent segments the cursor execution process by binding each cursor to a specific metadata version. This segmentation allows different cursors to operate with different metadata versions simultaneously, enabling parallel execution without bottlenecks while maintaining consistency within each cursor's context.
3Productivity
If versioned metadata is implemented, then cursors can run concurrently using the same metadata, but any metadata change invalidates cursors requiring recompilation
Solution Approach 1:
The patent performs preliminary binding of cursors to metadata versions at cursor creation time. By pre-establishing the cursor-metadata version relationship, the system prepares for future metadata changes without affecting existing cursors, eliminating the need for recompilation when metadata evolves.
Solution Approach 2:
The patent changes the parameter binding approach from direct reference to versioned reference. Instead of cursors directly referencing metadata that may change, they reference metadata with specific version parameters, allowing metadata to evolve without invalidating existing cursors that maintain their original version bindings.
4Quantity of substance
If shared metadata is stored external to cursors, then memory resources are saved, but complications arise when one cursor changes metadata while another uses it
Solution Approach 1:
The patent introduces dynamic version control to the shared external metadata structure. Each metadata change creates a new version, and cursors are bound to specific versions. This dynamic versioning system maintains safety by ensuring cursors always reference a stable, bound version while allowing the external metadata to evolve.
Solution Approach 2:
The patent creates a logical copy mechanism through versioning. When metadata changes, a new version is created rather than modifying the existing one in place. Cursors continue referencing their bound version, effectively copying the metadata state at binding time, while new cursors can bind to updated versions.
Data Source
AI summary
A method and apparatus for changing versioned metadata without invalidating cursors is provided. Cursors may be linked to the appropriate version of metadata at execution time as opposed to compilation time, meaning that they do not require recompilation to link to a new version of metadata. A database system maintains compiled code implementing a plan with respect to data items in a data storage space. The compiled code may have been generated in response to receiving a request to perform an operation that may be implemented using the plan. A version of metadata is also maintained. The metadata describes characteristics of the data storage space implicated by the plan. The compiled code is executed. The step of execution comprises binding the compiled code to the version of metadata. A proxy object referenced in the compiled code may facilitate the binding of the compiled code to the appropriate version of metadata.


