Dataflow Graph Expectations for ETL Query Dependency Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data engineers face challenges in orchestrating, validating, and tuning declarative queries in ETL pipelines due to the need to manually reason about and specify the order of operations, which can lead to inefficiencies and resource wastage.

Innovation Solution

A system for dataflow graph processing that automatically generates a DAG based on query dependencies, allowing for in-memory graph generation and verification without materializing tables, and includes a dataflow graph analyzer and tester to identify errors and enforce expectations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If declarative queries are used in ETL pipelines, then ease of operation is improved, but device complexity increases due to the need to manually orchestrate and validate multiple disparate queries

Engineering Contradiction:
Improveease of operationVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a dataflow graph as an intermediary representation that automatically captures and manages the orchestration logic between declarative queries. The graph analyzer and tester act as mediators that automatically validate query dependencies and detect errors, eliminating the need for manual orchestration while preserving the simplicity of declarative query writing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by automatically generating dataflow graphs from declarative queries, performing dependency analysis, and detecting errors without requiring manual intervention. The dataflow graph structure self-organizes the query execution plan, and the automated tester self-validates the correctness of query compositions.

Inventive Principle:
Principle #25Self-service

2Reliability

If manual orchestration of queries is performed, then reliability can be maintained through validation, but loss of time increases due to the effort required to reason about and tune queries

Engineering Contradiction:
ImprovereliabilityVSAvoidloss of time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by automatically analyzing query dependencies and generating dataflow graphs before query execution. The graph tester预先 detects potential errors and validates the query composition, ensuring reliability is maintained while eliminating the time-consuming manual reasoning and tuning processes.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If in-memory graph generation is used, then productivity is improved by reducing materialization time, but use of energy increases due to in-memory processing requirements

Engineering Contradiction:
ImproveproductivityVSAvoiduse of energy
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameter of data representation from materialized tables to in-memory graph structures. This parameter change enables faster dependency analysis and error detection by working with lightweight graph representations rather than heavy table materializations, improving productivity while the energy consumption is managed through efficient graph traversal algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12572595B2Dataflow graph processing with expectations
Publication Date: 2026.03.10 DATABRICKS INC
  • US12572595B2 patent drawing
  • US12572595B2 patent drawing
  • US12572595B2 patent drawing

AI summary

A system for dataflow graph processing comprises a communication interface and a processor. The communication interface is configured receive an indication to generate a dataflow graph, wherein the indication includes a set of queries. The processor is coupled to the communication interface and is configured to: determine dependencies of each query in the set of queries on another query; determine a DAG of nodes based at least in part on the dependencies; insert a node in the DAG of nodes to generate an updated DAG to enforce an expectation; determine a dataflow graph based on the updated DAG; and provide the dataflow graph.