Local Key-Value Database Synchronization Emulation

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

The implementation of a system that emulates the behavior of a distributed data store on a local data store using key-value APIs, error injection, provisioned throughput emulation, latency simulation, and fine-grained access control to enable seamless synchronization and testing across both environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a distributed data store uses horizontal partitioning and replication to scale the system, then the system can meet customer demand and improve productivity, but the data store behaves differently than a local data store, causing inconsistencies and making synchronization difficult

Engineering Contradiction:
Improvesystem scaling capabilityVSAvoiddata consistency between local and distributed stores
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates a local copy of the distributed data store on the customer's premises. This local data store replicates the key-value data model and behavior of the remote distributed data store, allowing applications to run locally with consistent data access patterns while the actual distributed store scales to meet demand

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The local data store acts as an intermediary between the application and the remote distributed data store. It emulates the distributed store's behavior locally, allowing applications to interact with a consistent interface regardless of whether data is accessed locally or remotely, thereby resolving behavior inconsistencies

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a local data store is used for testing applications, then testing procedures are simplified and productivity improves, but the local data store behaves differently than the remote distributed data store, reducing measurement precision and testing accuracy

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtesting accuracy against remote data store
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The local data store is configured to copy the key-value data model, API interface, and operational behavior of the remote distributed data store. This allows applications to be tested locally against an accurate representation of the production environment, ensuring testing precision while maintaining high testing efficiency

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The local data store can be configured with adjustable parameters to match or simulate the remote distributed store's characteristics. This includes configuring data models, access patterns, and operational parameters to reflect the actual distributed environment, enabling accurate local testing

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If vendor lock-in is avoided by using a common code base for both local and remote data stores, then adaptability improves, but the different behaviors of local and distributed data stores create synchronization challenges and increase device complexity

Engineering Contradiction:
Improvecode base portabilityVSAvoidsynchronization system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The local data store is designed to serve multiple functions: it acts as a true local data store for fast access, emulates the remote distributed store for testing and development, and can synchronize with the remote store when needed. This universal design allows a single code base to work across both local and distributed environments without requiring complex synchronization logic

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

Solution Approach 2:

Instead of making the remote distributed data store adapt to local requirements, the patent inverts the approach by making the local data store adapt to emulate the remote store's behavior. This allows the remote store to maintain its optimized distributed architecture while the local store handles adaptation, reducing overall system complexity

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10242084B2Local key-value database synchronization
Publication Date: 2019.03.26 AMAZON TECH INC
  • US10242084B2 patent drawing
  • US10242084B2 patent drawing
  • US10242084B2 patent drawing

AI summary

A remote distributed data store may be configured to process data updates received through invocation of a common API with reference to a common schema. A local data store may also be configured to process updates through the common API with reference to the common schema. Updates to the local data store may be mapped from the local data store schema to the common schema, and applied to the distributed data store. Updates to the distributed data store may be mapped from the common schema to the local data store schema. User identity may be verified to limit data synchronization to authorized users.