cs.DBJul 4, 2026

Efficient Discovery of Conditional Dependencies with Desbordante

Authors: Ivan KozhukovDmitry FedoseevMaksim EmelyanovArtem SmolaPyotr SenichenkovPavel AnosovGeorge Chernishev

Organizations: Saint-Petersburg State University · Saint-Petersburg, Russia

Abstract

Conditional functional dependencies (CFDs) are functional dependencies with a restricted scope: they specify the context in which a dependency holds and are useful for data-quality tasks, specifying complex integrity constraints, and extracting valuable insights from data. We study the CFD discovery problem, which is computationally demanding. We build on the state-of-the-art CFDFinder algorithm and introduce a set of algorithmic and engineering improvements, including a parallelization strategy, to produce ParCFDFinder. Our implementation is integrated into Desbordante - a high-performance open-source data profiler written in C++ that exposes a Python interface, enabling CFD discovery to be invoked from any Python program. Experimental results show that our enhancements speed up the algorithm by up to 318×318\times (118×118\times on average) and reduce memory usage by up to 23×23\times (14×14\times on average) compared with the existing Java-based implementation of Metanome. Integrating ParCFDFinder into Desbordante makes it possible, for the first time, to conveniently discover CFDs on datasets with hundreds of thousands of rows on a commodity machine within a reasonable time.

Explore similar work

CardsList
  1. Fast Discovery of Inclusion Dependencies with Desbordante

    Aug 3, 2026Alexander Smirnov, Anton Chizhov, Ilya Shchuckin +2Data MiningProfiling

  2. Lightning Fast Matching Dependency Discovery with Desbordante

    Jul 12, 2026Alexey Shlyonskikh, Michael Sinelnikov, Daniil Nikolaev +2Data MiningSemantic Deduplication