Journal-Based Partitioned Data Materialization in Multi-Store Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing environments face challenges in managing transactions across multiple data stores due to lack of support for ACID properties, varying data models, and network delays, leading to complex and unreliable transaction management mechanisms.

Innovation Solution

A journal-based multi-data-store database system that implements partitioning policies, optimistic concurrency control, and journal forking to manage transactions across diverse data stores, ensuring scalability and robustness by registering data stores as materialization nodes, using partitioning algorithms like horizontal and vertical partitioning, and creating snapshots for efficient synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ad-hoc transaction management mechanisms are implemented by developers, then transaction support across data store boundaries can be achieved, but the system becomes hard to maintain and lacks robustness

Engineering Contradiction:
Improvetransaction supportVSAvoidmaintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a journal manager as an intermediary component that coordinates transactions across multiple data stores. The journal manager maintains a journal of committed transactions and uses write appliers to propagate changes to materialization nodes, eliminating the need for developers to implement complex ad-hoc transaction management mechanisms while maintaining ACID properties across data store boundaries

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments transaction management into distinct components: a journal manager for coordination, write appliers for propagation, and materialization nodes for data storage. This segmentation allows each component to have a specific, maintainable function while working together to provide robust transaction support across diverse data stores

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data stores are distributed across multiple locations to serve different geographical customers, then service coverage is improved, but network delays and failures increase

Engineering Contradiction:
Improveservice coverageVSAvoidtransaction reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by maintaining a journal of committed transactions before propagating changes to distributed materialization nodes. This allows the system to record transactions centrally first, ensuring consistency, and then propagate changes to distributed locations, mitigating the impact of network delays and failures while maintaining transaction reliability across geographical locations

Inventive Principle:
Principle #10Preliminary action

3Productivity

If partitioning is applied to data stores to improve scalability, then system capacity increases, but data consistency management becomes more complex

Engineering Contradiction:
ImprovescalabilityVSAvoidconsistency management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses feedback mechanisms where materialization nodes report their state and the journal manager tracks which partitions have received which transactions. This feedback allows the system to maintain data consistency across partitioned data stores by knowing the current state of each partition and propagating transactions in the correct order, reducing the complexity of consistency management while improving scalability

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10346434B1Partitioned data materialization in journal-based storage systems
Publication Date: 2019.07.09 AMAZON TECH INC
  • US10346434B1 patent drawing
  • US10346434B1 patent drawing
  • US10346434B1 patent drawing

AI summary

A partitioning policy for materializing writes indicated in journal entries of a multi-data-store database is determined. The policy indicates a partitioning attribute of a data object. A write applier associated with a materialization node of the database processes journal entries according to the partitioning policy. If the value of the partitioning attribute associated with a write of a particular journal entry indicates that the write belongs to a partition materialized at the materialization node, the write applier propagates the write to the materialization node for storage at the node's storage devices.