Key-Value Store Selective Journaling Reduces Write Amplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional key-value store (KVS) systems using journaling for data consistency and durability often result in increased write operations and inefficient bandwidth utilization due to the need to write data multiple times to persistent storage, leading to sub-optimal input/output operations.
Innovation Solution
Implementing a KVS with a selective journaling approach that uses adaptive data structures and metadata logs to store key-value pairs, allowing for reduced write operations by avoiding redundant data writes and optimizing storage formats based on criteria such as data size and observed I/O patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional journaling is used to ensure data consistency and durability, then data reliability is improved, but write operations increase and bandwidth utilization deteriorates
Solution Approach 1:
The patent applies local quality by differentiating the treatment of key data and value data. Key data is always written to the journal for consistency, while value data is selectively written based on size criteria. This localized differentiation resolves the contradiction by applying journaling only where necessary for reliability (keys) and avoiding it where it causes inefficiency (large values).
Solution Approach 2:
The patent changes the parameter of data storage location based on data characteristics. Small values are stored in the journal (metadata log) while large values are stored separately. This parameter change resolves the contradiction by adapting the storage strategy to the specific data parameters, reducing unnecessary writes of large values while maintaining consistency for keys and small values.
2Reliability
If data is written multiple times to persistent storage for journaling, then data durability is improved, but I/O operations increase and efficiency deteriorates
Solution Approach 1:
The patent applies local quality by differentiating the treatment of key data and value data. Key data is always written to the journal for consistency, while value data is selectively written based on size criteria. This localized differentiation resolves the contradiction by applying journaling only where necessary for reliability (keys) and avoiding it where it causes inefficiency (large values).
Solution Approach 2:
The patent applies partial action by writing only a subset of data (keys and small values) to the journal, rather than all data. This partial approach resolves the contradiction by achieving sufficient durability through selective journaling while avoiding the excessive I/O overhead of writing all data multiple times.
3Productivity
If selective journaling with adaptive data structures is used, then write amplification is reduced, but system complexity increases
Solution Approach 1:
The patent changes the parameter of data storage location based on data characteristics. Small values are stored in the journal (metadata log) while large values are stored separately. This parameter change resolves the contradiction by adapting the storage strategy to the specific data parameters, reducing unnecessary writes of large values while maintaining consistency for keys and small values.
Solution Approach 2:
The patent segments data storage into two distinct locations: the journal (metadata log) for keys and small values, and separate storage for large values. This segmentation resolves the contradiction by allowing optimized handling of different data types, reducing write amplification for large values while maintaining consistency for keys.
Data Source
AI summary
Aspects of the present disclosure provide for operations of a key-value store (KVS) that uses journaling with storage of data (e.g., key data or value data of a key-value pair) in different types of data storage objects (e.g., data storage formats) selected based on one or more criteria.


