Database State Tree Branching via Write-Allocate Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges in efficiently creating, querying, and comparing alternative states while maintaining time-travel properties and long transaction capabilities, particularly in creative authoring applications, due to resource-intensive re-building of data structures and high maintenance costs.
Innovation Solution
A computer-implemented method for creating a tree of database states by recovering an identified state, applying logged write events, and creating a new branch with a reference to the identified state, using a mapping table and descriptors to manage physical and logical page addresses, allowing branching capabilities at the storage layer without affecting existing data structures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If data structures are re-built for each alternative state to enable version control and time-travel capabilities, then the capability to create and query alternative states is improved, but computing resources and memory usage increase significantly
Solution Approach 1:
The patent uses write-allocate buffering where modified pages are copied to a buffer instead of immediately re-building entire data structures. This allows alternative states to be created by capturing page modifications in buffers, reducing the computational overhead while maintaining the ability to reconstruct past states.
Solution Approach 2:
The patent segments the database into pages and tracks modifications at the page level rather than re-building entire data structures. By dividing the database into manageable pages and using append-only logging for page modifications, the system enables efficient state recovery without the computational cost of reconstructing complete data structures.
2Loss of information
If the database stores complete history of all modifications to enable time-travel and audit capabilities, then the ability to access past states is improved, but storage space and maintenance costs increase
Solution Approach 1:
The patent extracts only the necessary modification information (page images and write events) into an append-only log, rather than storing complete database states. This selective extraction captures the essential history needed for time-travel capabilities while minimizing storage requirements by omitting redundant data.
Solution Approach 2:
The patent uses an append-only log structure where old log entries are discarded and new modifications are recovered by applying write events to base states. This approach enables history storage with minimal space by reusing base states and only preserving the incremental changes needed to reconstruct alternative states.
3Adaptability or versatility
If the database system implements branching capabilities at the data structure layer, then version control functionality is improved, but device complexity and development costs increase
Solution Approach 1:
The patent implements branching at the storage layer (append-only log) rather than the data structure layer. This dimensional shift moves version control functionality from the logical data structure level to the physical storage level, allowing multiple branches to share the same underlying data structures while maintaining version control through log-based state recovery.
Data Source
AI summary
A computer implemented method for creating a tree of database states including accessing a database having at least one branch of database states, receiving at the database one or more write events that are applied to an identified state of the database, recovering the identified database state from the database, creating a new branch by creating a new patch as alternative state to the identified database state with a reference to the identified state.


