Hybrid Key-Value Store Splitting Records for Latency and Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data storage systems face challenges in efficiently storing and retrieving key-value pairs, particularly due to limitations in in-memory storage for large values and the need for fault tolerance and low latency, which existing technologies have not adequately addressed.

Innovation Solution

A hybrid key-value store is implemented, dividing key-value pairs into smaller records for in-memory storage and larger records for secondary storage, with a version counter and index structure to manage versions and support multi-version concurrency control, while a garbage collector optimizes memory usage by removing obsolete data records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If key-value pairs are stored entirely in in-memory storage, then retrieval latency is reduced, but storage capacity is limited and cost increases

Engineering Contradiction:
Improveretrieval latencyVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the key-value store into two distinct components: a hot data tier in in-memory storage for frequently accessed small key-value pairs, and a cold data tier in persistent storage for less frequently accessed or larger data. This segmentation allows the system to optimize for both speed and capacity by placing different types of data in appropriate storage media.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the storage architecture by adding persistent storage below in-memory storage. This creates a multi-layered storage hierarchy that extends the effective storage capacity beyond what single in-memory systems can provide, while maintaining fast access paths for critical data.

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

2Speed

If large key-value pairs are stored in in-memory storage, then retrieval speed is improved, but memory usage increases and cost increases

Engineering Contradiction:
Improveretrieval speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by storing only the portions of key-value pairs that are frequently accessed (hot data) in in-memory storage, while storing less frequently accessed portions (cold data) in persistent storage. This selective placement optimizes memory usage by keeping only essential data in expensive in-memory resources.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by storing only the necessary portion of large key-value pairs in in-memory storage - specifically, the metadata and frequently accessed segments - while storing the complete data in persistent storage. This partial in-memory storage provides sufficient performance benefit without the full cost of keeping entire large objects in memory.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If data is divided into multiple records, then storage efficiency is improved, but query complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidquery complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing metadata about divided key-value pairs, including information about which segments are stored where and how to reconstruct the complete value. This metadata is prepared in advance, so that during query execution, the system can efficiently retrieve and reassemble segments without complex real-time processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11188241B2Hybrid key-value store
Publication Date: 2021.11.30 SAP SE
  • US11188241B2 patent drawing
  • US11188241B2 patent drawing
  • US11188241B2 patent drawing

AI summary

A method for storing a key-value pair can include dividing the key-value pair into a first data record and a second data record. The first data record can include a key associated with the key-value pair. The second data record can include a portion of a value associated with the key-value pair. The second data record can be stored in a secondary data store based on a size of the second data record exceeding a threshold value. The first data record can be stored in an in-memory key-value store based on a size of the first data record not exceeding the threshold value. The first data record can include a reference to the second data record in the secondary data store. A query requiring the key-value pair can be executed by retrieving the first data record from the in-memory key-value store. Related systems and articles of manufacture are also provided.