DataHubはLinkedIn発のオープンソースデータカタログで、メタデータ収集・検索・リネージ・ガバナンスを一つのプラットフォームで提供します。2026年時点で最も活発に開発されているOSSデータカタログの1つであり、dbtとの統合も手厚いため、モダンデータスタック採用チームの有力な選択肢です。

DataHubとは何か

DataHubはLinkedIn社が社内用に開発し、2020年にオープンソースとして公開したデータカタログおよびメタデータプラットフォームです。「どこに何のデータがあり、誰が使い、どう変換されているか」を一元管理することを目的としています。

従来のデータカタログが静的なメタデータストアに近かったのに対し、DataHubはイベント駆動で動的にメタデータを取り込む設計です。Snowflake、BigQuery、dbt、Airflow、Kafkaといった主要ツールからメタデータを収集し、GraphQL APIで検索・参照できます。

DataHubのアーキテクチャ

DataHubは複数のマイクロサービスから構成されます。メタデータストア(MySQLまたはPostgres)、検索エンジン(Elasticsearch)、イベントストリーム(Kafka)、GraphQL API、フロントエンドが中核です。この構成により、メタデータの取り込みと検索がスケールする設計になっています。

全体像をテキストベースで示します。

【DataHubアーキテクチャ概念図】

  [Source Systems]
  Snowflake / BigQuery / dbt / Airflow / Kafka / BI
           |
           v
  [Ingestion Framework (CLI / UI)]
           |
           v
  [Kafka Event Bus] --> [GMS: Metadata Service]
                              |
          +-------------------+-------------------+
          v                   v                   v
   [MySQL / Postgres]  [Elasticsearch]     [Neo4j (optional)]
    メタデータ本体       検索インデックス       リネージグラフ
          |
          v
   [GraphQL API] <-- [React Frontend]

※ Ingestionは定期バッチ、またはイベント駆動で実行します。

主な機能

DataHubが提供する機能は多岐にわたります。代表的なものを表に整理しました。

機能カテゴリ機能概要
メタデータ収集Ingestion Framework50以上のソースに対応、YAML設定で実行
検索全文検索 + ファセットElasticsearchベース、自然言語検索対応
リネージカラム単位リネージdbt / SQLパースによる自動追跡
ガバナンスタグ / ドメイン / オーナーシップメタデータの責任者を明示
用語集Business Glossary業務用語の定義と紐付け
データ品質Assertions / 品質サマリdbt testsやGE結果を取り込み
APIGraphQL / REST外部システムとの連携に利用

メタデータの取り込みはDataHub CLIを通じてYAMLで宣言します。以下はSnowflakeからメタデータを取り込む設定例です。

source:
  type: snowflake
  config:
    account_id: xyz12345
    warehouse: COMPUTE_WH
    username: ${SNOWFLAKE_USER}
    password: ${SNOWFLAKE_PASSWORD}
    role: DATAHUB_ROLE
    include_table_lineage: true
    profiling:
      enabled: true
sink:
  type: datahub-rest
  config:
    server: http://datahub-gms:8080

DataHubの導入方法

DataHubの導入形態は3つあります。Docker Composeによるクイックスタート、Kubernetesでの本格運用、そして商用SaaSのAcryl Cloudです。評価目的ならDocker Composeが最速で、以下の手順で起動できます。

python3 -m pip install --upgrade acryl-datahub
datahub docker quickstart
datahub docker ingest-sample-data
# ブラウザで http://localhost:9002 を開く

本番運用では、Helm chartを使ったKubernetesデプロイが推奨されます。メタデータのバックアップ、Elasticsearchのスケーリング、Single Sign-On連携などを整える必要があります。

モダンデータスタックの中核であるdbtとの統合は特に手厚く、dbt manifestとrun_resultsを読み込むだけで、モデル定義・テスト・リネージがDataHubに取り込まれます。

source:
  type: dbt
  config:
    manifest_path: "./target/manifest.json"
    catalog_path: "./target/catalog.json"
    run_results_paths: ["./target/run_results.json"]
    target_platform: snowflake

DataHubのメリットと課題

DataHubは強力なOSSですが万能ではありません。メリットと課題を整理すると次のようになります。

観点メリット課題
機能リネージ・検索・ガバナンスが充実UIの学習コストあり
コミュニティ活発、Slackで質問可能日本語情報は限定的
拡張性マイクロサービス構成で水平スケール運用負荷が高め
統合dbt / Airflow / Snowflake等と標準連携独自システムは自作が必要
コストOSSで無料、クラウドリソース次第Elasticsearch等のリソース要件が高い
セキュリティRBAC / SSO対応設定項目が多く、初期の作り込みが必要

DataHub vs Acryl Data(商用版)

DataHubの開発を主導するAcryl Data社は、商用SaaSとしてAcryl Cloudを提供しています。OSS版と商用版の主な違いを整理しました。

項目OSS DataHubAcryl Cloud
運用形態セルフホストSaaS
インフラ管理自社で構築・運用ベンダーが担当
サポートコミュニティ商用SLA
追加機能なし観測性、SLA、高度なガバナンス
コストインフラ費のみユーザー数ベースの課金
向くチーム運用リソースあり導入スピード重視

まとめ

DataHubは、モダンデータスタックを採用するチームにとって最も現実的なOSSデータカタログの選択肢です。dbt連携の手厚さ、活発な開発、豊富な機能がそろっており、PoCから本番運用までスムーズに移行できます。まずはDocker Composeで体験してみるところから始めましょう。

よくある質問

DataHubは無料で使えますか?

はい。OSS版は完全無料です。商用版のAcryl CloudはSaaSとして提供され、追加のガバナンス機能とサポートが含まれます。運用リソースがあるチームならOSS、ないチームなら商用版という住み分けが自然です。

DataHubの導入にはどのくらいのインフラが必要ですか?

Docker Compose構成で最低4GB RAM・2CPUのサーバーが必要です。本番運用ではKubernetesデプロイが推奨されます。Elasticsearchのメモリ要件が相対的に大きいため、取り込み対象の規模に応じて増強してください。

DataHubはdbtと連携できますか?

はい。dbtのメタデータ(モデル定義、テスト、リネージ)をDataHubに自動取り込みできます。datahub-dbt-integrationパッケージで設定可能です。dbt中心のデータ基盤ではこの連携が最大の価値源泉となります。