Data Catalog Tools

Open Source & Managed Options Compared (2026)

Data catalog tools fall into 3 families. Discovery catalogs such as DataHub and OpenMetadata help people find and trust data. Engine catalogs, which query engines read, include the AWS Glue Data Catalog as well as Unity Catalog and Apache Polaris. Platform catalogs come built into Snowflake and Google Cloud, and into Microsoft's platform. The right open source data catalog or metadata management tool depends on which of those problems you have and who will run it.

Last updated: Proudly published by: Jeff Wahl10 min read

What is a data catalog tool?

A data catalog tool is software that collects metadata about your data assets and keeps it searchable. It attaches the context a person needs before trusting a table: who owns it, what its columns mean, how fresh it is, where it comes from and who reads it. Data catalog tools are the most common kind of metadata management tool, and they fall into 3 families that solve different problems.

Discovery catalogs, such as DataHub and OpenMetadata, serve people. They pull metadata from warehouses, BI tools and pipelines into one searchable index with owners, glossaries and lineage. Engine catalogs serve query engines: they hold the table definitions an engine reads on every query. The Hive Metastore, the AWS Glue Data Catalog, Unity Catalog and Apache Polaris are examples. Platform catalogs bundle discovery and governance for the data inside 1 vendor's platform. Snowflake Horizon, Google Cloud's Knowledge Catalog and Microsoft Purview are examples.

The word catalog covers all 3, which is why feature lists mislead. A team asking for a catalog so analysts can find the right table needs a discovery catalog, and a team asking for one so Spark and Trino can share Iceberg tables needs an engine catalog. Many stacks end up with both, and the discovery catalog ingests from the engine catalog.

Open source data catalogs side by side

DataHub
  • LicenseApache 2.0
  • Built onMySQL, ES, Kafka
  • Metadata gets in byPython recipes (YAML)
OpenMetadata
  • LicenseApache 2.0
  • Built onDatabase + search index
  • Metadata gets in byScheduled UI agents
Apache Atlas
  • LicenseApache 2.0
  • Built onJanusGraph, HBase, Solr
  • Metadata gets in byHooks into Hadoop tools
Amundsen
  • LicenseApache 2.0, archived
  • Built onNeo4j, Elasticsearch
  • Metadata gets in byDatabuilder scripts

Which open source data catalog fits which team

DataHub is built around an event stream. Its metadata service stores entities and publishes every metadata change to Kafka, which feeds the search index and the graph, and a Python ingestion framework run from a YAML file pushes metadata in through Kafka or the REST API. The repository has about 12.9k stars as of 2026-11-03, its latest release is v1.8.0 (2026-10-22), and its maintainers also sell a hosted version, DataHub Cloud. It fits a team that already runs Kafka, wants to push metadata from its own pipelines and doesn't mind operating several stateful services.

OpenMetadata centres on a UI. An admin registers a service and picks one of its 130+ connectors. After testing the connection, they schedule agents for metadata and usage, for lineage and dbt, and for profiling. The repository has about 15.7k stars, and the latest release is 2.0.7 (2026-10-27). It fits a team that wants analysts and stewards to set up sources without writing ingestion code. It also ships data quality tests and a profiler in the same product.

Apache Atlas comes from the Hadoop world. It offers a type system with classifications, plus lineage, search and security. Its hooks cover Hive, HBase, Sqoop and Kafka, and the store behind it is JanusGraph with HBase and Solr. It fits an organisation whose estate is still Hive and Hadoop and which wants classification tags to drive access policy. Outside that estate, the hooks have little to hook into.

Amundsen, a search-first catalog with a Flask frontend, an Elasticsearch search service and a metadata service on Neo4j or Apache Atlas, was archived in September 2026 for inactivity. Its repository (about 4.8k stars) is read-only. Existing installs keep working, but a new evaluation should start elsewhere, since nobody will fix a bug or add a connector.

Unity Catalog is the fourth open source name that turns up, and it is an engine catalog. The open source server (about 3.6k stars, latest release v0.7.0) is a sandbox project of the LF AI & Data Foundation. It manages tables, files, functions and AI models, and it's compatible with the Hive Metastore API and the Iceberg REST catalog API. Apache Polaris plays the same role for Iceberg tables. Both answer where a table lives. Neither replaces a place where an analyst searches for the right one.

Prepare for the interview
01 / Open invite
02min.

Know Data Catalog Tools the way the interviewer who asks it knows it.

a Data Catalog Tools query, the same shape a screen would give you.
The diff against expected. Where ties broke. What you missed.
sandbox
1source → bronze → silver → gold
2 ingest : CDC + Kafka
3 transform : dbt + Airflow
4 serve : Snowflake
5
Execute your solution0.4s avg.
PinterestInterview question
Solve a Data Catalog Tools problem

Engine catalogs and discovery catalogs sit in different places

An engine catalog sits on the query path. Every time an engine like Spark runs a query, it asks the catalog which files make up a table and what its schema is. Trino and Athena do the same. So the catalog has to be fast, always available and strict about consistency. A discovery catalog sits beside the data. It reads metadata from the sources on a schedule or as events arrive, and a person searches it before writing any query.

The difference decides what a failure costs. If an engine catalog goes down, queries fail. If a discovery catalog goes down, people lose search until it returns, and ownership and lineage views go with it, but the pipelines keep running. The discovery catalog can list the engine catalog as one more source to ingest, which is why the 2 combine well.

2 paths. Top: query engines Spark and Trino read an engine catalog on every query to find the table files. Bottom: a discovery catalog ingests metadata from the engine catalog, the warehouse and BI tools, and people search it2 paths. Top: query engines Spark and Trino read an engine catalog on every query to find the table files. Bottom: a discovery catalog ingests metadata from the engine catalog, the warehouse and BI tools, and people search it

Catalogs built into the data platform

Each large platform now ships a catalog, and for data that lives on that platform it is often the first one to evaluate because there's nothing to install. The trade is reach: each catalog sees its own platform best and everything else through connectors.

The AWS Glue Data Catalog stores the location and schema of your data, plus runtime metrics. Crawlers scan sources to populate it, or you define tables by hand. Athena, Lake Formation, EMR and Redshift Spectrum all read it. It's the default engine catalog for lakes on S3, and it offers column statistics, lineage records and, in preview, glossary terms.

Databricks Unity Catalog governs data and AI assets under a catalog.schema.object namespace. It enforces privileges and row and column filters, and it tracks lineage; the Catalog Explorer handles search. Snowflake Horizon Catalog adds column-level lineage across Snowflake, external databases and BI tools. It also classifies sensitive data and exposes an Iceberg REST catalog API, so Spark, Flink and Trino can read Snowflake-managed Iceberg tables. Google Cloud's Knowledge Catalog, formerly Dataplex Universal Catalog, harvests BigQuery and Looker automatically, along with Pub/Sub, Cloud Storage and other sources. It attaches aspects such as schema, contacts and data quality, with a business glossary on top.

Microsoft Purview pairs a Data Map with a Unified Catalog inside a wider data security and compliance suite. It fits an organisation that already governs its data through Microsoft tooling and wants one place for sensitivity labels and discovery. Whichever platform you run, check how far the catalog sees outside it before assuming it covers the whole estate.

Commercial data catalogs and hosted open source

Atlan and Collibra are commercial catalogs that run as hosted products, and so is Alation. A commercial catalog, or a hosted version of an open source one such as DataHub Cloud, mostly buys you someone else carrying the operations. That means upgrades and scaling the stores underneath. It also covers connector maintenance and gives you an escalation path when ingestion breaks at 2 a.m.

That makes the decision a staffing question as much as a feature one. A platform team of 2 that already runs Kubernetes and Kafka can absorb DataHub. A team of 2 that also owns every dashboard may spend more on upkeep than the license would cost. Count the engineer hours a self-hosted catalog takes per month against a quote, using your own connector list rather than a vendor demo.

Which kind of catalog fits which situation

SituationWhat fitsWhy
Analysts cannot find or trust tables across a warehouse and BI toolsA discovery catalog such as DataHub or OpenMetadata, or the platform catalog if everything sits on 1 platformSearch, owners and descriptions are the problem, and a discovery catalog is built for exactly that
Spark, Trino and Flink need to share Iceberg tablesAn engine catalog such as Apache Polaris, Unity Catalog or Snowflake Horizon through the Iceberg REST protocolEngines resolve tables through the catalog on every query, so it must speak the protocol they do
The estate is on AWS with data in S3 queried through Athena or EMRThe AWS Glue Data Catalog as the engine catalog, with a discovery catalog added if search mattersGlue is already what those services read, and crawlers fill it with no extra install
Hive and Hadoop clusters need classification tags that drive policyApache AtlasIts hooks and type system were built for that estate and its security integrations
A small platform team that cannot run several stateful servicesThe platform catalog, or a hosted catalogOperating the stores underneath is the cost that grows fastest with a self-hosted catalog
A team that wants to push metadata from its own pipelines as they runA catalog with an event or API ingestion path, such as DataHubMetadata arrives when the job finishes instead of waiting for the next scheduled scan

What to evaluate before choosing a data catalog

Start from coverage, not features. List the 10 sources your analysts query and your engineers touch most: the warehouse, the lake, the orchestrator, the transformation tool, the BI tool and event streams. A catalog is worth adopting only if it ingests most of them with maintained connectors, since an asset missing from the catalog sends people back to asking in chat.

Then test lineage on a real table. Lineage is only as complete as what feeds it, and the sources differ: parsed query logs, a transformation tool such as dbt, or run events in the OpenLineage format. Pick 1 dashboard and check that the catalog walks back from it to the raw source, including the hop through your orchestrator. A gap at 1 hop breaks every upstream walk past it.

Check ownership and freshness of the metadata itself. A catalog full of tables with no owner and a 2-year-old description is worse than none, because it looks authoritative. Look for owner assignment from the source, such as a dbt meta field or a warehouse tag, and for a way to flag stale or deprecated assets.

Last, price the operations. List every service the catalog needs to run, who patches each one and what happens to search while an upgrade runs. For a self-hosted catalog this list is the real bill, and for a platform catalog it is zero but the coverage ends at the platform's edge.

Metadata management tools beyond the catalog

A catalog is one tool in a metadata stack. A transformation tool such as dbt produces table lineage from its model references, and teams that use it often want to see dbt interview questions before they decide where documentation should live. A lineage collector records which job read and wrote which dataset. OpenLineage is the open specification for those records. It defines entities for datasets, jobs and runs, with facets that add detail, and it's a graduate project of the LF AI & Data Foundation. It has integrations for Airflow, Spark, Flink, dbt and Trino, among others. Marquez is its reference implementation for storing and browsing the events.

Schema registries hold the contracts for event streams. Data quality and observability tools measure freshness and volume and check values, then feed their results into the catalog so a table's page shows whether it is healthy right now. The deeper guides cover each: data lineage goes into how the graph is built, data observability covers the checks, and data governance covers the policies a catalog helps enforce.

Treat the catalog as the place where those signals meet people. It rarely generates them. A team that buys a catalog hoping it will create ownership and lineage, and quality checks, by itself usually gets an empty index, and the fix is upstream, in the tools that emit the metadata.

How to run a 2 week data catalog proof of concept

  1. 01

    Pick the questions it must answer

    Write down 5 questions people ask today, such as who owns this table, where does this dashboard number come from and which table is the source of truth for revenue.

  2. 02

    Ingest the sources behind those questions

    Connect the warehouse and the transformation tool, then 1 BI tool, and note how many of the connectors needed custom work.

  3. 03

    Walk lineage from a real dashboard

    Start at 1 dashboard and follow lineage back to the raw source, counting every hop the catalog drops.

  4. 04

    Let 3 people who did not set it up search

    Give each of them 2 of the questions and watch whether they find the answer without help.

  5. 05

    Record the operating cost

    List every service you had to run, the engineer hours the 2 weeks took and what an upgrade would involve.

How data catalogs come up in data engineering interviews

Catalog questions rarely ask you to name a product. They appear inside design questions: how would analysts discover the tables this pipeline produces, how do you know who to page when a source breaks, how do you stop people building on a deprecated table. The answer is metadata. Record ownership and lineage where people search, show freshness there too, and draw a clear line between what's automatic and what a steward must write.

A strong answer separates the 2 catalogs. Say that engines need an engine catalog on the query path and that people need a discovery catalog beside it, then say which signals feed the second. The data pipeline interview questions and data pipeline practice problems cover the design side, and the system design round guide shows how interviewers probe operability.

Data catalog tools FAQ

What is a data catalog tool?+
A data catalog tool collects metadata about your data assets (tables, columns, dashboards, pipelines), keeps it searchable and attaches the context people need to trust it: owners, descriptions, tags and usage history, with lineage on top. Some catalogs are built for people who search for data, and others are built for query engines that resolve table names.
What is the best open source data catalog?+
It depends on the stack and on who will run it. DataHub and OpenMetadata are maintained discovery catalogs with different architectures, and Apache Atlas is a third. Unity Catalog and Apache Polaris are engine catalogs. Amundsen was archived in September 2026.
What is the difference between a data catalog and metadata management?+
Metadata management is the whole practice of collecting and storing metadata, and then governing it and putting it to use. A data catalog is the tool most teams use for the discovery part of it. Lineage collectors and schema registries are metadata management tools too, and so are data quality tools and access policy engines. A catalog often ingests from them.
Is Hive Metastore, AWS Glue Data Catalog or Unity Catalog a data catalog?+
They are engine catalogs: query engines read them to find where a table lives and what its schema is. They also hold metadata, so they count as catalogs, but business search is not what they're built around, and glossaries or stewardship workflows aren't their focus. Many teams run one of them as the source and a discovery catalog on top.
Is Apache Polaris a data catalog?+
Apache Polaris is a catalog for Apache Iceberg tables. Spark reaches it over the Iceberg REST protocol, and Flink and Trino do the same. That makes it an engine catalog. It answers where a table is, not which table a person should use.
Can a data catalog show lineage?+
Yes, most can store it, but a catalog only shows the lineage something feeds it. Lineage arrives from query logs, from a transformation tool such as dbt, or from events emitted by jobs in the OpenLineage format. A catalog with empty lineage usually means nothing is emitting it yet.
Do I need a data catalog if I already use dbt docs?+
dbt docs cover the models and sources of 1 dbt project, plus its tests. A catalog adds the assets dbt does not see, such as raw tables, dashboards, event streams and ML features, and it gives you ownership and search across all of them. A team with 1 project and few consumers can start with the docs.
02 / Why practice

The candidate who gets the offer

  1. 01

    Reading a solution is not the same as writing one

    Every engineer who has frozen on a query they had read a dozen times knows the gap. The only preparation that closes it is producing the answer yourself, under time, before the interview does it for you

  2. 02

    76% of hiring managers reject on the coding task, not the resume

    From HackerRank's 2024 Developer Skills Report. Candidates who look strong on paper still fail the live screen if they haven't done timed, executable practice

  3. 03

    System design comes down to the calls you defend out loud

    Ingestion, batch vs streaming, the bronze/silver/gold layers, idempotency, backfill and replay. Sketching the pipeline and naming the failure modes is the signal, not the boxes

Related guides