Microtechniques ETL Architecture for Incremental Stream Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ETL processes incur high costs due to the need for recomputing result tables from scratch when input data changes, necessitating inefficient manual strategies for incrementalization.

Innovation Solution

A system that decomposes SQL queries into a dataflow graph for incremental processing of stream data, using a microarchitecture-based runtime execution to efficiently update results by traversing an execution plan and computing change sets for operators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full recomputation of ETL results is performed when input data changes, then data accuracy is maintained, but computational cost and processing time increase significantly

Engineering Contradiction:
Improvedata accuracyVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the ETL computation process into incremental update operations. Instead of recomputing entire result tables, the system identifies and processes only the specific portions of data that have changed, dividing the computation into manageable segments that can be updated independently and efficiently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining change data capture mechanisms and dependency tracking structures in advance. When source data changes, the system has already prepared the infrastructure to quickly identify and propagate only the necessary changes through the ETL pipeline, avoiding full recomputation

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If incremental update strategies are implemented manually, then computational cost is reduced, but time investment and operational complexity increase

Engineering Contradiction:
Improvecomputational costVSAvoidtime investment
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent implements self-service incrementalization where the ETL system automatically detects data changes, identifies affected computations, and performs selective updates without manual intervention. The system serves itself by maintaining metadata about data dependencies and change states, enabling autonomous incremental processing decisions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms through change data capture and dependency tracking. When source data changes are detected, the feedback loop automatically triggers selective recomputation of only the affected result tables or partitions, using the tracked dependency information to guide the incremental update process efficiently

Inventive Principle:
Principle #23Feedback

3Reliability

If result tables are kept constantly updated with changing source data, then data freshness is maintained, but processing overhead increases

Engineering Contradiction:
Improvedata freshnessVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the ETL processing frequency and depth adaptive based on change detection. The system dynamically adjusts between full refresh and incremental update modes, and between different levels of granularity in processing, based on the actual state of source data changes and dependency analysis

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12386833B2Incremental execution of extract, transform, load process using microtechniques architecture
Publication Date: 2025.08.12 DATABRICKS INC
  • US12386833B2 patent drawing
  • US12386833B2 patent drawing
  • US12386833B2 patent drawing

AI summary

A system receives ETL specification for processing stream data, including a transform operation represented using a database query specification. The system generates a dataflow graph of a sequence of database queries by decomposing the database query into a first database query that generates an intermediate results table, and a second database query that receives as input the intermediate results table and outputs data used for performing the transform operation. The system executes the sequence of database queries for performing the transform operation on stream data received from the source. When receiving an incremental data set, the system determines an output change set based on the received incremental data set by traversing an execution plan and processing each operator in the execution plan, and computing a change set of a particular operator from the change sets output by the one or more other operators based on the incremental data set.