データマネジメント・ガバナンスの観点から見るGoogle Data Catalog

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本記事では、データマネジメント・ガバナンスの推進に使えそうなGoogle Data Catalogの機能を見ていきます。

「激熱!1日1製品!最強のデータ系SaaSはどれだ決定戦」アドベントカレンダーにて、これまで20の商用製品を取り扱ってきましたが、ついにネタ切れとなってしまいました…(涙)。候補として挙げていた製品は多いものの、トライアル環境を簡単に提供してくれるところがそこまで多くなかったのが現実でした。

というわけで、21本目と22本目ではクラウドベンダー製のデータカタログについて改めて見ていくことにします。本日はGoogle Data Catalog編です。

Google Data Catalogの機能をおさらい

Google Data Catalogは、Google Cloudで提供されるデータ検出とメタデータ管理のためのサービスです。システム向けのメタストアというよりかは、データアセットの検索やビジネスメタデータのタグ付けといった、データマネジメントやガバナンスの文脈での「データカタログ」らしい機能が提供されています。 Data Catalogとは | Google Cloud より特徴を引用しておきます。

  • 統合ビューを取得して、適切なデータを検索する手間を省く。
  • テクニカルメタデータとビジネスメタデータでデータを強化し、データドリブンの意思決定を行い、分析情報を得るまでの時間を短縮する。
  • データ管理を改善し、運用の効率性と生産性の向上を実現する。
  • データに対する所有権を取得し、データの信頼と信用を高める。

ユーザーは主に「アクセス可能なデータアセットの検索」と「メタデータでアセットにタグ付け」の操作を行い、データ管理・運用を進めていきます。Google Cloudのサービスとのシームレスな連携はもちろんのこと、Google Cloud外のデータベースやBIツールとも、PythonコネクタやAPIで連携することが可能です。また、Cloud Data Loss Preventionとの連携により、機密データに対して自動でタグ付けするといった、機械学習によるインテリジェントな機能も用意されています。

次節より、「タグ付け」と「検索」に着目しながら実際にGoogle Data Catalogを触っていきます。

タグ付け

これからサンプルテーブルの用意やタグ付けを行っていきますが、ポイントだけ押さえながら進めていきます。任意のプロジェクトに入り、Google Data Catalog APIをEnableするところからスタートとします。

以下がGoogle Data Catalogの画面です。今の状態では何もデータセットが登録されていないため、まずはBigQuery側でデータセットを用意していきます。

BigQueryのコンソールに行き、New York taxi tripsのパブリックデータのtlc_yellow_trips_2017テーブルを開き、COPYをクリックします。

作成先のプロジェクトを選択し、データセットはdemo_dataset、テーブル名はtripsを指定してCOPYをクリックします。これでサンプルテーブルの追加は完了です。

Google Data Catalog側に戻り、テーブルに付与するタグのテンプレートを作成していきます。左メニューでTag templatesをクリックし、CREATE TAG TEMPLATEをクリックします。

2021年12月22日現在、ギャラリーとしてデフォルトのTag Templateが用意されています。どんなタグを作成すれば良いかわからなかったり、タグを作成するのが面倒な場合はギャラリーの中から使っちゃいましょう。一番左のData Governanceをクリックしてみます。

一番左のData Governanceのテンプレートには、データの所有権や分類、ライフサイクルやPII情報といった、データマネジメント・ガバナンスでよく使われる一般的なタグが定義されています。USE TEMPLATEをクリックして適用させます。

ちなみに、もう一つのData Governanceのテンプレートは、PII情報をさらにカテゴライズできるPII Typeというタグが追加されています。

Geo Contextは地理的な情報のタグで構成されています。グローバル企業でデータ越境などが発生しがちな基盤で重宝しそうですね。

Data Qualityは、データの品質に関するタグがまとまっています。自動で集計してくれる機能は(まだ?)ないみたいなので、BigQueryで集計した後にタグの付与を行うプログラムを書いて自動化すると便利そうです。

テンプレート作成の画面に戻りまして、CREATEをクリックして保存します。

テンプレートは以下のような感じで保存されています。TypeがENUM型の場合はあらかじめ決められた値を選択できるようになっています。INFO PANELでは、テンプレートに対するアクセス権限を指定できます。

では、先ほど用意したテーブルにタグを付与していきます。左メニューよりSearchをクリックし、FiltersのSystemsでBigQueryを選択すると、先ほどのtripsが表示されます。

tripsテーブルの詳細画面に入りATTACH TAGSをクリックします。

タグを付与するテーブルやカラムを選択します。今回は全部に対して同じタグを付与していきます。

Tag templateに先ほど作成したData Governanceをクリックします。

テンプレートに沿ってメタデータを入力していき、SAVEをクリックして保存します。

tripsテーブルの詳細画面に戻ると、テーブルに対してはリスト表示、カラムに対してはTag Template名で付与されています。

カラムのData Governanceをクリックすると詳細が確認できるようになっています。

このような感じでビジネスメタデータを付与していき、検索性を上げつつデータのコンテキストを豊かにするのがTag templateの用途です。

検索

次に、検索画面の機能を見ていきます。左にフィルター、右上から検索バー、タイプごとのブラウジング、お気に入りと最近アクセスしたエントリの情報が表示されています。

検索バーにキーワードを入力すると、検索にヒットしたエントリが表示されます。ここの検索スピードはさすがGoogleという感じで速いです。左のFilterでは、データのタイプやプロジェクト、タグなどによる絞り込みができるようになっています。

LIST表示にするとエントリの階層構造まで表示されるようになります。

パブリックデータに対しても検索が可能です。BigQuery側でもパブリックデータの探索用の画面が用意されていますが、自身が所有するデータと横断検索する場合はGoogle Data Catalogで検索するのも良いですね。

その他、Entry groupsPolicy tagsといった別の機能も用意されてますが、今回のご紹介は以上とします。

所感

データ基盤がBigQueryをはじめとするGoogle Cloudを中心に構築している場合は、メタデータ管理にはGoogle Data Catalogを使うべきと思えるほど使いやすい製品でした。「検索」と「メタデータ付与」と「アクセス制御」をうまく活用できれば、データ基盤の信頼性やガバナンスも改善してくると思います。メタデータの自動生成に関しては、まだCloud Data Loss PreventionによるPIIの付与しかできないみたいですが、今後のアップデートで基本統計量の自動集計機能も出てきそうな気もします。

本アドベントカレンダーでは、今話題のデータ関連SaaSを取り上げていきますので、引き続き乞うご期待ください!