Data Profiling

Data Profiling (lecture, master's course)

Prof. Dr. Felix Naumann
Youri Kaminsky (exercises)

According to Wikipedia, data profiling is the process of examining the data available in an existing data source [...] and collecting statistics and information about that data. It encompasses a vast array of methods to examine data sets and produce metadata. Among the simpler results are statistics, such as the number of null values and distinct values in a column, its data type, or the most frequent patterns of its data values. Metadata that are more difficult to compute usually involve multiple columns, such as inclusion dependencies or functional dependencies between columns. More advanced techniques detect approximate properties or conditional properties of the dataset at hand.

Data profiling is relevant as a preparatory step to many use cases, such as query optimization, data mining, data integration, and data cleansing. Topics include an introduction, data structures, unique column combinations, functional dependencies, inclusion dependencies, order dependencies, denial constraints, and semantic interpretation of profiling results.

In this lecture, we will study efficient algorithms and data structures to handle the typically vast search spaces of data profiling tasks. The techniques are applicable not only to data profiling, but provide general ideas of algorithmically dealing with large-scale data. The topics include:

  • Foundations: data structures and basic algorithms
  • Single-column profiling
  • Discovery of unique column combinations
  • Functional dependency discovery
  • Order dependency discovery
  • Inclusion dependency discovery
  • Query optimization using dependencies
  • Semantic data profiling
  • Denial constraint discovery
  • Violation detection

Schedule

  • Lecture hall: L.E-03
  • Mondays 13:30 - 15:00 
  • Tuesdays 15:15 - 16:45
  • Lectures will be given in English.
  • The exercises will be coordinated in Moodle.
Date Topic
Mo 17.04.2023 Organization & introduction
Tu 18.04.2023
ROOM L.1-06
Introduction & motivation
Mo 24.04.2023 Data structures
Tu 25.04.2023 Metanome intro & Data structures
Mo 01.05.2023 Feiertag - Tag der Arbeit
Tu 02.05.2023 Data structures + Q&A
Mo 08.05.2023 Unique Column Combinations (UCCs)
Tu 09.05.2023 Lecture & Exercise: UCCs
Mo 15.05.2023 Functional Dependencies (FDs)
Tu 16.05.2023 Functional Dependencies (FDs)
Mo 22.05.2023 Functional Dependencies (FDs)
Tu 23.05.2023 Functional Dependencies (FDs)
Mo 29.05.2023 Pfingstmontag
Tu 30.05.2023 Order Dependencies (Sebastian Schmidl)
Mo 05.06.2023 Order Dependencies (Sebastian Schmidl)
Tu 06.06.2023 Exercise: UCCs reports and FD task
Mo 12.06.2023 Inclusion Dependencies
Tu 13.06.2023 Inclusion Dependencies
Mo 19.06.2023 Query Optimization using Dependencies (Daniel Lindner)
Tu 20.06.2023 no lecture
Mo 26.06.2023 Inclusion Dependencies
Tu 27.06.2023 on your own: Inclusion Dependencies (BINDER)
Mo 03.07.2023 Denial Constraints
Tu 04.07.2023 Denial Constraints
Mo 10.07.2023 Exercise: FD reports and IND task
Tu 11.07.2023 DC Violation Detection (Youri Kaminsky)
Mo 17.07.2023 Cardinality estimation (Hazar Harmouch)
Tu 18.07.2023 Genuine dependencies
Mo 24.07.2023 no lecture
Tu 25.07.2023 Exercise: IND reports; Exam prep Q&A
Tu 08.08.2023
10am - 12 am in F.E-06
Written exam

Literature

The course largely follows the following textbook, which we will supply on demand:

Data Profiling - Synthesis Lectures on Data Management
Ziawasch Abedjan, Lukasz Golab, Felix Naumann, Thorsten Papenbrock

In addition, each lecture references various scientific articles and other sources of information. Good sources to find those articles are

See also the following two articles for an overview on data profiling:

Exam

We plan to have a written exam on tbd at tbd in tbd. To qualify for the exam you need to successfully complete the exercises (success defined during exercises).