Bi-directional Version Data Chaining in Distributed Database Pages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database data versioning in distributed database systems leads to performance issues due to additional and redundant read operations against version data, double access to bitemporal tables, and synchronous input/output requirements, resulting in network overhead.
Innovation Solution
Chaining version data bi-directionally in a data page of a main table of an organized table (index organized table or heap organized table) within the distributed database, using pointers to previous or later versions, thereby avoiding redundant accesses and synchronous input/output operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database data versioning is implemented in a distributed database system, then version control and concurrency efficiency are improved, but performance deteriorates due to additional and redundant read operations against version data
Solution Approach 1:
The patent merges the main table and version data into a single unified structure. Version data is stored in the same data pages as the main table data, eliminating the need for separate version data storage and access paths. This integration allows the database system to treat main table data and version data uniformly, reducing the overhead of maintaining separate version data structures and eliminating redundant read operations.
Solution Approach 2:
The patent implements nesting by storing version data within the main table structure itself. Version data rows are inserted into the same data pages as the main table, with version data pointing back to the main table row. This nested arrangement allows version information to be contained within the existing table structure without requiring separate storage spaces, thereby reducing the number of disk I/O operations needed to access version data.
2Adaptability or versatility
If database data versioning is implemented, then collaborative sharing and editing are enabled, but network overhead increases due to synchronous input/output requirements
Solution Approach 1:
The patent applies preliminary action by pre-establishing the version data structure and pointers within the main table before actual data access occurs. Version data is stored in advance with pointers to main table rows, so when versioning operations are needed, the system can directly access pre-positioned data without requiring additional network communication or synchronous I/O operations. This advance preparation eliminates the need for repeated network round-trips during collaborative editing operations.
3Loss of information
If additional read operations are performed against version data, then version tracking is improved, but system performance deteriorates due to redundant accesses
Solution Approach 1:
The patent implements self-service by enabling the version data structure to maintain its own integrity and accessibility through self-contained pointers and references. Version data rows include pointers back to the main table rows, allowing the versioning system to automatically track and retrieve version information without requiring additional external read operations or system intervention. This self-maintaining structure eliminates redundant accesses by allowing direct navigation through the embedded pointers.
Data Source
AI summary
A computer-implemented method, system and computer program product for improving performance of a distributed database. A query is received to store version data in the distributed database. Upon receiving the query to store the version data, the version data is stored in a row of a data page of a main table of a heap organized table/index organized table of the distributed database, where the row of the data page of the main table of the heap organized table/index organized table of the distributed database contains a pointer pointing to a later/previous version of the version data if the later/previous version of the version data is stored in the data page thereby chaining version data bi-directionally.


