Copy-on-Write B-Tree Storage Transaction Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems for key-value stores require resource-intensive and time-consuming repeated write operations due to the use of physical logs, which also necessitate complex processes for ensuring atomicity and durability.
Innovation Solution
A data storage system employing a copy-on-write (COW) Bε-tree data structure with a write-ahead log, super blocks, and allocation bitmaps to manage transactions and ensure durability without the need for a physical log, allowing for efficient execution of storage operations and recovery from failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a physical log is used to record changes to the on-disk data structure, then atomicity and durability can be ensured, but repeated write operations become resource intensive and time consuming
Solution Approach 1:
The patent uses copy-on-write (COW) B-trees where modifications are made by creating new versions of nodes rather than updating existing ones. This eliminates the need for physical logging of changes while maintaining atomicity and durability through version control mechanisms.
Solution Approach 2:
The patent pre-allocates and prepares data structures in memory before committing them to disk. By organizing data in COW B-trees with pre-defined node structures and using buffer pools to stage changes, the system reduces the need for repeated write operations while ensuring durability.
2Reliability
If a physical log is used to manage operations on the on-disk data structure, then atomicity and durability can be ensured, but the processes become complex
Solution Approach 1:
The COW B-tree structure inherently provides atomicity through versioning - each modification creates a new version of the affected node. This eliminates the need for complex logging and recovery processes while ensuring durability, as the previous version remains intact until the new version is successfully committed.
Solution Approach 2:
The COW B-tree structure self-manages atomicity and durability through its version control mechanism. When a node is modified, the system automatically creates a new version and maintains references to both old and new versions, eliminating the need for external logging systems and complex recovery procedures.
Data Source
AI summary
Data storage system and method for managing transaction requests to the data storage system utilizes a write ahead log to write transaction requests received at the data storage system during a current checkpoint generation. After the transaction requests in the write ahead log are applied to a copy-on-write (COW) storage data structure stored in a storage system, one of first and second allocation bitmaps is updated to reflect changes in the COW storage data structure with respect to allocation of storage space in the storage system, and one of first and second super blocks is updated with references to central nodes of the COW storage data structure. After the allocation bitmap and the super block have been updated, an end indicator for the current checkpoint generation is written in the write ahead log to indicate that processing of the transaction requests for the current checkpoint generation has been completed.


