S-expression Lineage Computation for SQL Data Provenance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face challenges in efficiently computing lineage and change impact analysis for SQL expressions, particularly in data warehousing systems, due to the complexity of parsing SQL queries and managing disparate metadata repositories.

Innovation Solution

The method involves converting SQL expressions into S-expression tabular structures, generating function and argument tables, and using these tables to determine lineage and change impact analysis, facilitating automatic computation and simplifying the process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SQL expressions are used for data querying and transformation, then data access and manipulation capabilities are improved, but computing lineage and change impact analysis becomes complex and difficult

Engineering Contradiction:
Improvedata access capabilityVSAvoidlineage computation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary representation layer between SQL expressions and lineage computation. SQL queries are first transformed into an intermediate format that captures the logical structure and data dependencies, which then serves as the basis for automated lineage derivation. This intermediary representation simplifies the extraction of lineage information by providing a standardized structure that explicitly shows data flow and transformations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the complex SQL expression parsing and lineage computation into distinct modular components. The system divides the process into: (1) SQL query analysis, (2) intermediate representation generation, (3) lineage extraction, and (4) change impact analysis. Each component handles a specific aspect independently, making the overall complex task manageable and computationally efficient.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If traditional metadata repository approaches are used, then data storage is maintained, but managing disparate metadata repositories across BI tools becomes inefficient

Engineering Contradiction:
Improvemetadata storageVSAvoidmetadata management efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent merges disparate metadata repositories from multiple BI tools into a unified lineage information structure. By establishing a common representation framework that can accommodate metadata from different sources and tools, the system combines previously separate metadata stores into an integrated view, enabling centralized management and cross-tool lineage tracking without losing tool-specific metadata characteristics.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal lineage representation framework that serves multiple BI tools and purposes simultaneously. The intermediate representation and lineage structure are designed to be tool-agnostic and functionally versatile, capable of supporting lineage tracking, change impact analysis, data provenance verification, and other metadata management tasks across different BI tool ecosystems through a single unified approach.

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

3Loss of information

If manual lineage tracking methods are used, then data provenance can be tracked, but the process is time-consuming and labor-intensive

Engineering Contradiction:
Improvedata provenance trackingVSAvoidlineage computation time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent implements self-service lineage computation where the system automatically derives lineage information from the SQL queries themselves without requiring manual intervention. The lineage extraction process is performed autonomously by analyzing the query structure, identifying data dependencies, and generating lineage records automatically. This eliminates the need for manual lineage tracking while maintaining comprehensive data provenance information.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary action by computing lineage information at query compilation or execution preparation time rather than waiting for manual tracking or post-processing. The system proactively analyzes SQL expressions, extracts lineage data, and stores it in advance, making lineage information readily available when needed for auditing, governance, or change impact analysis without adding runtime overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9959295B1S-expression based computation of lineage and change impact analysis
Publication Date: 2018.05.01 DIGITAL AI SOFTWARE INC
  • US9959295B1 patent drawing
  • US9959295B1 patent drawing
  • US9959295B1 patent drawing

AI summary

Systems and processor-implemented methods of S-expression based computation of lineage and change impact analysis. An SQL expression is converted into an S-expression tabular structure. A function table including a plurality of functions associated with S-expression tabular structure tabulated against at least one of a function name, a derived column and a derived table and an argument table including plurality of arguments associated with the S-expression tabular structure tabulated against at least one of an argument type, a function identifier linking the arguments to the function table, a computed from function, a reference to entity or a literal value, is generated based on the S-expression tabular structure. At least one of lineage or change impact analysis for an entity is determined based on the function table and the argument table, where lineage provides a provenance of the entity or attribute from a source entity or a source attribute.