Merging Transaction Segments in Data Storage Without Epoch Transitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stream-based data storage systems face difficulties in efficiently merging transactions into streams when the transaction segments differ from the stream segments, leading to complications in scaling and resource management, particularly due to the need for epoch transitions which can block scale-up and scale-down events.

Innovation Solution

A data storage system that includes a merging component capable of merging transaction segments into stream segments without triggering epoch transitions, by leveraging epoch compatibility and key range matching, thereby reducing resource costs and preserving the stream structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If epoch transitions are performed to merge transaction segments into stream segments, then transactions can be committed to the stream, but the number of epoch transitions increases leading to blocked scale-up and scale-down events and increased resource overhead

Engineering Contradiction:
Improvetransaction commit reliabilityVSAvoidscaling efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-aligning transaction segment key ranges with stream segment key ranges before committing transactions. This preparation ensures that transactions can be merged without triggering epoch transitions, thereby maintaining scaling efficiency while ensuring reliable transaction commits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of key range alignment by adjusting transaction segment key ranges to match stream segment key ranges. This parameter adjustment allows transactions to be committed without epoch transitions, resolving the contradiction between transaction reliability and scaling efficiency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If transaction segments are merged into stream segments without epoch transitions, then resource overhead is reduced and scaling is improved, but the distinct structure of transactions and streams must be reconciled

Engineering Contradiction:
Improveresource efficiencyVSAvoidstructure reconciliation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies local quality by reconciling the structure of transaction segments and stream segments locally at the key range level rather than requiring global epoch transitions. This allows transactions to be merged into streams with matching key ranges without triggering system-wide structural changes, reducing resource overhead while managing structural complexity.

Inventive Principle:
Principle #3Local quality

3Speed

If the number of epoch transitions is reduced, then system reactivity and performance are enhanced, but the requirement for key range matching between transaction and stream segments increases

Engineering Contradiction:
Improvesystem reactivityVSAvoidkey range matching precision
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The system performs preliminary key range alignment before transaction commits, ensuring that transaction segments are pre-matched with corresponding stream segments. This preliminary action reduces the need for epoch transitions during transaction processing, enhancing system reactivity while maintaining precise key range matching.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11347746B2Efficient rolling transactions in a data storage system
Publication Date: 2022.05.31 EMC IP HLDG CO LLC
  • US11347746B2 patent drawing
  • US11347746B2 patent drawing
  • US11347746B2 patent drawing

AI summary

Efficient rolling transactions for a data storage system is described herein. A method as described herein can include structuring, by a device operatively coupled to a processor, a data stream according to a first structure, the first structure comprising respective stream segments that are associated with respective first key ranges; writing, by the device, a transaction to the data stream, wherein the transaction comprises events arranged in a second structure that is distinct from the first structure, and wherein the second structure comprises respective transaction segments that are associated with respective second key ranges; and merging, by the device, respective ones of the transaction segments into respective ones of the stream segments, resulting in merged transaction segments, in response to the second key ranges of the respective merged transaction segments at least partially matching the first key ranges of the respective ones of the stream segments.