データリネージについて

データリネージを使用すると、データがシステム内をどのように移動するかを追跡できます。データアセットに適用された送信元、宛先、変換を確認できます。

リネージ情報は、Dataplex Universal Catalog、BigQuery、Vertex AI アセットの Google Cloud コンソールで表示できます。また、Data Lineage API を使用して取得することもできます。

データリネージが必要な理由

大規模なデータセットでは、多くの場合、テキスト ファイル、テーブル、レポート、ダッシュボード、モデルなど、特定のプロジェクトに合わせてデータをさまざまな形式に変換する必要があります。

たとえば、オンライン ショップには次のようなフローのデータ パイプラインがあります。

  1. Dataflow ジョブは、Pub/Sub トピックから購入イベントの元データを読み取り、Cloud Storage ファイルから商品の詳細を読み取り、BigQuery テーブルから顧客情報を読み取ります。ジョブはこの情報を結合し、BigQuery に purchases テーブルを作成します。

  2. 後続の BigQuery ジョブは、purchases テーブルを変換して、regionbrand などのより小さな集計テーブルを作成し、total_profit などの新しい列を計算します。

  3. アナリストはこれらのテーブルを使用して、Looker でレポートとダッシュボードを生成します。

この一般的なシナリオには、次のような課題がいくつかあります。

  • データ コンシューマには、データが信頼できるソースから来ているかどうかを確認するセルフサービスの方法がありません。

  • データ エンジニアは、すべてのデータ変換を確実に追跡できないため、問題の根本原因を特定できません。たとえば、アナリストが total_profit 列でエラーを見つけた場合、エラーの発生元を追跡することは困難です。

  • データ エンジニアとアナリストは、テーブルの変更または削除による潜在的な影響を完全に評価することはできません。たとえば、product_id 列を非推奨にする前に、レポートが破損しないように、依存するすべてのダウンストリーム列を特定する必要があります。

  • データ ガバナンスは、組織全体でセンシティブ データがどのように使用されているかを把握できないため、規制要件の遵守を保証することが困難です。

データ リネージは、データの流れを明確に視覚化したマップを提供することで、これらの問題を解決します。データリネージを使用すると、次のことができます。

  • リネージグラフを使用して、データがどのように収集され、変換されるかを理解します。

  • データ エントリとオペレーションのエラーを根本原因まで追跡します。

  • 影響の分析を通じてチェンジ マネジメントを改善し、ダウンタイムや予期せぬエラーを回避し、依存関係を理解して、関係者と協力します。

データリネージのワークフロー

データリネージ ワークフローには次の手順が含まれます。

  1. データソースと取り込み: データソースからのリネージ情報によって、プロセス全体が開始されます。詳細については、リネージ ソースをご覧ください。

    • Google Cloud サービス: Data Lineage API が有効になっている場合、BigQuery や Dataflow などのサポートされているサービスは、データが移動または変換されるたびにリネージ イベントを自動的にレポートします。

    • カスタムソース:Google Cloud 統合で自動的にサポートされていないシステムについては、Data Lineage API を使用してリネージ情報を手動で記録できます。OpenLineage 標準に従ってフォーマットされたイベントをインポートすることをおすすめします。

  2. リネージ プラットフォーム: この中央プラットフォームは、すべてのリネージデータを取り込み、モデル化し、保存します。詳細については、リネージ情報モデルと粒度をご覧ください。

    • Data Lineage API: この API は、すべての受信リネージ情報の単一のエントリ ポイントとして機能します。プロセス、実行、イベントの 3 つのコアコンセプトで構成される階層型データモデルを使用します。

    • 処理と保存: プラットフォームは受信データを処理し、信頼性の高いクエリ最適化データベースに保存します。

  3. ユーザー エクスペリエンス: 保存されたリネージ情報には、主に次の 2 つの方法でアクセスできます。

    • ビジュアル探索: Google Cloud コンソールで、フロントエンド サービスがリネージ データを取得して、インタラクティブなグラフまたはリストとしてレンダリングします。これは、Dataplex Universal Catalog、BigQuery、Vertex AI(モデル、データセット、特徴ストア ビュー、特徴グループ)でサポートされています。これは、データの流れを視覚的に確認するのに最適です。詳細については、 Google Cloud コンソールの系統ビューをご覧ください。

    • プログラムによるアクセス: API クライアントを使用して Data Lineage API と直接通信し、リネージ管理を自動化できます。これにより、カスタムソースからリネージ情報を書き込むことができます。また、保存されたリネージ データを読み取ってクエリし、他のアプリケーションで使用したり、カスタム レポートを作成したりすることもできます。

リネージ ソース

Dataplex Universal Catalog にリネージ情報を入力するには、次の方法があります。

  • 統合された Google Cloud サービスから自動的に
  • カスタムソースの Data Lineage API を使用して手動で
  • OpenLineage からイベントをインポートする

データリネージの自動追跡

Data Lineage API を有効にすると、データリネージをサポートしている Google Cloud システムがデータの移動の報告を開始します。統合された各システムは、異なる範囲のデータソースのリネージ情報を送信できます。

BigQuery

BigQuery プロジェクトでデータリネージを有効にすると、Dataplex Universal Catalog は次のリネージ情報を自動的に記録します。

BigQuery のコピー、クエリ、読み込みジョブは、プロセスとして表されます。

プロセスの詳細を表示するには、リネージグラフで をクリックします。

各プロセスでは、最新の BigQuery ジョブの属性リストに BigQuery job_id が含まれています。

その他のサービス

データリネージは、次のGoogle Cloud サービスとのインテグレーションをサポートしています。

カスタム データソースのデータリネージ

Data Lineage API を使用すると、統合されたシステムでサポートされていないデータソースのリネージ情報を手動で記録できます。

既存の Dataplex Universal Catalog エントリの完全修飾名と一致する fullyQualifiedName を使用すると、Dataplex Universal Catalog は手動で記録されたリネージのリネージグラフを作成できます。カスタム データソースのリネージを記録する場合は、まずカスタム エントリを作成する必要があります。

カスタム データソースの各プロセスでは、属性リストに sql キーを含めることができます。このキーの値は、データ リネージ グラフの詳細パネルでコードのハイライトをレンダリングするために使用されます。記載のとおりに SQL ステートメントが表示されます。機密情報を除外する責任はユーザーにあります。鍵名 sql では、大文字と小文字が区別されます。

OpenLineage

すでに OpenLineage を使用して他のデータソースからリネージ情報を収集している場合は、OpenLineage イベントを Dataplex Universal Catalog にインポートし、 Google Cloud コンソールでそれらのイベントを表示できます。詳細については、OpenLineage との統合をご覧ください。

制限事項

データリネージの制限事項は次のとおりです。

  • すべてのリネージ情報は、システムに 30 日間のみ保持されます。

  • リネージ情報は、関連するデータソースを削除しても保持されます。たとえば、BigQuery テーブルを削除しても、API とコンソールで最大 30 日間リネージを表示できます。

列レベルのリネージの制限事項

列レベルのリネージには、次の追加の制限があります。

  • BigQuery の読み込みジョブやルーティンでは、列レベルのリネージは収集されません。

  • 外部テーブルの上流の列レベルの系統は収集されません。

  • ジョブで 1,500 個を超える列レベルのリンクが作成された場合、列レベルのリネージは収集されません。この場合、テーブルレベルの系統のみが収集されます。

  • 列レベルの系統を作成、読み取り、更新、削除、検索するための API はありません。

  • _PARTITIONDATE_PARTITIONTIME などのパーティショニング列がリネージ グラフで認識されないため、パーティション分割テーブルのサポートは制限されています。

  • コンソールの制限事項:

    • リネージグラフのトラバーサルは、各方向で 20 レベルの深さと 10,000 個のリンクに制限されています。

    • 列レベルの系統は、ルートテーブルが存在するリージョンからのみ取得されます。グラフビューでは、リージョン間のリネージはサポートされていません。

料金

  • Dataplex Universal Catalog は、プレミアム処理 SKU を使用してデータリネージの料金を課金します。詳細は、料金をご覧ください。

  • Dataplex Universal Catalog プレミアム処理 SKU で、データリネージの課金を他の課金と分離するには、Cloud Billing レポートで、ラベル goog-dataplex-workload-type を値 LINEAGE で使用します。

  • CUSTOM 以外の値を指定して Data Lineage API Origin sourceType を呼び出すと、追加費用が発生します。

次のステップ