Key-Value Storage Chunk Organization for Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current key-value storage systems, particularly those using log-structured merge trees, face inefficiencies due to temporal data organization, leading to fragmentation, high write amplification, and increased read and write operations, which are costly in terms of performance and disk wear, especially in workloads with high spatial locality.

Innovation Solution

A persistent key-value storage system that organizes data in chunks representing contiguous key ranges, caching popular chunks in RAM for optimized read and write paths, and employing chunk-based organization with partial sorting and indexing to reduce disk compactions and write amplification, while providing strong consistency guarantees and fast recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is organized temporally in LSM trees, then write performance is improved, but spatial locality is lost causing key range fragmentation

Engineering Contradiction:
Improvewrite performanceVSAvoidkey range fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent divides the key space into fixed-size ranges (e.g., 0x00-0xFF, 0x100-0x1FF) and assigns each range to a dedicated file. This segmentation by key range rather than temporal grouping ensures that all keys within a range remain together in the same file, eliminating fragmentation while maintaining write performance through sequential file organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from temporal organization (LSM trees grouping by write time) to spatial organization (grouping by key range). This dimensional change in data organization allows the system to optimize for both write performance and spatial locality simultaneously, as keys with similar prefixes are naturally grouped together in the same file ranges.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Stability of the object's composition

If compaction is performed to merge files, then data is grouped by keys, but performance degrades and write amplification increases

Engineering Contradiction:
Improvekey groupingVSAvoidcompaction performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent performs key-range-based organization as a preliminary action during the initial write phase, rather than requiring subsequent compaction operations. By organizing data into key-range files from the beginning, the system achieves key grouping without the need for performance-degrading compaction merges, thus eliminating write amplification while maintaining stable key grouping.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all keys are flushed to disk periodically, then persistence is assured, but in-memory availability is reduced and write amplification increases

Engineering Contradiction:
Improvepersistence guaranteeVSAvoidin-memory read performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different quality characteristics to different parts of the system: hot keys (frequently accessed) are kept in memory within their key-range files, while cold keys are stored on disk. This local quality differentiation allows the system to provide persistence for all keys while maintaining fast in-memory access for popular keys, avoiding the need to flush all keys to disk periodically.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic key-range file management where files are loaded into memory on-demand based on access patterns and key ranges being queried. This dynamic approach allows the system to maintain persistence guarantees while adapting memory usage to actual workload requirements, preventing unnecessary flushing of keys that are not currently being accessed.

Inventive Principle:
Principle #15Dynamics

4Ease of operation

If LSM trees are used for key-value storage, then simple programming model is provided, but range scan operations are inefficient

Engineering Contradiction:
Improveprogramming simplicityVSAvoidrange scan performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the key space into fixed-size ranges and organizes data accordingly, which naturally optimizes range scan operations. When a range scan is requested, the system can directly identify which key-range files contain the relevant keys and read them sequentially, providing efficient range scans while maintaining the simplicity of a key-value storage interface.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11748357B2Method and system for searching a key-value storage
Publication Date: 2023.09.05 VERIZON PATENT & LICENSING INC
  • US11748357B2 patent drawing
  • US11748357B2 patent drawing
  • US11748357B2 patent drawing

AI summary

The present teaching relates to a method, system and programming for recovering a data storage. In response to a failure of the data storage, a last checkpointed version is retrieved from a checkpoint file created previously for the failure of the data storage. A recovery table is updated to indicate the last checkpointed version and an incarnation number indicating a number of previous recovery of the data storage. The data storage is recovered based on the recovery table. A version number of the last checkpointed version is reset to zero upon a successful recovery of the data storage. The incarnation number is incremented.