Özer Cem KELAHMETKELAHMET
Tools · Governance

Data catalog

A data catalog is a searchable inventory of data assets with owners, meaning and lineage. Learn how catalogs work, what to put in them, and how AI uses them.

Overview

A data catalog is a searchable inventory of an organization's data assets, such as tables, files, dashboards, models and streams, together with the information needed to find, understand and trust them. For each asset it records what the data is, where it lives, who owns it, how it is described, how it relates to other assets and who is allowed to use it. It acts as a system of record for the question "what data do we have, and what does it mean?"

Catalogs matter because the volume and variety of data outgrow what any person can remember. Without a catalog, analysts ask colleagues, copy old queries and guess at column meanings. With one, they search, read a description, check quality signals and follow lineage to the source. Catalogs also support governance rules such as privacy and retention, and they supply the semantic context that machine learning needs, including models that learn from raw tables such as TabPFN and TabSTAR.

What it is

A data catalog is built from metadata, which is data about data. It does not usually store the business data itself. It stores descriptions and pointers.

Think of a library catalog. It does not contain the books. It lists each book with title, author, subject, shelf location and availability, and it lets you search and reserve. A data catalog does the same for datasets, with extra fields for ownership, quality, sensitivity and lineage.

Types of metadata

Type What it holds Example
Technical Structure and storage details Table name, columns, types, partitions, file format, size
Business Meaning in the language of the organization Description of "net revenue", glossary term, domain
Operational How data is produced and used Last refresh time, job run status, row counts, query frequency
Social Human knowledge and ratings Comments, endorsements, tags, known issues
Governance Rules and responsibility Owner, steward, sensitivity class, retention period, legal basis
Quality Fitness of the data Null rate, freshness, test results, anomaly flags
Lineage Origin and flow Upstream sources, transformations, downstream reports

Core functions

  • Discovery: search by name, description, tag, owner or column.
  • Understanding: show schema, descriptions, sample values and usage.
  • Trust: show quality checks, freshness and certification status.
  • Governance: record owners, classifications, access policies and retention.
  • Lineage: trace how data moves and changes across systems.
  • Collaboration: let users comment, ask questions and request access.
  • Automation: feed policies, alerts and other tools through an API.

Catalog, dictionary and glossary

These terms overlap, and it helps to separate them.

Item Scope Audience
Data dictionary Field-level definitions for one system or table Engineers, analysts
Business glossary Agreed definitions of business terms and concepts Everyone
Data catalog All assets, with technical, business and governance metadata, plus search Everyone

A catalog usually includes both a dictionary and a glossary, and links them: the term "customer" in the glossary points to the columns across systems that represent it.

Where it came from

The roots are old. Database systems have always kept a system catalog, a set of internal tables describing their own tables and columns. Data warehouses in the 1990s added metadata repositories that documented sources, transformations and reports, often kept in spreadsheets or specialized tools.

The data lake problem

When organizations began pouring raw files into object storage, the metadata problem got worse. A lake without a catalog turns into a swamp: nobody knows what a file contains, who wrote it or whether it can be deleted. Services such as the AWS Glue Data Catalog emerged to register tables over files and make them queryable. Access rules over those tables are handled by services such as AWS Lake Formation.

Enterprise catalogs

In parallel, enterprise vendors built catalogs aimed at governance and stewardship, with business glossaries, workflow for approvals and automated scanning of sources. Examples in this space include Informatica EDC, which scans and profiles metadata, and Informatica Axon, which focuses on governance and the business glossary. Open source and cloud-native catalogs followed, built around crawlers, search indexes and graph models of relationships.

Table format catalogs

Open table formats introduced a more specific meaning of "catalog": a service that tracks which tables exist and where their current metadata files are. The page on Iceberg cataloging covers this technical role, which is related to, but narrower than, the broader discovery catalog described here.

Drivers of growth

  • Privacy law such as GDPR and KVKK requires organizations to know where personal data lives and why it is held.
  • The data mesh idea gave domains ownership of data products, which need to be published and discoverable.
  • Machine learning raised the need to know the origin, meaning and quality of training data.
  • Self-service analytics put more people in front of more datasets.

How it works

Catalogs differ in design, but most follow the same flow.

Step 1: Connect to sources

The catalog connects to databases, warehouses, lakes, streaming systems, BI tools, pipelines and ML platforms through connectors. Each connector knows how to ask a system what it contains.

Step 2: Harvest technical metadata

Crawlers read schemas, table and column names, types, partitions, sizes and timestamps. They run on a schedule or react to events. When a schema changes, the new version is recorded, which makes the catalog a useful history for schema evolution.

Analogy: a census taker visits every house on a regular route, writing down who lives there and what has changed since the last visit.

Step 3: Profile the data

Optionally, the catalog or a linked tool computes statistics: row counts, null rates, distinct counts, min and max, value distributions, and top values. Profiles help users judge fitness and help automation classify columns.

Step 4: Classify and tag

Classification attaches labels such as "email address", "national id", "financial amount" or "sensitive". It can use column name patterns, regular expressions on values, dictionaries of known terms, or machine learning. Tools like Presidio detect personal data in text. Tags drive access and masking rules.

Step 5: Enrich with business context

People add what machines cannot guess: plain-language descriptions, the owning team, the steward, intended use, known caveats and links to glossary terms. Good catalogs make this easy and show which assets lack descriptions. Some use language models to suggest drafts that a human reviews.

Step 6: Capture lineage

Lineage is collected from query logs, pipeline definitions, transformation tools such as dbt, orchestrators and engines. The result is a graph: which sources feed which tables, and which tables feed which reports. See data lineage for details.

All metadata is indexed so users can search by words, filters and relationships. Many catalogs combine keyword ranking such as BM25 with semantic or hybrid search, so that a query like "monthly revenue by region" finds assets even if those exact words are not in the name. Search engines like Elasticsearch are common underneath.

Step 8: Apply governance

Policies connect to the catalog: who may see an asset, which columns must be masked, how long data may be kept. Access requests are routed to owners. Some catalogs enforce policies directly, others publish them to engines that enforce them.

Step 9: Keep it alive

A catalog is useful only if current. Mature setups use automated refresh, ownership reminders, usage-based ranking, deprecation flags and stale-asset reports. The aim is a catalog that people open daily because it saves them time.

Architecture at a glance

Layer Role
Connectors and crawlers Pull metadata from source systems
Metadata store Holds assets, attributes and relationships, often a graph or relational model
Search index Fast text and faceted search
Lineage engine Builds and queries the flow graph
Governance engine Policies, classification, workflows
API and UI Search page, asset pages, integrations
Event stream Notifies other systems of changes

Key concepts and terms

Term Meaning
Metadata Data that describes other data
Asset Any catalogued item: table, column, file, dashboard, model, pipeline
Data product A dataset packaged with owner, contract and documentation
Business glossary Agreed definitions of business terms
Data dictionary Field-level definitions for a system
Data steward Person responsible for the quality and definition of data in a domain
Data owner Accountable person or team for an asset
Lineage The path data takes from source to consumer
Column-level lineage Lineage tracked per column, not only per table
Classification Labeling data by type or sensitivity
Tag A free or controlled label on an asset
Certification A mark that an asset has been reviewed and is approved
Data profile Statistical summary of a dataset
Active metadata Metadata that triggers actions in other tools
Data contract Agreement on schema and quality between producer and consumer
Data mesh Approach where domains own and publish their data as products
Discovery Finding relevant assets
Provenance Origin and history of data

A worked example

Registering and enriching an asset

A team publishes a table of customer orders. Below, a catalog entry is expressed as YAML, a form that many catalogs and metadata tools can ingest or resemble.

yaml
asset:
  name: sales.orders
  type: table
  platform: warehouse
  owner: team-commerce
  steward: data-governance
  description: >
    One row per customer order. Amounts are in minor currency units.
    Cancelled orders are included with status = 'cancelled'.
  domain: Sales
  tier: gold
  certified: true
  retention: 7 years
  tags: [finance, pii-indirect]
  columns:
    - name: order_id
      type: bigint
      description: Unique order identifier.
      glossary: Order
    - name: customer_id
      type: bigint
      description: Key to the customer table.
      glossary: Customer
      classification: pseudonymous-id
    - name: amount
      type: bigint
      description: Order value in minor units, for example cents.
      unit: minor currency unit
    - name: status
      type: string
      allowed_values: [open, shipped, delivered, cancelled]
  upstream: [raw.orders_events, raw.customers]
  downstream: [dashboards.revenue_daily, ml.churn_features]
  quality:
    freshness_sla: 2 hours
    tests: [not_null(order_id), unique(order_id)]

Querying the catalog

Many catalogs expose an API. A simplified Python sketch of a discovery call:

python
import requests

resp = requests.get(
    "https://catalog.example.internal/api/search",
    params={"q": "orders revenue", "type": "table", "certified": "true"},
    timeout=10,
)
for hit in resp.json()["results"][:5]:
    print(hit["name"], "|", hit["owner"], "|", hit["description"][:60])

Finding sensitive columns automatically

A rule-based classifier can run during harvesting:

python
import re

PATTERNS = {
    "email": re.compile(r"^[^@\s]+@[^@\s]+\.[^@\s]+$"),
    "phone": re.compile(r"^\+?[0-9 ()-]{7,15}$"),
}

def classify_column(values):
    sample = [v for v in values if v][:200]
    if not sample:
        return None
    for label, pat in PATTERNS.items():
        hit = sum(bool(pat.match(str(v))) for v in sample)
        if hit / len(sample) > 0.8:
            return label
    return None

Production classifiers combine several signals and send borderline cases to a person, since false positives and false negatives both have costs.

A lineage query

sql
-- Which downstream assets break if sales.orders.amount changes meaning?
WITH RECURSIVE down AS (
  SELECT target FROM lineage_edges WHERE source = 'sales.orders.amount'
  UNION
  SELECT e.target FROM lineage_edges e JOIN down d ON e.source = d.target
)
SELECT target FROM down;

Column-level lineage turns a vague worry into a concrete list of affected reports and models.

Strengths and limitations

Strengths

  • Faster discovery: users find data without asking around.
  • Shared meaning: one definition per term reduces conflicting numbers.
  • Trust signals: owners, quality checks and certification show which data is reliable.
  • Governance support: classification, retention and access policies live next to the assets.
  • Impact analysis: lineage shows what changes will affect.
  • Less duplication: teams see that a dataset already exists.
  • Onboarding: new staff learn the data landscape quickly.
  • Audit readiness: records of ownership and data flows help with compliance.

Limitations

  • Stale content: catalogs decay if not refreshed and owned.
  • Incomplete coverage: some systems have no connector, and shadow data stays invisible.
  • Cost of descriptions: automatic harvesting captures structure, not meaning, so human effort is needed.
  • Lineage gaps: dynamic code, manual exports and spreadsheets break the chain.
  • Low adoption: if the catalog is hard to use, people go back to asking colleagues.
  • Over-tagging: too many tags and rules make the catalog noisy.
  • A catalog describes data, it does not fix data. Quality still needs tests and process.
  • Tool sprawl: a company can end up with several overlapping catalogs, one per platform.

How it compares with alternatives

Approach What it gives Good for Weak spot
Data catalog Search, context, governance, lineage across systems Organization-wide discovery Needs curation and ownership
Wiki or spreadsheet inventory Simple lists and pages Very small teams Goes stale, no automation
Database system catalog Structure inside one database Engineers of that system No business meaning, one system only
Table format catalog (Iceberg, Glue) Where tables are and their schema Query engines Not designed for discovery or glossary
Schema registry Versioned schemas for events Streaming compatibility Covers messages only
Data dictionary Field definitions A single system No search across assets, no lineage
Metadata in code (dbt docs) Docs and lineage next to transformations Analytics engineering teams Limited to what the project covers
Feature or model registry Versioned ML features and models ML workflows Not general-purpose data discovery

Related systems often work together. A schema registry holds event schemas, the catalog links to them. A warehouse such as Snowflake or a platform such as Databricks ships its own catalog, which an enterprise catalog may federate. A model registry such as MLflow tracks models, and the catalog can link models to their training data.

Role in tabular foundation models

Tabular foundation models learn from raw tables, so the question is how a catalog helps a model that reads rows and columns directly.

Catalogs supply the meaning that raw tables lack

A raw table has numbers and strings. The catalog says what they mean: a column of integers is a count of units, a string column is an enumerated status, a float is a measurement in millimeters. This semantic layer is exactly what is missing when column names are absent or cryptic. Models such as TabPFN and TabICL, pre-trained on synthetic tables, work without any names and infer roles from values. When descriptions are available, text-aware models such as TabSTAR can turn them into extra input signal. A catalog is the source of that signal, and it keeps it consistent across tables.

Row and column structure, and mixed types

The catalog's technical metadata records the type, nullability and cardinality of each column. A model pipeline can use this to route each column to the right encoder: continuous values to a numeric path, categories to an embedding path, text to a text encoder, dates to a decomposition. This mirrors how tokenizer training fits cell encoders from data. Where the catalog's declared type disagrees with the data, as when a numeric column is stored as text, the discrepancy is a data quality finding to fix before modeling.

Missing values

Catalog profiles show null rates per column and over time. They distinguish a column that is rarely filled from one that became empty after an upstream change. Documenting why values are missing (not applicable, not collected, lost) is valuable because a model should treat these cases differently. This ties to self-supervised training with hidden cells, as in masked cell modeling, and to imputation networks. If values were imputed, the catalog should say so, and say how.

In-context learning needs the right context

With in-context learning, a model reads a labeled set of rows as context and predicts for new rows. The quality of the answer depends on choosing the right table and the right rows. The catalog helps select appropriate, certified and fresh datasets, and tells you which columns are identifiers or leakage risks that should be excluded. For example, a column that records the outcome after the fact is a leak. A good description flags it.

Sector and semantic classification

Assigning a table to an industry or semantic type is a classification problem that uses both values and text. Catalog metadata, such as domain labels, glossary links and column descriptions, provides training labels and features for it. Heads like semantic sector heads can then be checked against human-curated tags, and mismatches can feed back into the catalog as suggested classifications. This is the active metadata idea: models enrich the catalog, and the catalog grounds the models.

Anomaly detection

Catalog quality profiles give a baseline for what normal looks like for each column. Anomaly detection on those statistics, such as a jump in null rate or a shift in distribution, flags upstream problems. Together with schema drift detection, it lets a team learn about trouble before a model's inputs degrade.

Continual learning and governance of training data

As models are updated over time, teams must record which tables and versions each model saw. Lineage links models to their data, and certification marks which datasets are approved for training. Methods like experience replay and elastic weight consolidation address forgetting inside the model, but the catalog covers the other half: knowing exactly what was fed in, when, under which legal basis and with what sensitivity labels.

Privacy and compliance for model inputs

Classification and retention metadata keep sensitive columns out of training sets unless approved. Policies stored in the catalog can drive masking or tokenization of sensitive values before a table reaches a model. This is increasingly required under rules such as GDPR.

Summary of the mapping

Catalog capability Benefit for tabular models
Column descriptions and glossary Semantic signal when names are missing or cryptic
Declared types and profiles Correct routing to numeric, categorical and text encoders
Null rates and missingness notes Better handling of missing and imputed cells
Certification and freshness Choosing trustworthy tables for context
Lineage Reproducing which data a model saw
Classification Excluding or masking sensitive columns
Domain tags Labels and checks for sector classification

See /model/architecture for how such a model consumes tables, /model/benchmarks for how it is measured, and /model/research for background.

Practical guidance and best practices

Start with a clear scope

  • Pick the questions the catalog must answer first, such as "where is customer data" or "which tables feed the revenue report".
  • Start with the most used and most critical assets, not everything.
  • Define success in terms of use: searches, time to find data, share of important assets with owners.

Assign ownership

  • Every asset gets an owner and a steward.
  • Owners confirm descriptions and handle access requests.
  • Show ownership prominently and remind owners when information goes stale.

Write good descriptions

  • State what one row represents.
  • State the unit, time zone and currency of key columns.
  • Explain codes and statuses.
  • Note known caveats, such as late-arriving data.
  • Keep it short and factual. A paragraph beats a page.

Build the glossary carefully

  • Define each term once, with a named owner.
  • Link terms to the columns that implement them.
  • Resolve conflicts early, for example two meanings of "active customer".
  • Version definitions when they change.

Automate what can be automated

Task Automation
Schema harvesting Scheduled crawlers or event hooks
Profiling Sampled statistics on a schedule
Classification Rules plus models, with human review
Lineage Parse queries, pipelines and transformation projects
Freshness Read from job metadata
Notifications Alerts to owners on schema or quality change

Integrate with the daily workflow

  • Surface the catalog inside query tools and BI tools.
  • Link from pipelines and dashboards back to catalog pages.
  • Include catalog updates in the definition of done for new datasets.
  • Make requests for access one click from the asset page.
  • Attach data contract results to the asset page.
  • Show test status and freshness next to the description.
  • Mark deprecated assets and name their replacements.

Measure and maintain

  • Track the share of assets with owner, description and classification.
  • Track search success and zero-result queries to improve naming and tags.
  • Retire unused assets on a schedule.
  • Review sensitive classification regularly.

For machine learning teams

  • Register training datasets and link them to model versions.
  • Record the feature schema, encoders and any imputation rules.
  • Record the legal basis and retention limit for training data.
  • Keep a certified reference table for evaluation that does not change.

Search and naming tips

Search is the front door of a catalog, so small habits pay off.

  • Use clear table and column names. A name such as customer_orders_daily is far easier to find than tbl_co_d.
  • Put synonyms in descriptions. If users say "revenue" and the column says "net sales", mention both.
  • Add a short summary line at the top of each asset page.
  • Use a small controlled set of domains and tiers, and keep free tags for edge cases.
  • Review searches that return nothing, then fix names, tags or glossary links.
  • Rank certified and recently used assets higher than abandoned ones.

Adoption playbook

Stage Focus Signal of success
Pilot One domain, a few dozen key assets Users find data without asking
Expand More domains, owners assigned Most key assets have owners and descriptions
Govern Classification, retention, access flows Audits answered from the catalog
Automate Lineage, quality, active metadata Alerts reach owners before users complain
Optimize Usage analytics, cleanup Stale assets retired on a schedule

Roles and responsibilities

  • Platform team: runs the tool, connectors, search quality and uptime.
  • Domain owners: accountable for the data they publish.
  • Stewards: maintain definitions, review classifications, resolve disputes.
  • Consumers: report issues, add comments and use the request flow.
  • Security and privacy staff: set classification rules and review sensitive access.

Common mistakes

  • Treating the catalog as a one-time project instead of a living product.
  • Loading thousands of assets with no owners or descriptions.
  • Relying only on automated harvesting and never adding business meaning.
  • Having no clear owner for the glossary.
  • Allowing free-form tags to multiply into near duplicates.
  • Ignoring column-level lineage and then being unable to assess impact.
  • Not covering shadow systems such as spreadsheets and exports.
  • Skipping access control on the catalog itself, which can leak sensitive metadata.
  • Making the catalog separate from the tools people use daily.
  • Confusing the catalog with data quality. Showing a flag is not fixing a problem.
  • Duplicating catalogs per platform with no federation.
  • Forgetting to record imputed values and synthetic data as such.
  • Failing to link models and features to their source data.

Frequently asked questions

What is a data catalog?

A data catalog is a searchable inventory of data assets, such as tables, files, dashboards and models, with metadata about meaning, structure, ownership, quality, sensitivity and lineage. It does not typically hold the data itself. It helps people find data, understand it and decide whether to trust it.

What is the difference between a data catalog and a data dictionary?

A data dictionary defines the fields of a particular system or table. A data catalog covers all assets across many systems and adds search, ownership, lineage, quality signals and governance. A catalog usually contains dictionaries and a business glossary, and connects them to each other.

What kinds of metadata does a catalog store?

Typical categories are technical metadata such as schemas and types, business metadata such as descriptions and glossary terms, operational metadata such as refresh times and job status, governance metadata such as owners and classifications, quality metadata such as test results, and lineage metadata showing sources and consumers.

Why is data lineage part of a catalog?

Lineage shows where data came from and where it goes. It supports impact analysis before changes, root cause analysis when numbers look wrong, and compliance questions about personal data flows. Having lineage in the catalog lets users jump from an asset to its sources and consumers in one place.

How does a data catalog relate to a schema registry?

A schema registry stores versioned schemas for events and checks compatibility when producers publish. A data catalog is broader, covering many asset types with business context and search. The two work well together, with the catalog linking to registry entries so people can see the structure of a stream next to its description and owner.

Does a data catalog help with privacy compliance?

Yes. By classifying columns, recording legal basis and retention, and showing where personal data flows, a catalog helps organizations answer questions required under privacy regulations. It does not make a system compliant by itself, since policies must also be enforced in the systems that process the data.

How do tabular foundation models benefit from a data catalog?

Catalog metadata supplies the meaning that raw tables often lack, including descriptions, units, types and domain labels. It helps route columns to the right encoders, choose certified tables for context, exclude leaky or sensitive columns, and track which data a model saw. Models can also enrich the catalog by suggesting classifications.

How do you keep a catalog from going stale?

Automate harvesting and profiling, assign an owner to every asset, send reminders for unreviewed descriptions, rank search results by real usage, and flag deprecated or unused assets. Including catalog updates in the process for releasing a new dataset also keeps new content flowing in.

Who should own the data catalog?

The platform is usually run by a data platform or governance team, but the content belongs to the domain teams that own the data. Owners and stewards of each asset keep descriptions and classifications accurate, while the central team provides tooling, standards and support.

Can a language model write catalog descriptions?

It can draft them from schemas, sample values and query history, which saves time on large inventories. Drafts should be reviewed by someone who knows the data, because a fluent but wrong description is worse than none. Marking machine-suggested text clearly helps reviewers and readers.

Glossary

  • Active metadata: metadata that triggers actions in other systems, such as alerts or policy updates.
  • Asset: any item registered in the catalog.
  • Business glossary: a controlled list of business terms and definitions.
  • Certification: a mark showing an asset has been reviewed and approved.
  • Classification: labeling data by type or sensitivity.
  • Column-level lineage: lineage traced for individual columns.
  • Crawler: a process that reads metadata from a source system.
  • Data contract: an agreement on shape and quality between producer and consumer.
  • Data dictionary: definitions of fields in a system.
  • Data mesh: an approach where domain teams own data as products.
  • Data owner: the accountable person or team for an asset.
  • Data product: a dataset packaged with documentation, ownership and a contract.
  • Data profile: summary statistics for a dataset.
  • Data steward: a person who maintains definitions and quality in a domain.
  • Lineage: the flow of data from source to consumer.
  • Metadata: data that describes other data.
  • Provenance: the origin and history of data.
  • Tag: a label attached to an asset.

Summary

A data catalog is a searchable, governed inventory of data assets that combines technical, business, operational, quality and lineage metadata. It is built by connecting to sources, harvesting and profiling metadata, classifying and enriching it, capturing lineage, indexing for search and applying governance rules. It works only when owned and kept current, and it complements, not replaces, quality tests, schema registries and table format catalogs. For tabular foundation models, the catalog supplies the semantics that raw tables lack, guides encoder choice, documents missingness and imputation, supports sector classification and records which data each model saw. Related reading includes Data lineage, Schema evolution, AWS Glue Data Catalog and /model/architecture.

It belongs to Governance in my stack, under Data engineering and lakehouse. Others in the same group:

Type to search.
    ↑↓ navigate↵ open