はじめに
DataHubは、オープンソースのモダンなデータカタログとして、企業のデータ資産の管理・発見・品質管理を実現するための強力なプラットフォームです。
本記事では、DataHubの主要コンポーネント(Metadata Service、Frontend、Ingestion Frameworkなど)の役割と連携について解説します。
DataHubの主要コンポーネント
DataHubは、複数の独立したコンポーネントから構成される分散システムです。
各コンポーネントが特定の責務を担い、連携して動作することで、柔軟で拡張性の高いデータカタログプラットフォームを実現しています。

メタデータサービスは収集したメタデータを統一されたスキーマで保存・管理する中核サービスで、以下の機能を提供します:
- メタデータの永続化と管理
- REST, GraphQL APIエンドポイント
- アクセス制御とセキュリティ
- メタデータの変更履歴管理
DataHubをローカル環境にデプロイする手順は以下の通りです。前提としてDockerの事前インストールが必要です。
DataHub is now running
のメッセージが表示されたら、ブラウザから http://localhost:9002 DataHub UIに移動できます。
以下のデフォルトの認証情報を使用してサインインしてください。
Frontend Service
Frontendは、Reactベースのフレームワークで構成されており、直感的な操作性を実現します。主に以下の機能を提供します:
- データセットの検索・閲覧
- メタデータの編集
- データリネージの可視化
- ユーザー管理機能
Frontendの画面操作イメージは、上記手順でローカル環境にセットアップするか、下記の公式デモをご参照ください。

https://demo.datahubproject.io/
Ingestion Framework
Ingestion Frameworkは、Kafkaを利用してデータソースからメタデータを収集し、DataHubに取り込むためのフレームワークです:
- 様々なデータソースに対応するコネクタ
- スケジュール実行機能
- 差分取り込み機能
インジェスト手順
- インジェストソースの作成
- レシピを設定
- シークレットの作成と参照
- 実行のスケジュール
Search Service
Elasticsearchをベースとした検索エンジンで、以下の機能を提供します:
- 全文検索
- ファセット検索
- オートコンプリート
- 検索結果のランキング

各コンポーネントの役割と連携
DataHubは、上記のコンポーネントが相互に連携することで、全体として一貫性のあるメタデータ管理とデータディスカバリーを実現しています。
連携のフロー例
- データ収集 (Ingestion Framework):各種データソースからメタデータを収集し、共通フォーマットに変換。
- メタデータ格納 (Metadata Service):収集されたメタデータをデータベースに格納。API経由で他のサービスにも提供。
- ユーザーインターフェース (Frontend) Serviceから提供されたデータを利用して、検索、フィルタリング、リネージグラフ表示を実現。
- データ品質管理 (Metadata Service):定義されたルールに基づき、メタデータの状態や更新を監視。問題が発生した場合は通知やエラー解析に活用。
まとめ
DataHubは、メタデータ管理から品質管理までデータ駆動型組織に必要な機能を備えており、技術的にも拡張性やカスタマイズ性が高い点も大きな強みです。今後もDataHubは、データ駆動型組織を支える重要な基盤として発展していくことでしょう。
このブログ記事が、DataHubの全体像と各コンポーネントの連携について理解を深める一助となれば幸いです。
参考

備考
Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
