Granular Timestamp Concurrency Control for Key-Value Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale data storage systems face inefficiencies in storage space consumption due to the addition of generational index fields in key-value (KV) stores, which do not contribute to the schema and hinder concurrency control.

Innovation Solution

Implementing snapshot isolation using multiple-tiered sorted data structures and granularly timestamped concurrency control within the KV store engine, eliminating the need for generational index fields by storing multiple snapshot versions and managing timestamps to ensure data consistency across operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If generational index fields are added to all data records in a KV store to implement snapshot isolation, then concurrency control is improved, but storage space consumption increases significantly

Engineering Contradiction:
Improveconcurrency controlVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the generational index field from the data record structure itself and relocates it to a separate generation index structure. This separation allows the KV store to implement snapshot isolation without embedding generational metadata in every record, thereby reducing storage space consumption while maintaining concurrency control capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a new dimensional organization for tracking data generations by creating a separate generation index structure that maps keys to their generational information. This dimensional change eliminates the need to store generational fields within each record, resolving the contradiction between concurrency control and storage efficiency.

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

2Reliability

If generational index fields are added to data records for snapshot isolation, then data consistency is improved, but device complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidstructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

By extracting the generational index mechanism from the data record structure and placing it in a separate generation index, the patent reduces the complexity embedded in each record while maintaining the ability to enforce snapshot isolation and data consistency across concurrent operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If multiple snapshot versions are stored without generational index fields, then storage space is reduced, but concurrency control efficiency decreases

Engineering Contradiction:
Improvestorage spaceVSAvoidconcurrency control efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The generation index structure serves as an intermediary between the stored snapshot versions and the concurrency control mechanism. It provides the necessary generational information for snapshot isolation without requiring this information to be embedded in each data record, thus maintaining concurrency control efficiency while minimizing storage overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11741073B2Granularly timestamped concurrency control for key-value store
Publication Date: 2023.08.29 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11741073B2 patent drawing
  • US11741073B2 patent drawing
  • US11741073B2 patent drawing

AI summary

Systems and methods discussed herein, based on a key-value data store including multiple-tiered sorted data structures in memory and storage, implement granularly timestamped concurrency control. The multiple-tiering of the key-value data store enables resolving the snapshot queries by returning data record(s) according to granularly timestamped snapshot lookup instead of singularly indexed snapshot lookup. Queries return a merged collection of records including updates from data structures in memory and in storage, such that a persistent storage transaction may refer to non-committed updates up to a timeframe defined by the snapshot read timestamp. This way, inconsistency is avoided that would result from merely reading data records committed in storage, without regard as to pending, non-committed updates thereto. The global timestamp further modifies the generation of the local transaction commit timestamp and the local snapshot read timestamp, so as to establish a granularly timestamped concurrency control scheme (over three levels of granularity).