Data Lake Cascading Mutation Management via Notification Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data lake technologies face inefficiencies in managing cascading mutations, particularly in batch operations, leading to failures in processing mutation requests due to intermediate record inconsistencies across multiple data sources and consumers.

Innovation Solution

The implementation of a data management architecture utilizing Apache Kafka and Apache Spark, which enables real-time data processing and handling of cascading mutations by staging mutation requests, building graphs to determine final nodes, and applying mutations in batches, with retry mechanisms for successful data table updates and notification table writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If batch operations are used to process data mutations in a data lake, then processing throughput is improved, but data consistency deteriorates due to intermediate record inconsistencies

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by staging mutation requests in a notification table before applying them to data tables. This allows the system to prepare and validate mutation operations in advance, ensuring that downstream consumers are notified only after successful updates, thereby maintaining data consistency while enabling batch processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The notification table serves as an intermediary between mutation requests and data tables. It temporarily stores staged mutation requests and coordinates the sequencing of mutations across multiple data tables, acting as a mediator that ensures proper ordering and consistency without blocking batch processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If mutation requests are processed in parallel, then processing speed is improved, but reliability deteriorates due to cascading mutation failures

Engineering Contradiction:
Improveprocessing speedVSAvoidmutation processing reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system stages mutation requests in the notification table before parallel execution. This preliminary staging allows the system to organize and validate all mutation operations beforehand, enabling safe parallel processing while maintaining the ability to rollback or retry if failures occur, thus preserving reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through retry logic that monitors mutation processing outcomes. When parallel mutations fail, the system receives feedback about the failure, retries the affected mutations, and ensures that downstream consumers are only notified upon successful completion, thereby maintaining reliability during high-speed parallel processing.

Inventive Principle:
Principle #23Feedback

3Productivity

If intermediate states are exposed during batch processing, then processing efficiency is improved, but data integrity deteriorates

Engineering Contradiction:
Improvebatch processing efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The notification table acts as an intermediary that isolates intermediate processing states from downstream consumers. It stores staged mutation requests without exposing them to consumers until successful completion, preventing data integrity issues while allowing efficient batch processing to proceed without unnecessary constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts intermediate mutation states from the visible data flow by storing them temporarily in the notification table. This separation allows batch processing to efficiently manipulate intermediate states internally while preventing these incomplete states from being exposed to downstream consumers, thereby maintaining data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11314767B2Techniques and architectures for managing cascading mutations in an environment having a data lake
Publication Date: 2022.04.26 SALESFORCE INC
  • US11314767B2 patent drawing
  • US11314767B2 patent drawing
  • US11314767B2 patent drawing

AI summary

Managing mutations in a data lake environment. A mutation request to cause write operations that modify data objects or structures within an environment for collecting unformatted raw data is received. The environment has at least a data table and a notification table. An entry is written to the data table with a streaming job configured to receive and process the mutation request. Entries to the data table specify at least records indicating changes to objects in the environment based on ingestion processing for the environment for collecting unformatted raw data and based on the mutation request. A corresponding entry is written to the notification table in response to a successful write attempt to the data table. The notification table entry has information about data table entries for a specified period. At least one data consumer is notified that the data table has been modified.