データカタログに求められる機能と
OpenMetadataでどのように実現されているかのご紹介
Data Engineering Study #25
DATUM STUDIO株式会社
川口
2024/08/28
© 2024 DATUM STUDIO Co. Ltd.
本日話すこと
• データカタログの概要
• OpenMetadataの紹介 ← ボリューム多め
• データカタログ(OpenMetadata)の活用方法例
• OSS活動
© 2024 DATUM STUDIO Co. Ltd. 2
自己紹介
名前
• 川口
所属
• DATUM STUDIO株式会社
• データエンジニアリング本部
• データエンジニア部
最近は主にデータ基盤構築のプロジェクトに携わっています
© 2024 DATUM STUDIO Co. Ltd. 3
会社紹介 | DATUM STUDIO
Unleash Your Possibilities
~データと先端テクノロジーで経営課題を解決するデータ分析コンサルティング・ソフトウェア開発企業~
Investment
DX
Services
Alliance
&
Growth
Digital
Products
R&D支援
AI・データアナリティクス
ニーズ/シーズを発見するためのDXコンサルティング
幅広い企業ニーズに対応可能なSaaSビジネス
事業創造のためのアライアンス
SaaS型AIツール
業界特化AIアルゴリズム
IT・デジタルストラテジー
マネジメントコンサルティング
M&A
Collaboration
データエンジニアリング
© 2024 DATUM STUDIO Co. Ltd. 4
会社紹介 | DATUM STUDIO
様々な企業にデータプラットフォームの導入支援を行っています
システムA
システムB
システムC
データ転送
Raw Data
Transformed
Data
データ統合
データ変換
データ可視化
データ分析
DATUM STUDIOが提供するクラウド型データプラットフォームの例
© 2024 DATUM STUDIO Co. Ltd.
データカタログの概要
© 2024 DATUM STUDIO Co. Ltd. 6
データカタログとは?
• 組織内のデータ資産の整理された目録 ※
• メタデータを使用して組織がデータを管理できるようにする
• データの専門家がメタデータを収集、整理、強化してデータの発見とガバナンスをサポート
するのに役立つ
• 図書館の蔵書検索システムみたいなもの
※ 参考: What Is a Data Catalog and Why Do You Need One?
• https://www.oracle.com/big-data/data-catalog/what-is-a-data-catalog
© 2024 DATUM STUDIO Co. Ltd. 7
データカタログとは?
• 図書館の蔵書検索システムみたいなもの
図書館における
蔵書管理システム
組織における
データカタログ
蔵書管理
システム
データカタログ
〜〜について調べたいから
〇〇についての資料を読みたい
〜〜について分析したいから
〇〇のデータを使用したい
資料の所在がわからない → 資料が活用されない
データの所在がわからない → データが活用されない
市民
データサイエンティスト
© 2024 DATUM STUDIO Co. Ltd. 8
データカタログとは?
• 図書館の蔵書検索システムみたいなもの
図書館における
蔵書管理システム
組織における
データカタログ
〜〜について調べたいから
〇〇についての資料を読みたい
〜〜について分析したいから
〇〇のデータを使用したい
蔵書管理
システム
データカタログ
どのような資料がどこにあるかを管理
どのようなデータどどこにあるかを管理
① 資料を検索する
② 資料を利用する
① データを検索する
② データを利用する
市民
データサイエンティスト
© 2024 DATUM STUDIO Co. Ltd. 9
データカタログとは?
• 図書館の蔵書検索システムみたいなもの
図書館における
蔵書管理システム
組織における
データカタログ
〜〜について調べたいから
〇〇についての資料を読みたい
〜〜について分析したいから
〇〇のデータを使用したい
蔵書管理
システム
データカタログ
どのような資料がどこにあるかを管理
どのようなデータがどこにあるかを管理
禁帯出
個人情報
市民
データサイエンティスト
データの利用制限についても管理する
資料の利用制限についても管理する
※ データカタログ自体がアクセス制限をするわけではない
© 2024 DATUM STUDIO Co. Ltd. 10
メタデータとは?
データカタログの文脈におけるメタデータは主に以下の3種類からなる
テクニカルメタデータ ビジネスメタデータ オペレーショナルメタデータ
ソースシステムにおける技術的な情報
例:
• DBのテーブル名・カラム名・データ型
• BIツールのダッシュボード名
• データリネージ
データの内容や業務に関する情報
例:
• テーブル・カラムなどの説明
• データ品質の規則と測定結果
• データオーナー
• データのプライバシーレベルなどの分類
データの処理に関する情報
例:
• クエリのログと頻度、実行時間など
• バッチプログラムの実行ログ
• これらのメタデータを包括して扱うことで、よりよいデータカタログになる
• ビジネスメタデータは必ずしもソースシステムから取得できないので、データカタログ側での人手での整備も
必要になってくる
© 2024 DATUM STUDIO Co. Ltd. 11
メタデータ管理における主な登場人物
データスチュワード
データオーナー
データコンシューマー
• 組織にとって最善の利益のためにデータ資産を管理する
• 組織のステークホルダーの利益を代弁し、企業のデータを高品質で効果的
に利用できるようにするために全社的な視点を持つ
• 自分の担当分野内のデータに関する意思決定の承認権限を持つ
• 日々の業務で様々なデータ資産を使用する
© 2024 DATUM STUDIO Co. Ltd. 12
データカタログの概観
組織のいろいろなシステムからメタデータを抽出して一箇所で管理する
データカタログ
MySQL
PowerBI
Salesforce
Snowflake
Tableau
Postgres
Airflow
BigQuery
ElasticSearch
Redshift
SageMaker
Fivetran
© 2024 DATUM STUDIO Co. Ltd. 13
管理されたメタデータで可能になること
• データ資産を一貫性を持って把握でき、組織を横断する開発がより効率的になる
• データのコンテキストを提供、データ品質の測定を可能にしてデータへの信頼を向上させる
• 戦略的な情報(例えばマスタデータ)を多様な用途に利用できるようにしてその価値を
高める
• データを活用した調査に要する時間を短縮する
• データ利用者とエンジニア間のコミュニケーションを改善する
• 影響分析が正確になり、プロジェクト失敗のリスクを減らせる
• 法規制遵守を支援する
【DMBOK 第二版】 第12章メタデータ管理 より
© 2024 DATUM STUDIO Co. Ltd. 14
データカタログの主要機能
• さまざまなサービスのメタデータを一元管理して、簡単に検索したりアクセスでき
たりする
• APIなどを通して収集したメタデータを利用できる
• テーブル間だけでなくサービス間のデータの流れを追跡できる
• 個人情報データを識別する、データ保持ポリシーなどを共有する
• Glossary(ビジネス用語集)によってデータに対する共通の理解を促進する
ディスカバリー
データリネージ
データガバナンス
データクオリティ • データ品質の測定してデータの信頼性を保証する
© 2024 DATUM STUDIO Co. Ltd.
OpenMetadataの紹介
© 2024 DATUM STUDIO Co. Ltd. 16
OpenMetadata の概要
OpenMetadata は2021年に開発が開始された後発のOSSのデータカタログツール
アーキテクチャのシンプルさに重点を置いているが、豊富な機能を有している
OpenMetadataの概要 メタデータリポジトリにさまざまなソースのメタデータを取り込み、
ユーザーにUIやAPIを通してメタデータを提供
• OSSのデータカタログ (Apache License 2.0)
• Uberでのデータカタログ構築経験をもとに開発されている
• 機能が豊富だが、依存関係を最小限に抑えたシンプルなアー
キテクチャ
• メタデータ抽出可能な60以上のコネクター
• 開発が活発
• メジャー機能リリースは4〜6週間ごと
• マイナーなバグ修正は2週間ごと
• 2021年8月に開発を開始し、2023年4月にv1.0をリリース
• 最新は v1.4.8、もうすぐ v1.5 がリリース予定
• UIの表示を日本語に変更可能
UI
Snowflake
BigQuery
Tableau
Airflow
バッチジョブ
バッチジョブ
バッチジョブ
バッチジョブ
Batched Pull
Push
データソース
カスタムジョブ
ユーザー
API
包括的なAPIが提供されるため
カスタマイズ・自動化も可能
通常は、ユーザーはUIを通して
バッチジョブの設定やメタデータ
の閲覧・編集をする
メタデータリポジトリ
© 2024 DATUM STUDIO Co. Ltd. 17
OpenMetadata のアーキテクチャ
https://docs.open-metadata.org/developers/architecture
OpenMetadata は大きく分けて4つのコンポーネントから構成される
✓ メタデータスキーマを定義したJsonSchema / HTTP
API Server / OpenMetadata UI を持つ
OpenMetadata
platform
Airflow
MySQL
ElasticSearch
✓ データソースからメタデータを取り込むバッチ処理やテストなど
を実行する(外部システムと繋ぐ)
✓ OpenMetadataが作成した専用パッケージをインストール
することで、UIから抽出DAGを直接デプロイすることができる
• 専用パッケージがインストールされたAirflowは
OpenMetadataがimageを配布している
✓ メタデータを保存する
✓ Postgresもサポートされている
✓ ユーザーが快適にUIを使用するためのインデックスシステム
© 2024 DATUM STUDIO Co. Ltd. 18
OpenMetadata の主要機能 | ディスカバリー
OpenMetadata ではサービスを8つのカテゴリに分類しており、そのカテゴリごとに共通のメタデータ
スキーマを定めている
Database /
DataWarehouse
Dashboard
Messaging
Pipeline
ML Model
Storage
Metadata
Search
サービス種類
MySQL / Postgres / Oracle / Hive / MongoDB /
DynamoDB / Salesforce / SAP Hana / Snowflake /
BigQuery / Redshift / Databricks など
Domo / Looker / PowerBI / QuickSight / Tableau な
ど
Kafka / Kinesis / Redpanda
Airbyte / Airflow / Dagster / Databricks / Domo /
Fivetran / Glue など
MLflow / Sagemaker
S3
Amundsen / Atlas
Elasticsearch
コネクターがある具体的なサービス
Database > Schema > Table の階層構造を持つ
データベース名 / スキーマ名 / テーブル名 / カラム情報 /
description / DDL / タグ / ストアドプロシージャ
Dashboard > Chart の階層構造を持つ
ダッシュボード名 / チャート名 / データモデル / SQL
トピック名 / フィールド情報
パイプライン名 / パイプラインステータス / タスク
特徴量 / ハイパーパラメータ
バケット名 / バケットの合計サイズ / ファイル数
抽出したものを各メタデータとして格納
index名 / フィールド情報
抽出メタデータの例
© 2024 DATUM STUDIO Co. Ltd. 19
OpenMetadata の主要機能 | ディスカバリー
OpenMetadata ではサービスを8つのカテゴリに分類しており、そのカテゴリごとに共通のメタデータ
スキーマを定めている
Database /
DataWarehouse
Dashboard
Messaging
Pipeline
ML Model
Storage
Metadata
Search
サービス種類
MySQL / Postgres / Oracle / Hive / MongoDB /
DynamoDB / Salesforce / SAP Hana /
Snowflake / BigQuery / Redshift / Databricks な
ど
Domo / Looker / PowerBI / QuickSight /
Tableau など
Kafka / Kinesis / Redpanda
Airbyte / Airflow / Dagster / Databricks / Domo
/ Fivetran / Glue など
MLflow / Sagemaker
S3
Amundsen / Atlas
Elasticsearch
コネクターがある具体的なサービス
Database > Schema > Table の階層構造を持つ
データベース名 / スキーマ名 / テーブル名 / カラム情報 /
description / DDL / タグ / ストアドプロシージャ
Dashboard > Chart の階層構造を持つ
ダッシュボード名 / チャート名 / データモデル / SQL
トピック名 / フィールド情報
パイプライン名 / パイプラインステータス / タスク
特徴量 / ハイパーパラメータ
バケット名 / バケットの合計サイズ / ファイル数
抽出したものを各メタデータとして格納
index名 / フィールド情報
抽出メタデータの例
Database / Datawarehouse Service の抽出メタデータの例 Dashboard Service の抽出メタデータの例
→ サービスごとに抽出対象のメタデータは異なる
• 対応するメタデータが対象システムに存在しない場合もある
• 共通スキーマ外のメタデータはカスタムプロパティを使用可能
© 2024 DATUM STUDIO Co. Ltd. 20
OpenMetadata の主要機能 | ディスカバリー
各サービスからメタデータを抽出するには、主に2通りの方法がある
1. OpenMetadata UI からメタデータ取り込み(Ingestion)を実行
• OpenMetadata 用のカスタムプラグインを入れたAirflowが必要(すでにプラグインが入った Airflow
はOpenMetadata が image を配布している)
• OpenMetadata UIからコネクター・抽出対象の設定や実行スケジュールの設定が可能
source:
type: snowflake
serviceName: <service name>
serviceConnection:
config:
type: Snowflake
username: <username>
password: <password>
warehouse: <warehouse>
account: <account>
# database: <database>
includeTransientTables: false
clientSessionKeepAlive: false
...
sourceConfig:
config:
type: DatabaseMetadata
markDeletedTables: true
includeTables: true
includeViews: true
...
# databaseFilterPattern:
# includes:
# - database1
# - database2
# excludes:
2. 外部でメタデータ取り込み(Ingestion)を実行
• OpenMetadata Ingestion用のPythonパッケージをインス
トールして任意の環境で実行する
• コネクターや抽出対象の設定をyamlファイルに記載
• Pythonコードにワークフローを記載して実行する方法と、
metadataコマンドでyamlを指定して実行する方法がある
yaml のイメージ
© 2024 DATUM STUDIO Co. Ltd. 21
OpenMetadata の主要機能 | ディスカバリー
サービス・データアセットを横断してキーワード検索が可能
• 検索対象フィールドや and/or 条件を指定した詳細検索も可能
© 2024 DATUM STUDIO Co. Ltd. 22
OpenMetadata の主要機能 | データガバナンス
テクニカルメタデータにビジネスメタデータを付与することで、データの共通理解を深め、ガバナンスを
強化できる
• データオーナーとしてユーザーやチームを登録することで
• 他ユーザーにとっては、データに関して誰に問い合わせをすればよい
か明確に
• オーナーにとっては、自分の所有するデータアセットに絞ってメタデー
タの変更などを確認
タグ
ビジネス用語集
(Glossary)
データオーナー
• データアセットやカラムに付与可能
• 重要度や PII などのタグでデータを分類して、データ保護やセキュリ
ティの点でデータの適切な管理に使用できる
• 任意のタグを作成可能
• 組織で共通した用語の理解をするため、組織のビジネス語彙を定義
したもの
• データにセマンティクスを追加する
• 用語間の関係も定義可能(同義・親子・連想関係)
© 2024 DATUM STUDIO Co. Ltd. 23
OpenMetadata の主要機能 | データガバナンス
タグや Glossary はチーム・ユーザーを指定してレビューのタスクを設定することが可能
Glossaryのレビュータスク
Glossaryの一覧(レビューのステータスを確認できる)
© 2024 DATUM STUDIO Co. Ltd. 24
OpenMetadata の主要機能 | データリネージ
サービスを横断してデータリネージを作成することが可能
Salesforce
Snowflake
Tableau
Fivetran
DataModel
マート
DashBoard
© 2024 DATUM STUDIO Co. Ltd. 25
OpenMetadata の主要機能 | データリネージ
サービスを横断してデータリネージを作成することが可能
Salesforce
Snowflake
Tabealu
Fivetran
DataModel
マート
DashBoard
補足
• リネージは手動で追加・編集が可能
• カラムレベルリネージはView定義やクエリ履歴のSQL(例: create table as select …)からも
作成される
• テーブルやサービス間リネージ、またはカラムレベルリネージを作成できるかどうかはコネクター(サービ
ス)によって異なる
• テーブル間のカラムレベルリネージを作成できるかはSQLの複雑さによっても変わる
© 2024 DATUM STUDIO Co. Ltd. 26
OpenMetadata の主要機能 | データクオリティ
テーブルの行数やDML操作の時間
データプロファイラ機能としてテーブルの行数やカラムのNULL率・ユニーク率などを簡単にチェック可能
• メタデータ抽出と同様にスケジュール実行ができる
カラムごとのNULLとユニークな値の数や割合
メトリクスの例:
• NULL率
• ユニーク率
• 最小値
• 最大値
• 平均
• ヒストグラム
• 四分位数
• 歪度
© 2024 DATUM STUDIO Co. Ltd. 27
OpenMetadata の主要機能 | データクオリティ
テーブルやカラムに対してテストを設定
テーブルやカラムに対して任意のテストを設定して、データ品質を継続して監視することが可能
• メタデータ抽出と同様にスケジュール実行ができる
テスト結果の推移
(この場合は特定のカラムの最大値)
事前定義されたテストとカスタムSQLテストを使用できる
© 2024 DATUM STUDIO Co. Ltd. 28
OpenMetadata の主要機能 | データクオリティ
テストが失敗した場合、ユーザーをアサインしてタスクとして対応状況を管理することが可能
調査結果をコメントとして残せる
© 2024 DATUM STUDIO Co. Ltd. 29
メタデータとは?
データカタログの文脈におけるメタデータは主に以下の3種類からなる
テクニカルメタデータ ビジネスメタデータ オペレーショナルメタデータ
ソースシステムにおける技術的な情報
例:
• DBのテーブル名・カラム名・データ型
• BIツールのダッシュボード名
• データリネージ
データの内容や業務に関する情報
例:
• テーブル・カラムなどの説明
• データ品質の規則と測定結果
• データオーナー
• データのプライバシーレベルなどの分類
データの処理に関する情報
例:
• クエリのログと頻度、実行時間など
• バッチプログラムの実行ログ
• これらのメタデータを包括して扱うことで、よりよいデータカタログになる
• ビジネスメタデータは必ずしもソースシステムから取得できないので、データカタログ側での人手での整備も
必要になってくる
再掲
© 2024 DATUM STUDIO Co. Ltd. 30
メタデータとは?
データカタログの文脈におけるメタデータは主に以下の3種類からなる
テクニカルメタデータ ビジネスメタデータ オペレーショナルメタデータ
ソースシステムにおける技術的な情報
例:
• DBのテーブル名・カラム名・データ型
• BIツールのダッシュボード名
• データリネージ
データの内容や業務に関する情報
例:
• テーブル・カラムなどの説明
• データ品質の規則と測定結果
• データオーナー
• データのプライバシーレベルなどの分類
データの処理に関する情報
例:
• クエリのログと頻度、実行時間など
• バッチプログラムの実行ログ
• これらのメタデータを包括して扱うことで、よりよいデータカタログになる
• ビジネスメタデータは必ずしもソースシステムから取得できないので、データカタログ側での人手での整備も
必要になってくる
→ 自動化が難しくビジネスメタデータの収集や整備は停滞しやすい
再掲
© 2024 DATUM STUDIO Co. Ltd. 31
ビジネスメタデータの収集・整備
ビジネスメタデータの充足率を上げるためのデータカタログの機能の方針としては、主に2パターンあ
ると思います
① 生成AIなどを活用しできるだけ自動化する
• 例えば、descriptionを生成するような機能
• 特に有償製品では用いられることが多い
• OpenMetadataのSaaS版でもある機能
② ビジネスメタデータを入力しやすいような仕組みや機能を導入する
• データカタログ上でビジネスメタデータの入力を依頼したりタスクとして設定したりする
• メタデータについてコミュニケーションを取れる
→ OpenMetadata は②の方針が強く、
【コラボレーション機能】が豊富であることが特徴だと考えています
© 2024 DATUM STUDIO Co. Ltd. 32
OpenMetadata の主要機能 | コラボレーション
メタデータの入力を促す仕組みやメタデータについてコミュケーションを取るための機能がある
✓ ユーザーまたはチームを指定して、タグや
descriptionの作成・更新をリクエストするタ
スクを作成
✓ 自分で変更したものを、他ユーザーにチェック
して承認してもらうことも可能
タスク
会話スレッド
✓ データアセットやタグ・descriptionについて、
スレッドで他ユーザー・チームにメンションをつ
けてディスカッションができる
✓ スタンプも使用可能
OpenMetadata上でユーザー間のコミュニケーションがとりやすいため、
メタデータの追加・更新の依頼が容易に
© 2024 DATUM STUDIO Co. Ltd. 33
OpenMetadata の主要機能 | コラボレーション
データアセットにメタデータの変更履歴や会話スレッドが紐づき、データアセットについて他ユーザーと
共有する機能がある
アクティビティ
フィード
アナウンス
✓ データアセットについて予定されているイベント
や変更について、ユーザー全体に知らせる
✓ 例えば、アセットの削除・スキーマ変更の事前
通知として利用する
✓ データアセットについて、メタデータの変更履歴
やタスク・会話スレッドが集約される
✓ ホーム画面では自分がオーナーまたはフォロー
しているアセットについてのフィードを表示でき
る
メタデータの更新履歴のキャッチアップやアナウンスの確認により、
情報のサイロ化を防ぎ、組織を横断してメタデータと付加情報の共有が可能
© 2024 DATUM STUDIO Co. Ltd. 34
OpenMetadata の主要機能 | コラボレーション
データアセットのdescriptionやオーナーの充足率の推移を監視したり、いつまでに何%達成するな
どのKPIを設定できる
オーナーが設定されている
アセットの割合
descriptionが設定されている
アセットの割合
© 2024 DATUM STUDIO Co. Ltd. 35
OpenMetadata と DataHub との比較
• OpenMetadata と DataHub は共にOSSのデータカタログであり、重複している機能も多い
• 後発の OpenMetadata は DataHub を意識して開発※されており、アーキテクチャや機能において以下のよう
な差がある
OpenMetadata 比較点 DataHub
Apache License 2.0 ライセンス Apache License 2.0
2021年 8月
(元Uberのエンジニアが基礎から構築)
開始時期
2020年 2月
(LinkedIn社内製品からこの時期にスピンアウト)
Pullベース
メタデータ
取り込み方法
Pushベース・Pullベース
(一部のソースのみPushベースで取り込める)
比較的シンプル アーキテクチャ ちょっと複雑
• UI上で操作できる機能が多め
• SQL実行によるデータ品質テスト(DataHubだと
SaaS限定)
• ユーザー同士のコミュニケーション
• タスクの割り当てや承認
• メールやSlackのアラート作成
機能
• UI上で操作できない機能も多少ある
• より細かいメタデータを取得可能なことが多い印象
• メタデータ活用のため機能も充実
• GraphQLが提供され効率よくデータを取得できる
• Datahubのメタデータが変更されたら外部システム
でストリーミングでサブスクライブ可能(Kafka)
コラボレーション・テスト重視 メタデータの取り込み範囲が広め
リネージ重視
※ OpenMetadata の記事でも Datahub のアーキテクチャの複雑さについて言及し、OpenMetadataではシンプルさを重視していることが書かれている
https://blog.open-metadata.org/why-openmetadata-is-the-right-choice-for-you-59e329163cac
© 2024 DATUM STUDIO Co. Ltd. 36
OpenMetadata と DataHub との比較 | アーキテクチャ
• Datahub はストリーム指向であり、Kafka が利用されている
https://docs.open-metadata.org/developers/architecture https://datahubproject.io/docs/architecture/architecture/
OpenMetadata DataHub
© 2024 DATUM STUDIO Co. Ltd.
OpenMetadataの活用方法例
© 2024 DATUM STUDIO Co. Ltd. 38
OpenMetadata の活用例① | サービスを横断したデータリネージ
サービスを横断してデータソースまでのデータリネージを確認できることで、以下のように活用できる
ダッシュボードの値がおかしいため原因を調査したい
✓ ダッシュボードの値がおかしい際に、依存関係があるテーブルやパイプラインがすぐにわか
るので調査対象が明確になる
✓ メタデータの変更履歴やデータプロファイラの結果も活用できる
データ調査
影響分析
パイプラインの一部を変更したいのでどのテーブルやダッシュボードに影響があるのか把握したい
✓ 影響がある可能性がある後続のサービスがすぐにわかる
✓ 登録されたデータオーナーに連絡して変更の相談ができる
© 2024 DATUM STUDIO Co. Ltd. 39
OpenMetadata の活用例② | IF・関連システムの把握
データ基盤の構築前に関連システムのメタデータを収集して、組織のデータの全体感を把握する
設計・開発で必要な情報も確認しやすい(特にIF)
データ基盤
ソースシステム
ソースシステム
BIシステム
BIシステム
データカタログ
データカタログを参照しながら開発
ソースシステム
パイプライン
ストレージ
© 2024 DATUM STUDIO Co. Ltd. 40
OpenMetadata の活用例③ | マイグレーション
データ基盤やデータパイプラインのマイグレーション時に、関連システムの把握や新旧データ基盤のス
キーマが一致するかのチェックなどを行う
新データ基盤
ソースシステム
ソースシステム
BIシステム
BIシステム
データカタログ
データカタログを参照し、マイグレーション前後の
スキーマが一致するかを確認しながら開発
旧データ基盤
旧パイプライン BIシステム
ソースシステム
新パイプライン
© 2024 DATUM STUDIO Co. Ltd. 41
OpenMetadata の活用例③ | マイグレーション
データ基盤やデータパイプラインのマイグレーション時に、関連システムの把握や新旧データ基盤のス
キーマが一致するかのチェックなどを行う
新データ基盤
ソースシステム
ソースシステム
BIシステム
BIシステム
データカタログ
データカタログを参照し、マイグレーション前後の
スキーマが一致するかを確認しながら開発
旧データ基盤
旧パイプライン BIシステム
ソースシステム
新パイプライン
比較するテーブルを選択
PKを指定
テストが失敗したとする閾値
テストに使用するカラムを指定
比較するレコードを
フィルタするための条件
最新のバージョンにおいてテーブル間差分チェックのテストが追加されており、
マイグレーションのクオリティチェックも行いやすい
https://www.youtube.com/watch?v=oxZVS_UGrE4&t=10s
© 2024 DATUM STUDIO Co. Ltd.
OSS活動
© 2024 DATUM STUDIO Co. Ltd. 43
OSS活動を始めた理由
• データカタログはデータ基盤において重要なツールであると考えている
• 弊社ではデータ基盤構築の案件が多く、様々なメリットがあるデータカタログを導入し活用していき
たいと思っている
✓ データカタログを導入することがデータマネジメントに関する課題解決に繋がると考えている
• OpenMetadata はデータカタログとしての機能が充実しており、開発も活発で良いプロダクトだと
思っている
OpenMetadata の開発に貢献し、導入の機会を増やしたい
© 2024 DATUM STUDIO Co. Ltd. 44
OSS活動の内容
やってきたこと
• OpenMetadata を導入・機能検証する中で発見したバグの報告や改善要望のIssueの作成
• クライアントが必要としているが OpenMetadata では不足している機能の開発
✓ 必ずしもコネクター対象サービスの検証環境を OpenMetadata 開発主体側で持っていない
✓ 弊社側で動作確認できるものはできるだけ対応する
• 未解決の Issue の対応
• ドキュメントの修正PR
ちゅらデータの中垣さんも一緒に活動しています
よかったこと
• 開発をする中で OpenMetadata のアーキテクチャやメタデータ抽出・処理方法について、より理解が
深まった
• IssueやPRを見るので対応中やリリース予定の機能について早めに把握できる
© 2024 DATUM STUDIO Co. Ltd. 45
OSS活動で今後やりたいこと
• 弊社は Snowflake の導入実績が多く知見もあるため、特にSnowflakeコネクターに関する
開発において貢献したい
• コネクターの多さはデータカタログにおいて重要な点だと思うので、いつかコネクター追加の開発も
行いたい
今後も継続的に開発に貢献して OpenMetadata を活用していきたい
© 2024 DATUM STUDIO Co. Ltd.
まとめ
© 2024 DATUM STUDIO Co. Ltd. 47
まとめ
• データカタログを使用して組織のメタデータを管理することで、ガバナンスを効かせつつデータ活用を
促進できる
• データカタログの導入は後回しにされがちだが、データ基盤開発初期から入れるとデータの所在やIF
について把握できて開発がスムーズに進められるなどのメリットもある
• OSSのデータカタログであるOpenMetadataは、基本的なデータカタログとしての機能が備わってい
るのに加え、データクオリティやコラボレーション機能が豊富でビジネスメタデータをより充実させやすい
ツールだと考えている

データカタログに求められる機能と OpenMetadataでどのように実現されているかのご紹介

  • 1.
  • 2.
    © 2024 DATUMSTUDIO Co. Ltd. 本日話すこと • データカタログの概要 • OpenMetadataの紹介 ← ボリューム多め • データカタログ(OpenMetadata)の活用方法例 • OSS活動
  • 3.
    © 2024 DATUMSTUDIO Co. Ltd. 2 自己紹介 名前 • 川口 所属 • DATUM STUDIO株式会社 • データエンジニアリング本部 • データエンジニア部 最近は主にデータ基盤構築のプロジェクトに携わっています
  • 4.
    © 2024 DATUMSTUDIO Co. Ltd. 3 会社紹介 | DATUM STUDIO Unleash Your Possibilities ~データと先端テクノロジーで経営課題を解決するデータ分析コンサルティング・ソフトウェア開発企業~ Investment DX Services Alliance & Growth Digital Products R&D支援 AI・データアナリティクス ニーズ/シーズを発見するためのDXコンサルティング 幅広い企業ニーズに対応可能なSaaSビジネス 事業創造のためのアライアンス SaaS型AIツール 業界特化AIアルゴリズム IT・デジタルストラテジー マネジメントコンサルティング M&A Collaboration データエンジニアリング
  • 5.
    © 2024 DATUMSTUDIO Co. Ltd. 4 会社紹介 | DATUM STUDIO 様々な企業にデータプラットフォームの導入支援を行っています システムA システムB システムC データ転送 Raw Data Transformed Data データ統合 データ変換 データ可視化 データ分析 DATUM STUDIOが提供するクラウド型データプラットフォームの例
  • 6.
    © 2024 DATUMSTUDIO Co. Ltd. データカタログの概要
  • 7.
    © 2024 DATUMSTUDIO Co. Ltd. 6 データカタログとは? • 組織内のデータ資産の整理された目録 ※ • メタデータを使用して組織がデータを管理できるようにする • データの専門家がメタデータを収集、整理、強化してデータの発見とガバナンスをサポート するのに役立つ • 図書館の蔵書検索システムみたいなもの ※ 参考: What Is a Data Catalog and Why Do You Need One? • https://www.oracle.com/big-data/data-catalog/what-is-a-data-catalog
  • 8.
    © 2024 DATUMSTUDIO Co. Ltd. 7 データカタログとは? • 図書館の蔵書検索システムみたいなもの 図書館における 蔵書管理システム 組織における データカタログ 蔵書管理 システム データカタログ 〜〜について調べたいから 〇〇についての資料を読みたい 〜〜について分析したいから 〇〇のデータを使用したい 資料の所在がわからない → 資料が活用されない データの所在がわからない → データが活用されない 市民 データサイエンティスト
  • 9.
    © 2024 DATUMSTUDIO Co. Ltd. 8 データカタログとは? • 図書館の蔵書検索システムみたいなもの 図書館における 蔵書管理システム 組織における データカタログ 〜〜について調べたいから 〇〇についての資料を読みたい 〜〜について分析したいから 〇〇のデータを使用したい 蔵書管理 システム データカタログ どのような資料がどこにあるかを管理 どのようなデータどどこにあるかを管理 ① 資料を検索する ② 資料を利用する ① データを検索する ② データを利用する 市民 データサイエンティスト
  • 10.
    © 2024 DATUMSTUDIO Co. Ltd. 9 データカタログとは? • 図書館の蔵書検索システムみたいなもの 図書館における 蔵書管理システム 組織における データカタログ 〜〜について調べたいから 〇〇についての資料を読みたい 〜〜について分析したいから 〇〇のデータを使用したい 蔵書管理 システム データカタログ どのような資料がどこにあるかを管理 どのようなデータがどこにあるかを管理 禁帯出 個人情報 市民 データサイエンティスト データの利用制限についても管理する 資料の利用制限についても管理する ※ データカタログ自体がアクセス制限をするわけではない
  • 11.
    © 2024 DATUMSTUDIO Co. Ltd. 10 メタデータとは? データカタログの文脈におけるメタデータは主に以下の3種類からなる テクニカルメタデータ ビジネスメタデータ オペレーショナルメタデータ ソースシステムにおける技術的な情報 例: • DBのテーブル名・カラム名・データ型 • BIツールのダッシュボード名 • データリネージ データの内容や業務に関する情報 例: • テーブル・カラムなどの説明 • データ品質の規則と測定結果 • データオーナー • データのプライバシーレベルなどの分類 データの処理に関する情報 例: • クエリのログと頻度、実行時間など • バッチプログラムの実行ログ • これらのメタデータを包括して扱うことで、よりよいデータカタログになる • ビジネスメタデータは必ずしもソースシステムから取得できないので、データカタログ側での人手での整備も 必要になってくる
  • 12.
    © 2024 DATUMSTUDIO Co. Ltd. 11 メタデータ管理における主な登場人物 データスチュワード データオーナー データコンシューマー • 組織にとって最善の利益のためにデータ資産を管理する • 組織のステークホルダーの利益を代弁し、企業のデータを高品質で効果的 に利用できるようにするために全社的な視点を持つ • 自分の担当分野内のデータに関する意思決定の承認権限を持つ • 日々の業務で様々なデータ資産を使用する
  • 13.
    © 2024 DATUMSTUDIO Co. Ltd. 12 データカタログの概観 組織のいろいろなシステムからメタデータを抽出して一箇所で管理する データカタログ MySQL PowerBI Salesforce Snowflake Tableau Postgres Airflow BigQuery ElasticSearch Redshift SageMaker Fivetran
  • 14.
    © 2024 DATUMSTUDIO Co. Ltd. 13 管理されたメタデータで可能になること • データ資産を一貫性を持って把握でき、組織を横断する開発がより効率的になる • データのコンテキストを提供、データ品質の測定を可能にしてデータへの信頼を向上させる • 戦略的な情報(例えばマスタデータ)を多様な用途に利用できるようにしてその価値を 高める • データを活用した調査に要する時間を短縮する • データ利用者とエンジニア間のコミュニケーションを改善する • 影響分析が正確になり、プロジェクト失敗のリスクを減らせる • 法規制遵守を支援する 【DMBOK 第二版】 第12章メタデータ管理 より
  • 15.
    © 2024 DATUMSTUDIO Co. Ltd. 14 データカタログの主要機能 • さまざまなサービスのメタデータを一元管理して、簡単に検索したりアクセスでき たりする • APIなどを通して収集したメタデータを利用できる • テーブル間だけでなくサービス間のデータの流れを追跡できる • 個人情報データを識別する、データ保持ポリシーなどを共有する • Glossary(ビジネス用語集)によってデータに対する共通の理解を促進する ディスカバリー データリネージ データガバナンス データクオリティ • データ品質の測定してデータの信頼性を保証する
  • 16.
    © 2024 DATUMSTUDIO Co. Ltd. OpenMetadataの紹介
  • 17.
    © 2024 DATUMSTUDIO Co. Ltd. 16 OpenMetadata の概要 OpenMetadata は2021年に開発が開始された後発のOSSのデータカタログツール アーキテクチャのシンプルさに重点を置いているが、豊富な機能を有している OpenMetadataの概要 メタデータリポジトリにさまざまなソースのメタデータを取り込み、 ユーザーにUIやAPIを通してメタデータを提供 • OSSのデータカタログ (Apache License 2.0) • Uberでのデータカタログ構築経験をもとに開発されている • 機能が豊富だが、依存関係を最小限に抑えたシンプルなアー キテクチャ • メタデータ抽出可能な60以上のコネクター • 開発が活発 • メジャー機能リリースは4〜6週間ごと • マイナーなバグ修正は2週間ごと • 2021年8月に開発を開始し、2023年4月にv1.0をリリース • 最新は v1.4.8、もうすぐ v1.5 がリリース予定 • UIの表示を日本語に変更可能 UI Snowflake BigQuery Tableau Airflow バッチジョブ バッチジョブ バッチジョブ バッチジョブ Batched Pull Push データソース カスタムジョブ ユーザー API 包括的なAPIが提供されるため カスタマイズ・自動化も可能 通常は、ユーザーはUIを通して バッチジョブの設定やメタデータ の閲覧・編集をする メタデータリポジトリ
  • 18.
    © 2024 DATUMSTUDIO Co. Ltd. 17 OpenMetadata のアーキテクチャ https://docs.open-metadata.org/developers/architecture OpenMetadata は大きく分けて4つのコンポーネントから構成される ✓ メタデータスキーマを定義したJsonSchema / HTTP API Server / OpenMetadata UI を持つ OpenMetadata platform Airflow MySQL ElasticSearch ✓ データソースからメタデータを取り込むバッチ処理やテストなど を実行する(外部システムと繋ぐ) ✓ OpenMetadataが作成した専用パッケージをインストール することで、UIから抽出DAGを直接デプロイすることができる • 専用パッケージがインストールされたAirflowは OpenMetadataがimageを配布している ✓ メタデータを保存する ✓ Postgresもサポートされている ✓ ユーザーが快適にUIを使用するためのインデックスシステム
  • 19.
    © 2024 DATUMSTUDIO Co. Ltd. 18 OpenMetadata の主要機能 | ディスカバリー OpenMetadata ではサービスを8つのカテゴリに分類しており、そのカテゴリごとに共通のメタデータ スキーマを定めている Database / DataWarehouse Dashboard Messaging Pipeline ML Model Storage Metadata Search サービス種類 MySQL / Postgres / Oracle / Hive / MongoDB / DynamoDB / Salesforce / SAP Hana / Snowflake / BigQuery / Redshift / Databricks など Domo / Looker / PowerBI / QuickSight / Tableau な ど Kafka / Kinesis / Redpanda Airbyte / Airflow / Dagster / Databricks / Domo / Fivetran / Glue など MLflow / Sagemaker S3 Amundsen / Atlas Elasticsearch コネクターがある具体的なサービス Database > Schema > Table の階層構造を持つ データベース名 / スキーマ名 / テーブル名 / カラム情報 / description / DDL / タグ / ストアドプロシージャ Dashboard > Chart の階層構造を持つ ダッシュボード名 / チャート名 / データモデル / SQL トピック名 / フィールド情報 パイプライン名 / パイプラインステータス / タスク 特徴量 / ハイパーパラメータ バケット名 / バケットの合計サイズ / ファイル数 抽出したものを各メタデータとして格納 index名 / フィールド情報 抽出メタデータの例
  • 20.
    © 2024 DATUMSTUDIO Co. Ltd. 19 OpenMetadata の主要機能 | ディスカバリー OpenMetadata ではサービスを8つのカテゴリに分類しており、そのカテゴリごとに共通のメタデータ スキーマを定めている Database / DataWarehouse Dashboard Messaging Pipeline ML Model Storage Metadata Search サービス種類 MySQL / Postgres / Oracle / Hive / MongoDB / DynamoDB / Salesforce / SAP Hana / Snowflake / BigQuery / Redshift / Databricks な ど Domo / Looker / PowerBI / QuickSight / Tableau など Kafka / Kinesis / Redpanda Airbyte / Airflow / Dagster / Databricks / Domo / Fivetran / Glue など MLflow / Sagemaker S3 Amundsen / Atlas Elasticsearch コネクターがある具体的なサービス Database > Schema > Table の階層構造を持つ データベース名 / スキーマ名 / テーブル名 / カラム情報 / description / DDL / タグ / ストアドプロシージャ Dashboard > Chart の階層構造を持つ ダッシュボード名 / チャート名 / データモデル / SQL トピック名 / フィールド情報 パイプライン名 / パイプラインステータス / タスク 特徴量 / ハイパーパラメータ バケット名 / バケットの合計サイズ / ファイル数 抽出したものを各メタデータとして格納 index名 / フィールド情報 抽出メタデータの例 Database / Datawarehouse Service の抽出メタデータの例 Dashboard Service の抽出メタデータの例 → サービスごとに抽出対象のメタデータは異なる • 対応するメタデータが対象システムに存在しない場合もある • 共通スキーマ外のメタデータはカスタムプロパティを使用可能
  • 21.
    © 2024 DATUMSTUDIO Co. Ltd. 20 OpenMetadata の主要機能 | ディスカバリー 各サービスからメタデータを抽出するには、主に2通りの方法がある 1. OpenMetadata UI からメタデータ取り込み(Ingestion)を実行 • OpenMetadata 用のカスタムプラグインを入れたAirflowが必要(すでにプラグインが入った Airflow はOpenMetadata が image を配布している) • OpenMetadata UIからコネクター・抽出対象の設定や実行スケジュールの設定が可能 source: type: snowflake serviceName: <service name> serviceConnection: config: type: Snowflake username: <username> password: <password> warehouse: <warehouse> account: <account> # database: <database> includeTransientTables: false clientSessionKeepAlive: false ... sourceConfig: config: type: DatabaseMetadata markDeletedTables: true includeTables: true includeViews: true ... # databaseFilterPattern: # includes: # - database1 # - database2 # excludes: 2. 外部でメタデータ取り込み(Ingestion)を実行 • OpenMetadata Ingestion用のPythonパッケージをインス トールして任意の環境で実行する • コネクターや抽出対象の設定をyamlファイルに記載 • Pythonコードにワークフローを記載して実行する方法と、 metadataコマンドでyamlを指定して実行する方法がある yaml のイメージ
  • 22.
    © 2024 DATUMSTUDIO Co. Ltd. 21 OpenMetadata の主要機能 | ディスカバリー サービス・データアセットを横断してキーワード検索が可能 • 検索対象フィールドや and/or 条件を指定した詳細検索も可能
  • 23.
    © 2024 DATUMSTUDIO Co. Ltd. 22 OpenMetadata の主要機能 | データガバナンス テクニカルメタデータにビジネスメタデータを付与することで、データの共通理解を深め、ガバナンスを 強化できる • データオーナーとしてユーザーやチームを登録することで • 他ユーザーにとっては、データに関して誰に問い合わせをすればよい か明確に • オーナーにとっては、自分の所有するデータアセットに絞ってメタデー タの変更などを確認 タグ ビジネス用語集 (Glossary) データオーナー • データアセットやカラムに付与可能 • 重要度や PII などのタグでデータを分類して、データ保護やセキュリ ティの点でデータの適切な管理に使用できる • 任意のタグを作成可能 • 組織で共通した用語の理解をするため、組織のビジネス語彙を定義 したもの • データにセマンティクスを追加する • 用語間の関係も定義可能(同義・親子・連想関係)
  • 24.
    © 2024 DATUMSTUDIO Co. Ltd. 23 OpenMetadata の主要機能 | データガバナンス タグや Glossary はチーム・ユーザーを指定してレビューのタスクを設定することが可能 Glossaryのレビュータスク Glossaryの一覧(レビューのステータスを確認できる)
  • 25.
    © 2024 DATUMSTUDIO Co. Ltd. 24 OpenMetadata の主要機能 | データリネージ サービスを横断してデータリネージを作成することが可能 Salesforce Snowflake Tableau Fivetran DataModel マート DashBoard
  • 26.
    © 2024 DATUMSTUDIO Co. Ltd. 25 OpenMetadata の主要機能 | データリネージ サービスを横断してデータリネージを作成することが可能 Salesforce Snowflake Tabealu Fivetran DataModel マート DashBoard 補足 • リネージは手動で追加・編集が可能 • カラムレベルリネージはView定義やクエリ履歴のSQL(例: create table as select …)からも 作成される • テーブルやサービス間リネージ、またはカラムレベルリネージを作成できるかどうかはコネクター(サービ ス)によって異なる • テーブル間のカラムレベルリネージを作成できるかはSQLの複雑さによっても変わる
  • 27.
    © 2024 DATUMSTUDIO Co. Ltd. 26 OpenMetadata の主要機能 | データクオリティ テーブルの行数やDML操作の時間 データプロファイラ機能としてテーブルの行数やカラムのNULL率・ユニーク率などを簡単にチェック可能 • メタデータ抽出と同様にスケジュール実行ができる カラムごとのNULLとユニークな値の数や割合 メトリクスの例: • NULL率 • ユニーク率 • 最小値 • 最大値 • 平均 • ヒストグラム • 四分位数 • 歪度
  • 28.
    © 2024 DATUMSTUDIO Co. Ltd. 27 OpenMetadata の主要機能 | データクオリティ テーブルやカラムに対してテストを設定 テーブルやカラムに対して任意のテストを設定して、データ品質を継続して監視することが可能 • メタデータ抽出と同様にスケジュール実行ができる テスト結果の推移 (この場合は特定のカラムの最大値) 事前定義されたテストとカスタムSQLテストを使用できる
  • 29.
    © 2024 DATUMSTUDIO Co. Ltd. 28 OpenMetadata の主要機能 | データクオリティ テストが失敗した場合、ユーザーをアサインしてタスクとして対応状況を管理することが可能 調査結果をコメントとして残せる
  • 30.
    © 2024 DATUMSTUDIO Co. Ltd. 29 メタデータとは? データカタログの文脈におけるメタデータは主に以下の3種類からなる テクニカルメタデータ ビジネスメタデータ オペレーショナルメタデータ ソースシステムにおける技術的な情報 例: • DBのテーブル名・カラム名・データ型 • BIツールのダッシュボード名 • データリネージ データの内容や業務に関する情報 例: • テーブル・カラムなどの説明 • データ品質の規則と測定結果 • データオーナー • データのプライバシーレベルなどの分類 データの処理に関する情報 例: • クエリのログと頻度、実行時間など • バッチプログラムの実行ログ • これらのメタデータを包括して扱うことで、よりよいデータカタログになる • ビジネスメタデータは必ずしもソースシステムから取得できないので、データカタログ側での人手での整備も 必要になってくる 再掲
  • 31.
    © 2024 DATUMSTUDIO Co. Ltd. 30 メタデータとは? データカタログの文脈におけるメタデータは主に以下の3種類からなる テクニカルメタデータ ビジネスメタデータ オペレーショナルメタデータ ソースシステムにおける技術的な情報 例: • DBのテーブル名・カラム名・データ型 • BIツールのダッシュボード名 • データリネージ データの内容や業務に関する情報 例: • テーブル・カラムなどの説明 • データ品質の規則と測定結果 • データオーナー • データのプライバシーレベルなどの分類 データの処理に関する情報 例: • クエリのログと頻度、実行時間など • バッチプログラムの実行ログ • これらのメタデータを包括して扱うことで、よりよいデータカタログになる • ビジネスメタデータは必ずしもソースシステムから取得できないので、データカタログ側での人手での整備も 必要になってくる → 自動化が難しくビジネスメタデータの収集や整備は停滞しやすい 再掲
  • 32.
    © 2024 DATUMSTUDIO Co. Ltd. 31 ビジネスメタデータの収集・整備 ビジネスメタデータの充足率を上げるためのデータカタログの機能の方針としては、主に2パターンあ ると思います ① 生成AIなどを活用しできるだけ自動化する • 例えば、descriptionを生成するような機能 • 特に有償製品では用いられることが多い • OpenMetadataのSaaS版でもある機能 ② ビジネスメタデータを入力しやすいような仕組みや機能を導入する • データカタログ上でビジネスメタデータの入力を依頼したりタスクとして設定したりする • メタデータについてコミュニケーションを取れる → OpenMetadata は②の方針が強く、 【コラボレーション機能】が豊富であることが特徴だと考えています
  • 33.
    © 2024 DATUMSTUDIO Co. Ltd. 32 OpenMetadata の主要機能 | コラボレーション メタデータの入力を促す仕組みやメタデータについてコミュケーションを取るための機能がある ✓ ユーザーまたはチームを指定して、タグや descriptionの作成・更新をリクエストするタ スクを作成 ✓ 自分で変更したものを、他ユーザーにチェック して承認してもらうことも可能 タスク 会話スレッド ✓ データアセットやタグ・descriptionについて、 スレッドで他ユーザー・チームにメンションをつ けてディスカッションができる ✓ スタンプも使用可能 OpenMetadata上でユーザー間のコミュニケーションがとりやすいため、 メタデータの追加・更新の依頼が容易に
  • 34.
    © 2024 DATUMSTUDIO Co. Ltd. 33 OpenMetadata の主要機能 | コラボレーション データアセットにメタデータの変更履歴や会話スレッドが紐づき、データアセットについて他ユーザーと 共有する機能がある アクティビティ フィード アナウンス ✓ データアセットについて予定されているイベント や変更について、ユーザー全体に知らせる ✓ 例えば、アセットの削除・スキーマ変更の事前 通知として利用する ✓ データアセットについて、メタデータの変更履歴 やタスク・会話スレッドが集約される ✓ ホーム画面では自分がオーナーまたはフォロー しているアセットについてのフィードを表示でき る メタデータの更新履歴のキャッチアップやアナウンスの確認により、 情報のサイロ化を防ぎ、組織を横断してメタデータと付加情報の共有が可能
  • 35.
    © 2024 DATUMSTUDIO Co. Ltd. 34 OpenMetadata の主要機能 | コラボレーション データアセットのdescriptionやオーナーの充足率の推移を監視したり、いつまでに何%達成するな どのKPIを設定できる オーナーが設定されている アセットの割合 descriptionが設定されている アセットの割合
  • 36.
    © 2024 DATUMSTUDIO Co. Ltd. 35 OpenMetadata と DataHub との比較 • OpenMetadata と DataHub は共にOSSのデータカタログであり、重複している機能も多い • 後発の OpenMetadata は DataHub を意識して開発※されており、アーキテクチャや機能において以下のよう な差がある OpenMetadata 比較点 DataHub Apache License 2.0 ライセンス Apache License 2.0 2021年 8月 (元Uberのエンジニアが基礎から構築) 開始時期 2020年 2月 (LinkedIn社内製品からこの時期にスピンアウト) Pullベース メタデータ 取り込み方法 Pushベース・Pullベース (一部のソースのみPushベースで取り込める) 比較的シンプル アーキテクチャ ちょっと複雑 • UI上で操作できる機能が多め • SQL実行によるデータ品質テスト(DataHubだと SaaS限定) • ユーザー同士のコミュニケーション • タスクの割り当てや承認 • メールやSlackのアラート作成 機能 • UI上で操作できない機能も多少ある • より細かいメタデータを取得可能なことが多い印象 • メタデータ活用のため機能も充実 • GraphQLが提供され効率よくデータを取得できる • Datahubのメタデータが変更されたら外部システム でストリーミングでサブスクライブ可能(Kafka) コラボレーション・テスト重視 メタデータの取り込み範囲が広め リネージ重視 ※ OpenMetadata の記事でも Datahub のアーキテクチャの複雑さについて言及し、OpenMetadataではシンプルさを重視していることが書かれている https://blog.open-metadata.org/why-openmetadata-is-the-right-choice-for-you-59e329163cac
  • 37.
    © 2024 DATUMSTUDIO Co. Ltd. 36 OpenMetadata と DataHub との比較 | アーキテクチャ • Datahub はストリーム指向であり、Kafka が利用されている https://docs.open-metadata.org/developers/architecture https://datahubproject.io/docs/architecture/architecture/ OpenMetadata DataHub
  • 38.
    © 2024 DATUMSTUDIO Co. Ltd. OpenMetadataの活用方法例
  • 39.
    © 2024 DATUMSTUDIO Co. Ltd. 38 OpenMetadata の活用例① | サービスを横断したデータリネージ サービスを横断してデータソースまでのデータリネージを確認できることで、以下のように活用できる ダッシュボードの値がおかしいため原因を調査したい ✓ ダッシュボードの値がおかしい際に、依存関係があるテーブルやパイプラインがすぐにわか るので調査対象が明確になる ✓ メタデータの変更履歴やデータプロファイラの結果も活用できる データ調査 影響分析 パイプラインの一部を変更したいのでどのテーブルやダッシュボードに影響があるのか把握したい ✓ 影響がある可能性がある後続のサービスがすぐにわかる ✓ 登録されたデータオーナーに連絡して変更の相談ができる
  • 40.
    © 2024 DATUMSTUDIO Co. Ltd. 39 OpenMetadata の活用例② | IF・関連システムの把握 データ基盤の構築前に関連システムのメタデータを収集して、組織のデータの全体感を把握する 設計・開発で必要な情報も確認しやすい(特にIF) データ基盤 ソースシステム ソースシステム BIシステム BIシステム データカタログ データカタログを参照しながら開発 ソースシステム パイプライン ストレージ
  • 41.
    © 2024 DATUMSTUDIO Co. Ltd. 40 OpenMetadata の活用例③ | マイグレーション データ基盤やデータパイプラインのマイグレーション時に、関連システムの把握や新旧データ基盤のス キーマが一致するかのチェックなどを行う 新データ基盤 ソースシステム ソースシステム BIシステム BIシステム データカタログ データカタログを参照し、マイグレーション前後の スキーマが一致するかを確認しながら開発 旧データ基盤 旧パイプライン BIシステム ソースシステム 新パイプライン
  • 42.
    © 2024 DATUMSTUDIO Co. Ltd. 41 OpenMetadata の活用例③ | マイグレーション データ基盤やデータパイプラインのマイグレーション時に、関連システムの把握や新旧データ基盤のス キーマが一致するかのチェックなどを行う 新データ基盤 ソースシステム ソースシステム BIシステム BIシステム データカタログ データカタログを参照し、マイグレーション前後の スキーマが一致するかを確認しながら開発 旧データ基盤 旧パイプライン BIシステム ソースシステム 新パイプライン 比較するテーブルを選択 PKを指定 テストが失敗したとする閾値 テストに使用するカラムを指定 比較するレコードを フィルタするための条件 最新のバージョンにおいてテーブル間差分チェックのテストが追加されており、 マイグレーションのクオリティチェックも行いやすい https://www.youtube.com/watch?v=oxZVS_UGrE4&t=10s
  • 43.
    © 2024 DATUMSTUDIO Co. Ltd. OSS活動
  • 44.
    © 2024 DATUMSTUDIO Co. Ltd. 43 OSS活動を始めた理由 • データカタログはデータ基盤において重要なツールであると考えている • 弊社ではデータ基盤構築の案件が多く、様々なメリットがあるデータカタログを導入し活用していき たいと思っている ✓ データカタログを導入することがデータマネジメントに関する課題解決に繋がると考えている • OpenMetadata はデータカタログとしての機能が充実しており、開発も活発で良いプロダクトだと 思っている OpenMetadata の開発に貢献し、導入の機会を増やしたい
  • 45.
    © 2024 DATUMSTUDIO Co. Ltd. 44 OSS活動の内容 やってきたこと • OpenMetadata を導入・機能検証する中で発見したバグの報告や改善要望のIssueの作成 • クライアントが必要としているが OpenMetadata では不足している機能の開発 ✓ 必ずしもコネクター対象サービスの検証環境を OpenMetadata 開発主体側で持っていない ✓ 弊社側で動作確認できるものはできるだけ対応する • 未解決の Issue の対応 • ドキュメントの修正PR ちゅらデータの中垣さんも一緒に活動しています よかったこと • 開発をする中で OpenMetadata のアーキテクチャやメタデータ抽出・処理方法について、より理解が 深まった • IssueやPRを見るので対応中やリリース予定の機能について早めに把握できる
  • 46.
    © 2024 DATUMSTUDIO Co. Ltd. 45 OSS活動で今後やりたいこと • 弊社は Snowflake の導入実績が多く知見もあるため、特にSnowflakeコネクターに関する 開発において貢献したい • コネクターの多さはデータカタログにおいて重要な点だと思うので、いつかコネクター追加の開発も 行いたい 今後も継続的に開発に貢献して OpenMetadata を活用していきたい
  • 47.
    © 2024 DATUMSTUDIO Co. Ltd. まとめ
  • 48.
    © 2024 DATUMSTUDIO Co. Ltd. 47 まとめ • データカタログを使用して組織のメタデータを管理することで、ガバナンスを効かせつつデータ活用を 促進できる • データカタログの導入は後回しにされがちだが、データ基盤開発初期から入れるとデータの所在やIF について把握できて開発がスムーズに進められるなどのメリットもある • OSSのデータカタログであるOpenMetadataは、基本的なデータカタログとしての機能が備わってい るのに加え、データクオリティやコラボレーション機能が豊富でビジネスメタデータをより充実させやすい ツールだと考えている