Cross-stream transactions in streaming data storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems lack the capability to efficiently manage transactions that span multiple data streams, requiring complex synchronization and potential duplication of events across different streams, which complicates the implementation of all-or-nothing behavior and failure handling.

Innovation Solution

The implementation of cross-stream transactions, where a single transaction can be committed across multiple data streams by creating subordinate transactions on each stream, leveraging existing single-stream transaction technology to coordinate the committing process, and the introduction of cross-stream micro-transactions to simplify the process by allowing a single event to be appended to multiple streams with direct commitment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If transactions are limited to single data stream segments, then transaction management is simple, but the system cannot support applications that need to write to multiple data streams

Engineering Contradiction:
Improvecapability to write to multiple data streamsVSAvoidtransaction coordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides a cross-stream transaction into multiple subordinate transactions, each associated with a specific data stream. This segmentation allows the system to leverage existing single-stream transaction mechanisms while achieving multi-stream functionality, resolving the contradiction between versatility and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested transaction structure where subordinate transactions are nested within a parent cross-stream transaction. This nesting enables hierarchical coordination where the parent transaction manages the lifecycle of child transactions, allowing multi-stream operations while maintaining simple transaction management semantics.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If multiple independent transactions are used for multiple data streams, then each stream can be managed independently, but synchronization and failure handling become complex

Engineering Contradiction:
Improveall-or-nothing behavior across streamsVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple subordinate transactions under a single parent transaction coordinate system. This merging enables atomic commit or abort behavior across all subordinate transactions simultaneously, ensuring reliability without requiring complex external synchronization mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements feedback mechanisms where the parent transaction monitors the state of subordinate transactions and coordinates their commit/abort decisions. This feedback loop ensures that failures in any subordinate transaction can trigger appropriate rollback actions in others, maintaining all-or-nothing behavior while simplifying failure handling.

Inventive Principle:
Principle #23Feedback

3Productivity

If events are duplicated across multiple streams manually, then each stream receives its data, but data movement overhead and potential duplication errors increase

Engineering Contradiction:
Improvetransaction commit efficiencyVSAvoiddata movement overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent creates subordinate transactions that reference the same event data across multiple streams without physically duplicating the data during the transaction process. This copying mechanism allows efficient event distribution while minimizing data movement overhead and ensuring consistency through the shared transaction context.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11593030B2Cross-stream transactions in a streaming data storage system
Publication Date: 2023.02.28 EMC IP HLDG CO LLC
  • US11593030B2 patent drawing
  • US11593030B2 patent drawing
  • US11593030B2 patent drawing

AI summary

The described technology is generally directed towards cross-stream transactions in a streaming data storage system, which allows a writer application to commit multiple events to distinct data streams in a single transaction. The system creates a cross-stream transaction for a writer application, and the writer application adds events to the cross-stream transaction, indicating which destination data stream(s) each event's data is to be appended. The system adds the event to a subordinate transaction created for each specified data stream. Upon committing the cross-stream transaction, the system coordinates the committing of the subordinate transactions to their respective data streams. Alternatively, an application writer can request that an event be committed to multiple writer-specified data streams via a cross-stream micro-transaction, in which the streaming data storage system obtains the appropriate segment store instances and segments for each data stream, and coordinates the direct appending of the event to the appropriate segments.