Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Databricksでやろう、メタデータ管理

 Databricksでやろう、メタデータ管理

#datatechjp さんの勉強会「みなさん、データのメタデータ管理ってどうやってますか?」でお話した資料です、メタデータ管理の基礎と、Databricksにおけるメタデータ管理について説明しています

Databricks Japan

March 28, 2024
Tweet

More Decks by Databricks Japan

Other Decks in Technology

Transcript

  1. ©2024 Databricks Inc. — All rights reserved この発表で話すこと 2 メタデータの基礎理解から、Databricksを使ってどこまで出来るかを考察したい

    1 メタデータ管理の重要性 2 どんなメタデータがあるか 3 メタデータ管理の課題例 4 メタデータ管理の実現方針 5 Databricks Unity Catalog の場合の話 6 まとめ
  2. ©2024 Databricks Inc. — All rights reserved なぜメタデータ管理が必要なのか 3 せっかく作ったデータから価値を生み出すために欠かせないもの

    データの活用を促進するため メタデータが管理されていないデータは、 作っても活用することができません メタデータが無いと・・・ データが 探せない データの 意味が 分からない データが 最新か、 正しいか、 も分からない まだまだある、 メタデータが 無いと困ること 障害や改修の 影響が 分からない
  3. ©2024 Databricks Inc. — All rights reserved メタデータの分類 4 3つのカテゴリとそれぞれの性質

    メタデータ データの意味や生い立ち、構造、状態を表すデータ ビジネスメタデータ 主にデータのビジネス上の意味を表現 テクニカルメタデータ 主にデータの物理的な構造を表現 オペレーショナルメタデータ データの更新や活用の状況を表現 人による入力が必要 システムから収集可能 静的 動的
  4. ©2024 Databricks Inc. — All rights reserved それぞれのメタデータの例 5 •

    以下はDMBOKで例示されているメタデータのほんの一部( 4分の1程度) • しかし、全ての組織がDMBOKにあるようなメタデータの全てを管理する必要は無い • 自組織のデータマネジメントの要件に応じて必要なものを取捨選択(その結果、 独自のメタデータが必要な場合も ) メタデータはデータマネジメントの要件に応じて無数に存在する カテゴリ メタデータ 収集方法 静的 / 動的 ビジネスメタデータ テーブル・カラムのビジネス的・業務的な意味の説明 人が入力 静的 データ品質の測定ルールとその測定結果 人 + システム 静的 + 動的 データの更新サイクル 人が入力 静的 データオーナー 人が入力 静的 テクニカルメタデータ テーブルの構造(物理的なテーブル名、カラム名、データ型) システムが収集 静的 アクセス権限設定 システムが収集 静的 データを作成・更新するクエリやコード システムが収集 静的 データを作成・更新するジョブ定義 システムが収集 静的 データリネージュ 人 or システム 静的 オペレーショナルメタデータ データを作成・更新するジョブの実行履歴 システムが収集 動的 エラーログ システムが収集 動的 データへのアクセスパターン(主な利用者、クエリ、利用頻度 等) システムが収集 動的
  5. ©2024 Databricks Inc. — All rights reserved メタデータ管理の現実 • テーブル構造が変わったのにドキュメントは古いまま

    • 複雑なデータリネージュを資料で表現、更新しきれず破綻 等々 6 多くの組織で抱えている課題の例  ビジネスメタデータが入力されていない、説明不足である  テクニカルメタデータが設計資料等でマニュアル管理されており、破綻している  オペレーショナルメタデータがデータとリンクしていない • テーブルやカラムの意味をデータオーナーには提供してもらえず、データ探しが職人技化 • データ品質はそもそも管理していない 等々 • ジョブやユーザークエリの実行履歴を単体で取得することはできるが、中身のコード を読まないとどのデータが関連しているか分からず、分析が困難 等々
  6. ©2024 Databricks Inc. — All rights reserved メタデータ管理を今度こそ実現するために 7 最小限の努力で最大限の効果を

    • 自動的に収集、可視化 され、最新の状態が リアルタイムに確認できることを目指す • 収集、加工したりするための コードやバッチ処理を開発・運用を最小限に する ビジネスメタデータ 主にデータのビジネス上の意味を表現 テクニカルメタデータ 主にデータの物理的な構造を表現 オペレーショナルメタデータ データの更新や活用の状況を表現 • ジョブやユーザークエリの履歴も広い意味で データリネージュの一環と捉え、 対象データ とリンクさせて関係を可視化する • 人による整備がどうしても必要な部 分であるため、各データオーナーが 責任を持って入力してもらえるよう役 割分担で合意 • そのために、データオーナー自身が 直接アクセスし、容易に編集できる GUIを提供する • 多様なメタデータを入力できる 柔軟 性も考慮する • 複雑なデータリネージュでも人の手 を介さず、可視化までを自動で行え るようにする • (必要な範囲で) 網羅的に情報を収 集できるようにする • ユーザーが可能な限り全てのメタデータに対して 1つのインタフェースからアクセスできるようにする • テーブルのみではなく、 任意のファイルや機械学習モデルもメタデータ管理の対象とする
  7. ©2024 Databricks Inc. — All rights reserved メリット • 異なるデータ基盤に跨ったメタデータ管理が得意

    • GUIがリッチな傾向 デメリット • データ基盤からメタデータを取得するためのインテグレー ションと追加の運用 • リアルタイム性を犠牲にする • コストは一体型よりも高くなる傾向 メタデータ管理製品のトレードオフ メタデータ管理専用の独立した製品 データ基盤と一体型の製品 8 それぞれのメリット・デメリット メタデータ管理製品 データ基盤 データ 加工 データ 分析 メタデータ管理製品 データ基盤 データ 加工 データ 分析 データ基盤 データ 加工 データ 分析 メリット • インテグレーションが不要、運用も最小限 • データの変化に追随してリアルタイムにメタデータも更新される • 追加のコストがかからない、または安価に済む デメリット • 異なるデータ基盤のメタデータは基本的に扱えない • GUIはシンプルな傾向 Databricks Unity Catalog はこちらのタイプだが、 異なるデータ基盤のメタデータも一部管理可能
  8. ©2024 Databricks Inc. — All rights reserved Unity Catalog のメタデータ管理範囲

    9 テーブル以外のデータや外部DWH/DB含めたメタデータ管理 Databricks Databricks Unity Catalog テーブル 非構造化データ 機械学習モデル テーブル 外部 DWH / DB ビジネスメタデータ管理 直感的なGUIやコードで編集する説明 & タグ、自動化 & カスタマイズ可能なデータプロファイル データがある場所 テクニカルメタデータ管理 基本的なメタデータから、複雑なデータリネージュまで全自動で収集・可視化 データの種類 オペレーショナルメタデータ管理 ジョブやユーザークエリの履歴がデータとリンクし、処理の状態や利用状況の分析が容易 ※ 外部 DWH / DB 上のテーブルでは、 Unity Catalogで管理できないメタデータもあります
  9. ©2024 Databricks Inc. — All rights reserved メタデータ管理の中心となるデータカタログ 10 ほぼ全てのメタデータへのアクセスのポータルとして機能

    テーブル構造・説明 列名、データ型、 ビジネスメタデータ 等 その他基本情報 作成/最終更新の日時、 ユーザー、ストレージの場 所、テーブルプロパティ 等 履歴 いつ、誰が、どのコードや ジョブでどんな処理をした か、等を一覧表示 アクセス権限 アクセスできるユーザー や権限の種類 データリネージュ 他のデータとの依存関係 の可視化、ジョブやMLモ デル、コードとの関連も表 示 利用状況 このテーブルを使用してい る主なユーザー、クエリや コード、利用頻度 等を可視 化 データプロファイル データの中身に関する 様々な統計、データ品質の ダッシュボード
  10. ©2024 Databricks Inc. — All rights reserved ビジネスメタデータの管理 11 データオーナー自身がデータカタログ上で直接編集可能なGUI

    テーブル説明 テーブルタグ カラム説明 + カラムタグもあり データカタログ上でユーザー向けに表示され、 データのキーワード検索や自然言語検索にも使用される テーブル構造・説明
  11. ©2024 Databricks Inc. — All rights reserved データリネージュは自動で可視化 13 いつも通りのコードやクエリでデータ加工をするだけで、自動的に可視化

    このテーブルはどんなデータから作られているのか? このカラムはどこから来ているか? このデータを使用している後続のデータは? CREATE TABLE silver AS SELECT . . . FROM bronze_a JOIN bronze_b . . . リネージュ情報を同期するための 事前セットアップ等は一切不要で 、 通常通りSQLやPythonのコードでデータ加工を行うと、自動でリネージュグラフが可視化 spark.read .table(silver) .withColumn(“new”, xxxx) . . . .write .saveAsTable(“gold”) 自動で実行ログ解析、 リネージュグラフ構築 データリネージュ
  12. ©2024 Databricks Inc. — All rights reserved ノートブック(コード)、ワークフロー(ジョブ)、 ダッシュボード、クエリ、モデル等、 様々な処理やオブジェクトとのリネージュを記録

    オペレーショナルメタデータの管理も 14 データを起点に関連するジョブやクエリの詳細にドリルダウン それぞれがリンクになっており、 ジョブやクエリの詳細へドリルダウンできる ジョブやクエリの中身や実行履歴等の 詳細を確認 データリネージュ
  13. ©2024 Databricks Inc. — All rights reserved データの利用状況も自動で可視化 15 メタデータはデータマネジメントの要件に応じて無数に存在する

    利用の多いユーザ: 誰がこのデータに詳 しそうか? よく使われている ノートブック/クエリー/ダッシュボード: どのように作成されているか? よく使われる ジョイン: 他のテーブルとの 結合方法は? 利用状況
  14. ©2024 Databricks Inc. — All rights reserved データプロファイル 16 データプロファイルは自動

    + 任意のメトリックを自分で追加 カスタムメトリックの定義も ダッシュボードに反映 + GUIで有効化するだけですぐ作成されるダッシュボード データプロファイル
  15. ©2024 Databricks Inc. — All rights reserved まとめ 17 無理なく自組織に合ったメタデータ管理を実現するために

    メタデータ管理 の重要性 メタデータの 取捨選択 メタデータ管理 の方向性 Unity Catalog メタデータが管理されていないデータは、あっても活用できない メタデータは無数に存在するので、自組織の データマネジメント要件から必要なものを選定する ビジネスメタデータはデータオーナーから入力してもらいやすい 仕組み作りで整備を促進、テクニカルメタデータとオペレーショナル メタデータは収集から可視化までを最小限の労力で自動化 データ加工/分析をDatabricks中心の基盤(完全に統合まで出来なくても)にするのであ れば、Unity Catalogは上記の方向性に合う解になる
  16. ©2024 Databricks Inc. — All rights reserved 宣伝 フォローお願いします! 18 Databricks

    Japanの情報発信チャンネル (旧 ) @DatabricksJP bit.ly/DatabricksJP ブログ databricks.com /jp/blog
  17. ©2024 Databricks Inc. — All rights reserved 宣伝 もう1つ! GPT3.5越えのOSS

    LLM “DBRX” 19 メタデータ管理から話が飛んでしまい、ごめんなさい https://huggingface.co/databricks https://www.databricks.com/jp/blog/announcing-dbrx-new-s tandard-efficient-open-source-customizable-llms