Journal-Based Multi-Data-Store Transaction Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing environments face challenges in managing transactions across multiple data stores, as existing solutions often lack support for ACID properties across data store boundaries, leading to complex and unreliable transaction management mechanisms, especially with network delays and varying data store capabilities.

Innovation Solution

A journal-based multi-data-store database system that implements transactional messages and replicated deterministic value generators, enabling optimistic concurrency control and asynchronous processing to manage transactions across diverse data stores, ensuring robust transaction management and high throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional ACID transaction mechanisms are used within a single data store, then consistency and reliability are improved, but the system cannot support transactions across multiple data store boundaries

Engineering Contradiction:
Improvetransaction consistencyVSAvoidmulti-data-store support
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a journal-based transaction coordinator as an intermediary that manages transactions across multiple data stores. The coordinator maintains a transaction log and coordinates commit/rollback operations across diverse data stores, enabling ACID properties to be achieved across data store boundaries without requiring each data store to natively support such transactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The transaction management system is segmented into independent components: a transaction coordinator that manages the transaction lifecycle, a journaling subsystem that records transaction states, and data store adapters that handle individual data store operations. This segmentation allows the system to support multiple data store types while maintaining transaction consistency.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If ad-hoc transaction management mechanisms are implemented by developers, then custom transaction logic can be achieved, but the systems become hard to maintain as application requirements evolve

Engineering Contradiction:
Improvecustom transaction logicVSAvoidmaintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal transaction management layer that provides standardized transaction coordination across multiple data stores. This layer handles common transaction patterns (commit, rollback, timeout) centrally, while allowing application-specific logic to be expressed through a standardized API, reducing maintenance complexity as requirements evolve.

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

Solution Approach 2:

The transaction coordinator automatically manages transaction state transitions, conflict detection, and recovery without requiring manual intervention. The system self-adjusts to changing requirements by allowing new data stores and transaction types to be integrated through standardized interfaces, reducing the burden of maintaining custom transaction logic.

Inventive Principle:
Principle #25Self-service

3Reliability

If robust transaction management is implemented to handle network delays and failures, then service level reliability is improved, but transaction processing time and complexity increase

Engineering Contradiction:
Improveservice level robustnessVSAvoidtransaction processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing transaction contexts and preparing data stores for transactions before actual commit operations. The journaling mechanism pre-records transaction intents, allowing for faster commit decisions and reducing the time required to handle network delays and failures robustly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction coordinator maintains continuous transaction contexts across network delays and failures, using the journal to preserve transaction state. This allows transactions to resume seamlessly after interruptions without requiring complete re-processing, reducing the time penalty associated with robust error handling.

Inventive Principle:
Principle #20Continuity of useful action

4Reliability

If deterministic value generators are replicated across data stores, then data integrity and consistency are improved, but system complexity and synchronization requirements increase

Engineering Contradiction:
Improvedata integrityVSAvoidreplication synchronization
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the deterministic value generation function into the centralized transaction coordinator, which maintains a single source of truth for generated values. The coordinator assigns values atomically as part of transaction commits, eliminating the need for separate replication and synchronization mechanisms while ensuring data integrity across all data stores.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10108658B1Deferred assignments in journal-based storage systems
Publication Date: 2018.10.23 AMAZON TECH INC
  • US10108658B1 patent drawing
  • US10108658B1 patent drawing
  • US10108658B1 patent drawing

AI summary

A data store manager of a multi-data-store journal-based database performs a sequential analysis of committed transaction entries of a journal. A particular entry includes a directive to determine a value of an attribute of a data object based on a result obtained from a value generator, and does not specify the value of the attribute. The data store manager determines the value using a local version of the value generator, and stores the value in a materialized version of the data object. In response to a programmatic read request, the data store manager provides the materialized version of the data object.