Atomic Partition Scheme Updates for Time Series Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems managing large amounts of data face challenges in maintaining high performance and data availability as the scale of data increases, particularly in distributing and replicating data across multiple machines, leading to inconsistent partition scheme applications across ingestion nodes.

Innovation Solution

Implementing atomic partition scheme updates in time series databases, where ingestion nodes are assigned time thresholds to ensure consistent application of new partition schemes, allowing all nodes to apply changes atomically and avoid inconsistent data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is distributed across multiple partitions in a time series database, then storage capacity and data availability are improved, but inconsistency in partition scheme application across ingestion nodes occurs

Engineering Contradiction:
Improvestorage capacityVSAvoidpartition scheme consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by propagating partition scheme updates to all ingestion nodes before the update takes effect. Each ingestion node receives and caches the updated partition scheme in advance, ensuring that when the update becomes active, all nodes are already prepared with the correct scheme, eliminating inconsistency during the transition.

Inventive Principle:
Principle #10Preliminary action

2Speed

If partition schemes are updated frequently to optimize data distribution, then data access performance is improved, but system complexity and potential for inconsistency increase

Engineering Contradiction:
Improvedata access performanceVSAvoidpartition scheme management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where ingestion nodes report their partition scheme version and status back to the coordination service. This allows the system to monitor the state of all nodes, detect inconsistencies, and trigger re-synchronization operations, thereby managing the complexity of frequent updates while maintaining consistency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

A coordination service acts as an intermediary between the partition scheme definition and the ingestion nodes. This intermediary manages the propagation, versioning, and application of partition schemes, abstracting away the complexity from individual nodes and providing a centralized point of control that simplifies frequent updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all ingestion nodes apply partition schemes simultaneously, then data storage consistency is improved, but system downtime during updates may occur

Engineering Contradiction:
Improvedata storage consistencyVSAvoidsystem availability during updates
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system employs dynamic partition scheme versioning where different ingestion nodes can operate with different versions of the partition scheme based on their update timing. The coordination service dynamically manages version propagation, allowing nodes to update at different times while maintaining consistency within each version, thus avoiding simultaneous stoppage and maintaining system availability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11609933B1Atomic partition scheme updates to store items in partitions of a time series database
Publication Date: 2023.03.21 AMAZON TECH INC
  • US11609933B1 patent drawing
  • US11609933B1 patent drawing
  • US11609933B1 patent drawing

AI summary

Atomic partition scheme updates to partition items may be implemented by a time series database. A time threshold may be assigned to partition scheme update so that the time threshold may be applied across a set of ingestion nodes that may apply the partition scheme update the same. A request to store an item with a timestamp less than the time threshold may be stored in one partition of the time series database, while the item may be stored in a different partition of the time series database if the item has timestamp greater than or equal to the time threshold.