Aliased Key-Value Store Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional key-value store implementations lead to data duplication, increased processing requirements, and higher storage costs due to multiple key-value pairs being stored across different applications and services accessing the same underlying data set with different keys.

Innovation Solution

The system introduces aliased data retrieval by using a primary key and secondary keys, where a primary key is allocated an internal identifier, stored in a first table, and secondary keys create new key-value pairs with this identifier, allowing retrieval using either key, thus abstracting the key-value store into two data storage structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple key-value pairs are stored for the same data set with different keys for different services, then each service can access the data independently, but data duplication occurs and storage costs increase

Engineering Contradiction:
Improveservice independenceVSAvoiddata duplication
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system segments the key-value store into two distinct tables: a metadata table storing key-internal identifier mappings, and a data table storing internal identifier-data value mappings. This segmentation allows the same data to be accessed through multiple keys without duplicating the actual data values, resolving the contradiction between service independence and data duplication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an internal identifier as an intermediary between multiple service-specific keys and the underlying data values. This intermediary layer enables different services to access the same data through their own keys without creating data duplication, as all keys map to the same internal identifier which in turn maps to the single data value.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple key-value pairs are stored for the same data set, then different services can access data with different keys, but processing requirements and latency increase

Engineering Contradiction:
Improveservice independenceVSAvoiddata retrieval speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By segmenting the storage structure into metadata and data tables, the system enables optimized query processing. The metadata table can be efficiently searched for key-internal identifier mappings, and the data table can be efficiently searched for internal identifier-data value mappings, improving retrieval speed compared to searching through multiple duplicated key-value pairs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by pre-computing and storing the mapping between keys and internal identifiers in the metadata table. This pre-established mapping structure enables faster data retrieval, as the system can directly look up the internal identifier from the key without performing complex searches or computations at query time.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple key-value pairs are stored for the same data set, then different services can access data independently, but overall storage costs increase

Engineering Contradiction:
Improveservice independenceVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple service-specific key-value pairs that reference the same data into a single unified structure. Instead of storing separate key-value pairs for each service, the system merges them into a metadata table where multiple keys map to a shared internal identifier, which in turn maps to a single data value in the data table, eliminating redundant storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The internal identifier serves as a universal reference that multiple keys can point to, enabling a single data value to be accessed by multiple services through their respective keys. This multi-functional approach allows the same data storage space to serve multiple purposes and multiple services simultaneously, reducing overall storage requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Device complexity

If a single key-value store is used without aliases, then the structure is simple, but heterogeneous applications cannot efficiently access a common data set

Engineering Contradiction:
Improvedata structure simplicityVSAvoidapplication compatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the key-value store into two tables with distinct responsibilities: the metadata table handles key management and aliasing, while the data table handles efficient data storage and retrieval. This segmentation maintains relative structural simplicity while enabling heterogeneous applications to access common data sets through their preferred keys.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The internal identifier acts as an intermediary layer that enables heterogeneous applications to access a common data set efficiently. Each application can use its own keys to query the metadata table, obtain the corresponding internal identifier, and then access the shared data in the data table, maintaining application compatibility without sacrificing data sharing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11847145B2Aliased data retrieval for key-value stores
Publication Date: 2023.12.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11847145B2 patent drawing
  • US11847145B2 patent drawing
  • US11847145B2 patent drawing

AI summary

Examples of the present disclosure describe systems and methods for aliased data insertions/retrieval for key-value stores. In aspects, a data set comprising a primary key, one or more secondary keys (“aliases”), and data values may be received by a data storage system. The system may allocate an internal identifier to the primary key and store the internal identifier and the primary key in a first table. Each of the secondary keys may be used to create a key-value pair comprising the secondary key and the internal identifier. The key-value pair(s) may be stored in the first table with the corresponding primary key. The internal identifier and the data values may be stored in a second table. Subsequently, the primary or secondary key may be used to interrogate the first table for the internal identifier. The internal identifier may then be used to interrogate the second table for the data values.