Analytics Hub とは何者か - Google Cloud

BigQuery Advent Calendar 2022 7日目の記事は Analytics Hub の紹介です。

https://qiita.com/advent-calendar/2022/bigquery

:::note warn
Analytics Hub の活用事例が少ないことを憂い、今後の発展に期待したテーマ選定です。
筆者は 2022 年 8 月から Analytics Hub でデータセットを公開しています。
:::

# Analytics Hub とは何か

Analytics Hub は、各種 BigQuery オブジェクト（テーブル、ビュー、ML モデル）を、組織間で共有できるサービスです。このサービスのリリースによって、どんな課題が解決されたか、どんなユースケースで使えるかを見ていきます。

![Analytics Hub を開いたときの UI](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135291/13d7fd9b-5f6e-e1ee-417a-b54175c5859c.png)


## Analytics Hub リリース以前の課題
Analytics Hub リリース以前、BigQuery オブジェクトの共有は IAM を用いてアクセス権限を配ることによって実現されていました。これには以下のような課題がありました。

* BigQuery オブジェクトが含まれているプロジェクトの存在を知っていないとアクセスできない
* お気に入りデータを 1 プロジェクトにまとめられない
* 組織外と共有した場合、使用状況が見えない
* VPC Service Controls サービス境界外への細かなデータ共有が難しい

## Analytics Hub リリース後の世界
これらの課題を次のように解消します。

### 共有されたデータのカタログとして Analytics Hub が機能する
従来は BigQuery オブジェクトが含まれているプロジェクトを Data Catalog やその他のドキュメント等で把握して、BigQuery UI にピン留めして利用していました。

現在は、Analytics Hub を用いて、組織内公開データや一般公開データを閲覧することができます。

![Analytics Hub Search](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135291/56b9fce3-5f7f-8d22-8048-bda08118c666.png)

Google Cloud 利用者であれば、こちらのリンクから検索を試すことができます。
[https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:search)](https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:search))

### お気に入りデータだけを 1 プロジェクトにまとめて接続できる

従来は、検索やスキーマ確認のために、プロジェクトをピン留めしていましたが、お気にいりのデータ以外にも見えてしまう状態でした（スター付きリソースのフィルタもない時代は、これ以上に見辛い状態です）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135291/068a51f6-f663-162d-1a5b-c9c8f586c1f0.png)

個人のプロジェクトを用意して、Analytics Hub からお気に入りのデータセットだけを接続しておけば、無用なデータに検索時間を奪われません。

### 組織外と共有しても、使用状況が見える
従来は、公開したデータがどこで使われているか確認する手段がありませんでした。

Analytics Hub は、共有データセットが、どのプロジェクトのデータセットに接続されているか、確認する機能を持っています（画像は、組織、プロジェクト番号、プロジェクトをマスクしています）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135291/8ea6b769-82c6-29cb-fa38-5326d468f7db.png)

### VPC Service Controls サービス境界を横断してデータセットを接続できる

従来は同一のサービス境界内に、アクセスされるデータとアクセスするジョブが共存することが一般的でした。

Analytics Hub を用いることで、異なるサービス境界のプロジェクトから、アクセスするように設定することもできるようになりました。詳しくは公式ドキュメントを参照してください。
https://cloud.google.com/bigquery/docs/analytics-hub-vpc-sc-rules

# ユースケース
以上のような点が Analytics Hub により改善されます。様々な用途で活用できますが、最初は次のようなユースケースで活用するのがおすすめです。

* 頑張って集めた固有のデータや ML モデルを組織外に販売したい
* 一般公開データを活用したい
* よく使われる一部のデータをドキュメント付きで社内に配りたい

いくつか具体的にみていきましょう。

## 頑張って集めた固有のデータや ML モデルを組織外に販売したい

データを取り巻く様々な規制の壁を越えていれば、Analytics Hub で共有したい相手に閲覧権限を付与するだけです。また、販売期間が終了したら、閲覧権限を剥奪しさえすれば良いです。

更新も自動で相手側に反映されるため、データ品質チェックをおこなった上で更新を行うように注意しましょう。

## 一般公開データを活用したい

Google Cloud 利用者であれば、こちらのリンクから検索できます。
[https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:search)](https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:search))

まだまだ、日本で利用しやすいデータは少ないですが、以下のようなデータセットは活用できるかもしれません。

* [Google Trends](https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:projects/1057666841514/locations/us/dataExchanges/google_cloud_public_datasets_17e74966199/listings/17561ab059154c988f72c7ae52d6a3c4))
* [gBizINFO](https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:projects/jpdata/locations/asia-northeast1/dataExchanges/jpdata_18253a34a30/listings/gbizinfo_preprocessed_by_bq_fun_18253b3389d))
* [国民の祝日](https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:projects/jpdata/locations/asia-northeast1/dataExchanges/jpdata_18253a34a30/listings/jp_holidays_preprocessed_by_bq_fun_18253c4e9dc))
* [気候、環境カテゴリのデータ](https://console.cloud.google.com/bigquery/analytics-hub/exchanges(analyticshub:search)?categories=CATEGORY_CLIMATE_AND_ENVIRONMENT)


もし、一般公開可能なデータを持っている場合は、Analytics Hub で `allAuthenticatedUsers` に共有設定を行うと、データ活用に貢献できるかもしれません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135291/e8dc8e9f-3afa-f6d9-dcfa-31f2efbd7794.png)


# まとめと今後への期待
Analytics Hub により、従来の IAM 権限に基づくデータセット共有の不満の一部を解消できるようになりました。BigQuery 利用者にとって、Analytics Hub がデータの販売や共有の場所として現実的になってきています。
他にも、うまく使えば、データの提供モデルを、中央集権から半非中央集権あたりに緩やかに変えていくのに良いツールになるかもしれません。

今後の Analytics Hub、BigQuery、データ環境がどうなっていくか楽しみですね。個人的には、Analytics Hub の国内データ流通がもっと充実すること、メタデータが付属すること、Dataplex との統合等に期待したいです。