BigQueryに導入されたGemini: AIアシスタント機能の概要

# Gemini in BigQueryとは

Gemini は Google Cloud の Gemini 製品スイートの一部であり、データとのインタラクションを助ける AI 機能を提供します。さらに、BigQuery ML では Vertex AI モデルや Cloud AI APIs にアクセスすることができ、テキスト生成や機械翻訳などの AI タスクを実行することができます。

Gemini in BigQueryが8/28に正式にGAとなりました。
https://cloud.google.com/gemini/docs/bigquery/overview
* 2024/09/04現在は言語設定が英語のときのみ表示される模様

# AI assistance with Gemini in BigQuery

BigQueryのGeminiは、データ分析と管理を支援するAI機能を提供しています。

## 主な機能

1. [データインサイト (GA)](https://cloud.google.com/bigquery/docs/data-insights)
   - テーブルのメタデータを使用して自動的にパターンを発見し、統計分析を行います。
   - 初期のデータ探索段階での「コールドスタート」問題に特に有効です。

2. [BigQueryデータキャンバス (GA)](https://cloud.google.com/bigquery/docs/data-canvas)
   - 自然言語を使用してデータの発見、変換、クエリ、可視化が可能です。
   - チームでのスムーズな協力作業をサポートします。

3. SQLとPythonのコーディング支援
   - [SQL生成ツール (GA)](https://cloud.google.com/bigquery/docs/write-sql-gemini#use_the_sql_generation_tool)
   - [SQLクエリの生成 (GA)](https://cloud.google.com/bigquery/docs/write-sql-gemini#prompt_to_generate_sql_queries)、[補完 (プレビュー)](https://cloud.google.com/bigquery/docs/write-sql-gemini#complete_a_sql_query)、[説明 (GA)](https://cloud.google.com/bigquery/docs/write-sql-gemini#explain_a_sql_query)
   - [Pythonコード生成 (GA)](https://cloud.google.com/bigquery/docs/write-sql-gemini#generate_python_code)と[コード補完 (プレビュー)](https://cloud.google.com/bigquery/docs/write-sql-gemini#python_code_completion)

4. データインフラストラクチャの最適化
   - [パーティショニングとクラスタリングの推奨 (GA)](https://cloud.google.com/bigquery/docs/manage-partition-cluster-recommendations)
   - [マテリアライズドビューの推奨 (プレビュー)](https://cloud.google.com/bigquery/docs/manage-materialized-recommendations)

5. [Apache Sparkワークロードの自動チューニングとトラブルシューティング (プレビュー)](https://cloud.google.com/dataproc-serverless/docs/concepts/autotuning)
   - Sparkジョブの自動最適化
   - ジョブエラーの説明と修正推奨の提供

6. [SQLトランスレーションのカスタマイズ (プレビュー)](https://cloud.google.com/bigquery/docs/interactive-sql-translator)
   - 自然言語プロンプトやSQLパターンを使用してトランスレーションをカスタマイズ

## 利用方法

BigQueryでGeminiを利用するには、以下の方法があります。

1. データインサイト：
   - テーブルエントリの「Insights」タブで利用
   - パターン識別、品質評価、統計分析が可能

2. BigQueryデータキャンバス：
   - 新規作成またはテーブル/クエリから利用
   - 自然言語でデータ探索、キャンバス共有可能

3. SQLとPythonのコーディング支援：
   - SQL生成ツールを使用
   - 自然言語での生成、入力中の補完機能あり
   - SQLコードの自然言語での説明も可能

4. データインフラストラクチャの最適化：
   - Google Cloud consoleツールバーの「Recommendations」から確認
   - パーティショニング、クラスタリング、マテリアライズドビューの推奨を表示

BigQuery Studioでこれらの機能を利用可能です。

## 技術的背景

- GoogleがGeminiに使用している大規模言語モデル（LLM: Large Language Model）は、オープンソースコード、セキュリティデータ、Google Cloud特有のコンテンツで微調整されています。
- この技術はまだ発展途上であるため、生成される内容が必ずしも正確でない可能性があります。使用する前に、出力結果を慎重に確認することをお勧めします。

これらの機能は、データ分析の効率化、インフラストラクチャの最適化、コスト削減を支援し、ユーザーがBigQueryの機能をより簡単に活用できるようにすることを目的としています。

## 注意事項

> Note: Gemini in BigQuery is part of Gemini for Google Cloud and doesn't support the same compliance and security offerings as BigQuery. You should only set up Gemini in BigQuery for BigQuery projects that don't require compliance offerings that aren't supported by Gemini for Google Cloud. 

BigQueryのGeminiに関する注意点：

1. 通常のBigQueryよりセキュリティとコンプライアンス機能が限定的
2. 高度なコンプライアンスが要求されるプロジェクトでは使用できません
3. 必要に応じて機能を無効化可能
   [Gemini in BigQueryの無効化設定方法](https://cloud.google.com/gemini/docs/turn-off-gemini#bigquery)
4. 使用前にプロジェクトの要件との適合性を確認すべき

## 料金

#### 現在(2024/09/04時点)
全GA機能が追加コストなしで利用可能です。

#### 2024年後半(予定)
アクセスが次のオプションに制限される予定です。

1. BigQuery Enterprise Plus Edition:
   - すべての一般提供(GA)されているGemini機能にアクセス可能
   - 将来的に、他のBigQueryエディションやオンデマンド利用者向けのオプションも検討中
2. Per-user per-month package:
   - データ駆動型エクスペリエンスを構築するための機能を含む
     例: SQLコード支援、Pythonコード支援、データキャンバス、データインサイト、データ準備
   - 推奨機能やトラブルシューティング機能は含まれない


## 関連書籍
[SQL入門 Google BigQueryではじめるビジネスデータ分析 ](https://amzn.to/3z48CQQ)
[Google Cloudのしくみと技術がこれ1冊でしっかりわかる教科書](https://amzn.to/3XweFqI)
[Google Cloudではじめる実践データエンジニアリング入門](https://amzn.to/3Tda1eQ)