Atomic Data Ingestion via Coordinated Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data lakes, which store data in native formats from multiple sources, often lack systematic data ingestion mechanisms that provide atomic transactions, leading to unpredictable data handling and processing.

Innovation Solution

Implementing a data ingestion mechanism using Apache Kafka and Apache Spark to manage atomic transactions across multiple data sources by utilizing coordinated data tables and notification tables, ensuring that data writes are either successful, partially successful, or failed in a controlled manner, with retry mechanisms to maintain data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is ingested into a data lake from multiple sources without native atomic transactions, then data collection capability is improved, but data integrity and consistency deteriorate

Engineering Contradiction:
Improvedata collection capabilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary transaction coordination mechanism that mediates between multiple data sources and the data lake. This coordinator manages transaction states across distributed sources, ensuring atomicity without requiring native transaction support from each source. The intermediary tracks transaction progress, handles commits and rollbacks, and maintains consistency across all participating data sources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data ingestion process into discrete transactional units that can be independently tracked and managed. Each data write operation is divided into atomic steps with defined states (pending, committed, rolled back), allowing fine-grained control over data integrity. This segmentation enables the system to handle partial failures by rolling back only affected transactions rather than failing the entire ingestion process.

Inventive Principle:
Principle #1Segmentation

2Reliability

If atomic transactions are implemented across multiple data sources, then data integrity is improved, but system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The transaction coordinator serves as a centralized intermediary that abstracts the complexity of distributed transaction management. Individual data sources don't need to implement complex transaction logic; instead, they interact with the coordinator through standardized interfaces. This concentrates the complexity in a single manageable component rather than distributing it across all data sources.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the transaction coordinator continuously monitors the state of ongoing transactions across data sources. This feedback loop allows the coordinator to make informed decisions about committing or rolling back transactions based on the actual state of the system, reducing the need for overly complex preventive measures.

Inventive Principle:
Principle #23Feedback

3Reliability

If retry mechanisms are added to maintain data integrity, then reliability is improved, but processing time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-defining transaction states and rollback procedures before failures occur. Transaction contexts are prepared in advance with all necessary information to either commit or rollback if needed. This preliminary preparation enables rapid recovery from failures without requiring complex analysis or decision-making during the retry process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by maintaining transaction state information and coordination metadata that cushion against potential failures. This includes tracking which data sources have been updated, what the original transaction data was, and what rollback actions are needed. This cushioning information is prepared in advance, allowing the system to quickly recover from failures without extensive reprocessing.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11526528B2Techniques and architectures for providing atomic transactions across multiple data sources
Publication Date: 2022.12.13 SALESFORCE INC
  • US11526528B2 patent drawing
  • US11526528B2 patent drawing
  • US11526528B2 patent drawing

AI summary

Techniques and mechanisms for ingesting data through an atomic transaction are disclosed. Raw data is received from multiple disparate sources to be consumed in an environment that does not support atomic write operations to data consumers. The environment has at least a data table and a notification table. A write to an entry in the data table having an associated version is attempted. The data table entry corresponds to the data to be consumed. A write to a corresponding entry to the notification table is attempted in response to a successful write attempt to the data table. The notification table entry includes information about the corresponding data table entry. The version associated with the data table is modified in response to successful writes of both the data table entry and the notification table entry. At least one data consumer is notified that the data table version has been modified.