Local Data Store Emulating Distributed Key-Value Behavior

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data stores exhibit different behaviors compared to local data stores due to techniques like horizontal partitioning and replication, making it challenging to test applications and synchronize data effectively between them.

Innovation Solution

Implementing emulation techniques to simulate the behavior of a distributed data store on a local data store, including error injection, latency emulation, and provisioned throughput simulation, to enable seamless interaction and synchronization while avoiding vendor lock-in and improving testing procedures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a local data store is used instead of a remote distributed data store, then ease of operation and testing is improved, but the ability to accurately simulate distributed behavior and synchronization challenges deteriorates

Engineering Contradiction:
Improveease of testingVSAvoidaccuracy of distributed behavior simulation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent creates a local data store that copies the essential behavior characteristics of a remote distributed data store, including partitioning, replication, and synchronization mechanisms. This allows developers to test applications locally while maintaining accurate simulation of distributed environment behaviors, resolving the contradiction between ease of local testing and accuracy of distributed behavior simulation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes operational parameters of the local data store to match distributed data store characteristics, such as implementing configurable replication factors, partitioning strategies, and synchronization protocols. These parameter adjustments enable the local store to emulate distributed behavior patterns, allowing accurate testing without requiring actual distributed infrastructure.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If a distributed data store is used, then scalability and reliability are improved, but device complexity and difficulty of local testing increase

Engineering Contradiction:
Improvedata store reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the distributed data store behavior into replicable units that can be implemented locally. By breaking down the distributed system into individual partition and replication components that can be instantiated locally, the system maintains the scalability and reliability concepts of distributed stores while reducing the complexity of actually deploying and testing them locally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local data store acts as an intermediary between the application and the actual remote distributed data store. It provides a simplified local interface that emulates distributed behavior, allowing applications to be developed and tested without direct interaction with the complex distributed infrastructure, thereby reducing testing complexity while maintaining reliability standards.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If emulation techniques are implemented, then ease of operation and testing is improved, but device complexity increases

Engineering Contradiction:
Improveease of local developmentVSAvoidemulation system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The local data store is designed with multi-functionality to handle both local operations and emulated distributed operations through a unified interface. By making the system universal, it can serve both as a simple local store and as an accurate emulator of distributed behavior, improving ease of development while managing complexity through a single versatile implementation rather than multiple separate systems.

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

Data Source

PatentUS9235609B1Local emulation of distributed key-value data store
Publication Date: 2016.01.12 AMAZON TECH INC
  • US9235609B1 patent drawing
  • US9235609B1 patent drawing
  • US9235609B1 patent drawing

AI summary

A local data store may also be configured to process updates using a common API with reference to a common schema. The common API and common schema may also be employed by hosted applications utilizing a remote distributed data store. Behavior of the remote distributed data store may be emulated by the local data store. Behaviors of the distributed data store that may be simulated include eventual consistency, provisioned throughput and latency based on horizontal partitioning.