Transactional Updates in Key-Value Stores via Copy-on-Write Keys

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transactional updates in key-value stores face challenges in maintaining consistency and scalability, particularly in handling concurrent writes and ensuring fault tolerance while optimizing read and write operations.

Innovation Solution

The system employs a cube engine and query engine architecture that uses a logical file system to manage transactional updates through a BASE key for global data and a copy-on-write key for temporary data, allowing for distributed writes and merging of data changes, while ensuring transactional consistency and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional transactional update mechanisms are used in key-value stores, then data consistency can be maintained, but system scalability and performance deteriorate due to locking mechanisms and centralized coordination

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the key-value store into multiple independent partitions that can be updated concurrently without global locking. Each partition maintains its own transactional integrity while allowing other partitions to be accessed simultaneously, thus achieving both consistency and scalability. The system divides the namespace into independent units that can be modified in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces version vectors as an intermediary mechanism to coordinate distributed transactions without centralized locking. Version vectors act as metadata that track causal relationships between operations across different nodes, enabling conflict detection and resolution while maintaining scalability. This intermediary allows the system to achieve serializability without the performance overhead of traditional locking.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If distributed writes are enabled to improve scalability, then system performance improves, but maintaining transactional consistency becomes more difficult

Engineering Contradiction:
Improvewrite throughputVSAvoidtransactional consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through version vectors that continuously track the state of data across distributed nodes. Each write operation updates version vectors with information about causal dependencies, and this feedback is used to detect conflicts and determine commit order. The system uses read-your-writes semantics where readers can verify consistency by checking version vectors, providing continuous feedback on transactional state.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary actions by pre-establishing version vector metadata and causal tracking structures before distributed writes occur. The system prepares conflict detection mechanisms and version tracking in advance, allowing concurrent writes to proceed without blocking while maintaining the ability to detect and resolve conflicts. This preliminary setup enables scalable distributed writes with consistency guarantees.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If locking mechanisms are used to ensure transactional consistency, then data reliability improves, but read and write performance deteriorates

Engineering Contradiction:
Improvetransactional consistencyVSAvoidread and write speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent uses copying mechanisms where each node maintains local copies of version vector metadata and transaction state information. Instead of acquiring locks from a central authority, nodes copy and validate version vectors locally to determine commit order. This copying approach eliminates the need for locking while maintaining consistency, as each node independently verifies transaction validity using copied metadata.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements self-service transactional consistency where each node independently validates and commits transactions using version vectors without external coordination. Nodes serve themselves by locally checking version vector causality and determining commit order based on copied metadata. This self-service approach eliminates locking overhead and enables high-speed transactions while maintaining consistency through distributed validation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9898501B2Method and system for performing transactional updates in a key-value store
Publication Date: 2018.02.20 NEUSTAR INC
  • US9898501B2 patent drawing
  • US9898501B2 patent drawing
  • US9898501B2 patent drawing

AI summary

A method and system for performing a transactional update of a plurality of values in a key-value store that includes a first writer starting a transaction, a second writer joining the transaction, the first writer and the second writer writing changes to the plurality of values in a temporary transaction area in a storage area, and after the first writer and the second writer complete writing the changes, moving the plurality of values from the temporary transaction area to a global area in the key-value store.