Atomic Publication of Distributed Writes to Data Warehouse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed data warehouse systems face challenges in maintaining atomicity and efficiency during bulk operations, as they either compromise on atomicity by loading data twice or on efficiency by exposing new records at different times, and struggle to handle composition of bulk mutations across multiple tables.

Innovation Solution

The solution involves moving traditional responsibilities for large fact tables into user space, allowing external computing devices to perform operations normally reserved for the data warehouse's master node, generating publication identifiers and version values for source data, and updating publication tables to ensure atomicity and efficiency in data management and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If bulk load operations are used to improve performance, then data loading speed increases, but atomicity is compromised as data may be exposed at different times

Engineering Contradiction:
Improvedata loading speedVSAvoiddata atomicity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating a publication identifier and version value before the bulk load operation completes. This preliminary metadata creation allows the system to track the intended atomic unit of data before actual loading occurs, enabling post-hoc verification of atomicity without blocking the high-speed bulk load process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The publication identifier acts as an intermediary between the bulk load operation and the data warehouse query interface. It mediates the atomicity guarantee by serving as a reference key that connects multiple bulk-loaded tables, allowing the system to expose data atomically through this intermediary reference rather than requiring all data to be physically present simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is loaded twice to maintain atomicity, then atomicity is preserved, but storage cost and time increase

Engineering Contradiction:
Improvedata atomicityVSAvoiddata loading time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of loading data twice, the system creates a lightweight copy in the form of a publication identifier and version value. This metadata copy references the actual data without duplicating it, providing the atomicity tracking functionality while avoiding the storage and time costs of duplicating the full dataset.

Inventive Principle:
Principle #26Copying

3Reliability

If master node locking is implemented to ensure data integrity, then data consistency is maintained, but processing parallelism is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing parallelism
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts the data integrity verification function from the master node's locking mechanism and relocates it to the client side. By moving the atomicity verification responsibility to the client through publication identifiers, the master node is freed from serialization bottlenecks, allowing full processing parallelism while maintaining data consistency through the extracted verification mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Clients perform self-service data integrity verification using publication identifiers and version values. Instead of relying on the master node to enforce consistency through locking, each client independently verifies data atomicity by checking these metadata fields, enabling distributed verification without centralized coordination overhead.

Inventive Principle:
Principle #25Self-service

4Productivity

If bulk load operations are used to improve performance, then loading speed increases, but composition into larger transactions is not allowed

Engineering Contradiction:
Improvebulk operation speedVSAvoidtransaction composition capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The publication identifier serves multiple functions: it tracks atomicity for single bulk operations, enables composition of multiple bulk operations into larger transactions, and provides version control. This multi-functional metadata structure allows the system to maintain high bulk load performance while simultaneously enabling complex transaction compositions across multiple tables and operations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11755621B2Systems and methods for atomic publication of distributed writes to a distributed data warehouse
Publication Date: 2023.09.12 VOLKSWAGEN GROUP OF AMERICA INVESTMENTS LLC
  • US11755621B2 patent drawing
  • US11755621B2 patent drawing
  • US11755621B2 patent drawing

AI summary

Systems and methods for retrieving and using data stored in a data warehouse. The methods comprise performing the following operations by a computing device: receiving a query for information directed to a plurality of fact tables (each fact table comprising sets of source data that are arranged so as to be respectively associated with a plurality of first publication identifiers); obtaining second publication identifiers from a publication table, in response to the query; and obtaining at least one of the sets of source data from each fact table that is associated with a first publication identifier of the plurality of first publication identifiers which matches one of the second publication identifiers.