BTree Branch Table Data Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data management systems face complexity in updating and maintaining branched temporal indexes, requiring ordered timestamp insertion, duplicating data, and using reference counters, which complicates data retrieval and revert operations.
Innovation Solution
A method utilizing two data structures: a BTree for update operations and a branch table for revert operations, where the BTree can be updated out of timestamp order and revert operations are represented by branches, allowing for efficient data retrieval and revert without duplicating metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If branched temporal indexes are used to track data evolution, then data version retrieval capability is improved, but device complexity increases due to non-standard data structures and maintenance requirements
Solution Approach 1:
The patent segments the data management system into two distinct components: a standard B+ tree for storing data entries with timestamps, and a separate branch table for tracking branch creation operations. This segmentation allows each component to use simple, well-understood structures rather than a complex unified structure, resolving the contradiction between version retrieval capability and structural complexity.
Solution Approach 2:
The branch table acts as an intermediary structure that connects branch creation operations to the main data entries in the B+ tree. Instead of making the B+ tree itself complex to handle branches, the patent introduces this intermediary table that stores branch identifiers and timing information, simplifying the main data structure while enabling branch functionality.
2Loss of information
If branched temporal indexes are used to maintain data versions, then data evolution tracking is improved, but ease of operation deteriorates due to complex update procedures involving data and metadata duplication
Solution Approach 1:
By separating branch tracking metadata into a distinct branch table from the main data entries in the B+ tree, the patent eliminates the need to duplicate metadata within the main structure. Updates to branch information only require modifying the branch table, not the entire data structure, significantly simplifying update operations.
Solution Approach 2:
Instead of duplicating entire data structures or metadata to support branches, the patent uses reference copying where the branch table stores references (identifiers) to data entries. This allows multiple branches to reference the same underlying data without actual duplication, simplifying operations while maintaining version tracking capability.
3Reliability
If reference counters are used in branched temporal indexes, then data integrity is improved, but device complexity increases due to additional maintenance requirements
Solution Approach 1:
The patent extracts the complexity of reference counting and integrity maintenance from the core data structure by implementing these checks at the application layer or through simpler mechanisms. The branch table stores basic identifiers and timing information without embedded reference counters, reducing structural complexity while maintaining data integrity through alternative means.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A method for managing data, the method includes: providing a first data structure representative of insert or update operations to entries identified by keys and providing a second data structure representative of branch creation operations wherein the second data structure stores branch identifiers and branch timing information; receiving a request to lookup a version of data at a read timestamp; scanning the first and the second data structures to locate that version of data; and receiving a request to create a branch that starts by a version of data at a requested timestamp and updating the second data structure accordingly.