BigQueryのアップデートにて、Gemini in BigQueryを活用した新機能である「BigQuery dataset insights」が一般提供(GA)となりました。
今回GAとなった「BigQuery dataset insights」は、データセット内のテーブル同士の関係性をGeminiが自動的に推論し、関係図(リレーションシップグラフ)として可視化する機能です。単にスキーマで定義された外部キーだけでなく、過去のクエリログや、LLMによるカラム名・メタデータの意味的(セマンティクス)な理解に基づいた暗黙的な繋がりまで検出し、一覧化することが出来ます。
この機能をどのように活用できるのか、まずは機能の動きをお見せしたうえで、活用できるユースケースを紹介していきます。
複数のテーブルを含むBigQueryデータセットに対して、BigQuery Studioコンソールからオンデマンドでdataset insightsを生成し、どのような情報が見れるようになるかを確認してみることにします。検証に用いるデータセットはGoogle Cloudで一般公開されているものを用いることにします
データセット分析情報を利用するため、対象プロジェクトで以下のAPIを有効化します。
BigQueryのAnalytics Hubで公開されているデータセット、Google Books Ngrams 2020を取得してきました。
データの中身としては、任意の検索文字列の出現頻度が記録されているようです
Overview
This Google Books Ngram Dataset contains frequencies of any set of search strings using a yearly count of n-grams found in sources printed between 1500 and 2012 in Google's text corpora.
Languages include English, Chinese (simplified), French, German, Hebrew, Italian, Russian, and Spanish.
データセットのテーブル一覧を見て見ますが、数も多いためこの中身をやそのデータの関連を判断するのは大変そうです
BigQuery Studioのエクスプローラペインから対象のデータセットを選択し、[分析情報] タブを開きます。
[公開せずに生成] ボタンをクリックします。カタログへの登録を行わずに、オンデマンドでその場での探索用として分析情報を生成します。※共有環境で一元的にメタデータを共有・統制したい場合は、[生成して公開] を選択することでKnowledge Catalogに永続化されます。
生成には少し時間がかかりますので待ちましょう
スキャンジョブの実行開始から数分で処理が完了しました。
データセットに含まれるテーブル構成や、ビジネスドメインの要約テキストがGeminiによって自動生成されます。
接続性の高い上位10テーブルを対象に、テーブル間の関係性がER図のように視覚化されます。エッジをホバーすることで結合キーが確認可能です。また、リレーションシップテーブルには結合の根拠が以下の3つの属性で分類されて表示されます。
ホバーしたときの画面
これらのテーブルがどのようにリレーションしているかもカラムで示されます
テーブル同士を結合して分析を行うためのサンプルSQLクエリと、そのクエリが何を表しているのかを示す自然言語の質問がペアで複数提示されます。
具体的なSQLクエリ文も提示されます
今回は検証用にGoogle Booksのパブリックデータを使用しましたが、本機能が本当に役に立つのは、仕様書が整備されていない自社の業務データセットなどの場合です。
DWHのパフォーマンス向上や設計の都合上、BigQuery上のテーブルには外部キー制約が貼られていないケースが多々あります。 Dataset insightsを使えば、外部キーが定義されていなくても、カラム名の一致(Column name match)やLLMによるスキーマの文脈理解(LLM inferred)から推論してくれます。わざわざ既存のコードやテーブル構造を1から解読する手間を大幅に削減できます。
大量のテーブルがあるデータセットの場合、「どのテーブルとどのテーブルを繋げばほしいデータが得られるか」を把握するのは時間がかかります。
自動生成される「データセットの概要説明」と「推奨クエリ(サンプルSQL)」を提示することで、「まずはこのクエリを叩いてみればいい」という全体像のキャッチアップが簡単に行えるようになります。
組織内でデータ活用を進める際、テーブルの説明欄(Description)が空欄のまま放置されがちです。
Geminiが自動生成したテキストをそのまましたり、Knowledge Catalogに永続化したりすることで、人間が手動でドキュメントを書き起こすコストを大幅に削減できます。
詳しくは公式ドキュメントに譲りますが、いくつか利用上の制限があるのでご注意ください
BigQuery dataset insightsを使用することで、スキーマ定義だけでなく、メタデータのLLM推論(LLM inferred)を含めて多角的にリレーションを自動検出できることが確認できました。
データ定義書が手元にないデータセットの初期探索や、開発初期のクエリ設計を大幅に短縮できる実用的な機能です。追加料金は発生しないため、対象エディションをご利用の環境ではぜひ試してみてください。