Streaming Committed Transaction Updates for Data Store Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems struggle to maintain transaction semantics when retrieving updates from a stream of changes, as updates from individual transactions may not be visible together, leading to inconsistencies in applications relying on transactional data.

Innovation Solution

Implementing streaming committed transaction updates, where updates are captured and stored as records in a stream, ensuring that only committed transaction updates are included, allowing clients to identify and apply updates as part of a transaction, thereby maintaining transactional visibility and consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If updates from individual transactions are retrieved from a stream of changes, then clients can access data changes, but transaction semantics cannot be maintained as updates from the same transaction may not be visible together

Engineering Contradiction:
Improvevisibility of transaction updatesVSAvoidtransaction semantics consistency
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The system performs preliminary actions by capturing and buffering updates from the same transaction together before making them visible in the stream. A transaction identifier is assigned to group related updates, and these updates are held in buffer until the transaction commits, ensuring they become visible together atomically.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (transaction identifier and buffering system) between the data store and the update stream. This intermediary groups updates by transaction, buffers them temporarily, and releases them atomically when the transaction commits, thereby maintaining transaction semantics in the stream.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If all updates are made visible immediately in the stream, then clients can access changes quickly, but data integrity is compromised as uncommitted transactions may be visible

Engineering Contradiction:
Improveupdate visibility speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system uses feedback from the transaction commit status to control update visibility. Updates are captured and buffered with their transaction identifiers, and the system continuously monitors transaction commit status. Only when the commit feedback is received are the buffered updates made visible in the stream, ensuring data integrity while maintaining speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Updates are captured and buffered in advance with their transaction identifiers assigned, but their visibility is delayed until commit confirmation. This preliminary buffering action allows the system to prepare updates quickly while controlling their release based on transaction outcome, balancing speed and integrity.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If a stream interface is provided to access updates, then clients can retrieve changes, but the complexity of maintaining transactional consistency increases

Engineering Contradiction:
Improveaccess to updatesVSAvoidtransaction consistency management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The update stream interface makes transactions self-identifiable by including transaction identifiers with each update record. Clients can independently filter and group updates by transaction ID without requiring complex external coordination, enabling self-service transactional consistency while maintaining ease of access through the stream interface.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10997160B1Streaming committed transaction updates to a data store
Publication Date: 2021.05.04 AMAZON TECH INC
  • US10997160B1 patent drawing
  • US10997160B1 patent drawing
  • US10997160B1 patent drawing

AI summary

Updates performed as part of transaction requests to a data store may be included in a stream of updates. Updates to items in the data store that are included in transactions determined not to be committed to the data store may be excluded from the stream of updates. Records in the stream of updates may include an identifier for the transaction that included the update described by the record. The identifier for the transaction may be used to identify updates to other items in the data store that are included in the same transaction.