G-gen の杉村です。Google Cloud Next '21 の What's new with BigQuery
セッションで発表された新機能を、速報としてご紹介します。
- はじめに
- BigQuery Omni (GA)
- BigQuery Security & Governance for Data Lakes (Coming soon)
- BigQuery External Functions
- Analytics Hub (Preview)
- BigQuery Migration Service (Preview)
- BigQuery 管理系機能
- BigQuery Slots Autoscaling (Coming soon)
- Table Snaphosts and Clones
- BigQuery Storage Write API (GA)
- Search Indexes with BigQuery (Preview)
- BigQuery ML 関連
- BigQuery BI Engine (GA)
はじめに
2021年10月12日〜から14日の日程で Google Cloud Next '21 が開催されています。
What's new with BigQuery というセッションの中で、 Google Cloud のデータウェアハウスサービスである BigQuery の新機能の数々が発表されました。
特に BigQuery Migration Service という移行に活用できる機能や、 Table Snaphosts and Clones, Search Indexes with BigQuery といった BigQuery のユースケースを変えてしまう可能性すらある機能は注目です。
本投稿では、当該セッションで発表された新機能をご紹介します。なお記載の内容は セッションの発表があった 2021年10月13日現在の内容となっております 。
リリース状態や機能の内容は常に変化しておりますので、本投稿はあくまで速報記事であることをご理解ください。
BigQuery Omni (GA)
AWS, Azure, Google に分散されているデータをSQLで横断クエリできる機能。
Google Cloud (GCP) 上のこれまでと同じ BigQuery のインターフェースで、Google Cloud や AWS、Azure に保存したデータを、クラウド間を移動したりコピーしたりすることなくクエリが可能となる。
Anthos の技術をバックエンドとして使い、例えば AWS 上で BigQuery のクエリエンジンが稼働し、 Amazon S3 等に保存されているデータにクエリを実行する。
BigQuery Security & Governance for Data Lakes (Coming soon)
BigQuery では Cloud Storage や Spanner など BigQuery の外部に存在するデータを外部テーブルとして定義することができるが、この外部テーブルに対する権限設定をきめ細かくできるようになる模様。
データレイクのセキュリティ向上が見込めるはずだ。
※同機能は BigLake として 2022/01/25 に GA となりました。
BigQuery External Functions
UDF (ユーザ定義の関数) を BigQuery の外部で定義できるようになった。
これまでも BigQuery では UDF を定義することはできたが、標準 SQL か Javascript で記述する必要があり、関数は BigQuery の内部に定義された。 今回のアップデートでは UDF が BigQuery の外部に定義できるようになり、そのランタイムにはご存知 Cloud Functions を利用しているので node.js / Python / Go / Java / .net / PHP などで記述できる。
- 参考 : リモート関数の操作
Analytics Hub (Preview)
組織 (Organization) をまたいでデータをやりとりできる仕組み。
Publisher (データ公開側) は Analytics Hub を通じてデータセットを公開でき、 Subscriber (データ利用者側) がこれを利用できる。
公開データをキュレーションしたり検索する仕組みが提供される模様。
Publisher がデータの利用状況を分析できるような仕組みも存在しているようだ。
※ Analytics Hub は 2022/10/11 にGA となりました。
BigQuery Migration Service (Preview)
他のデータウェアハウス製品から BigQuery への移行を支援するツールであるの Preview が発表された。
ソース DB へのアセスメント、 SQL (DDL, DML, BTEQ で書かれた PL) の変換、 移行先 BigQuery へのバリデーションを行う。
Walmart や Mercado Libre などで既に SQL 変換にこれを利用した実績があるという。
現在のところ、 Teradata がサポート対象となることが判明しているが、他の移行元も Coming soon としている。
BigQuery 管理系機能
Admin hub & Resource charts (GA)
BigQuery 環境の詳細なモニタリング、管理、トラブルシュート、ボトルネック特定などに活用できる新しい管理コンソールが使えるようになった。
Slot Reservation (コンピューティング容量の事前購入。定額・大容量で BigQuery を利用できるようになる) を使用してワークロード管理を行っているユーザーにとって、強力な機能となるだろう。
Slot estimator (Preview)
こちらも Slot Reservation を使っているユーザー向けの機能だ。
組織内でプロジェクトを横断してスロットの利用状況を確認できる他、スロットを追加購入すべきかどうかの判断の助けになる情報を提供する。
※ Slot estimator は 2022/11/14 にGA となりました。
BigQuery Slots Autoscaling (Coming soon)
事前に定義した予算に基づいてスロットを自動でスケーリングする機能だ。
従来のオンデマンドモードだと、基本的にスロットは 2,000 が上限であり、ベストエフォートでのバーストを期待することができた。
当該機能がリリースされれば、ある程度の予測が難しいワークロードでもコストの無駄ナシで高いパフォーマンスを維持できるだろう。
※当機能は BigQuery Editions の一機能として 2023/03/29 にGA となりました。
Table Snaphosts and Clones
BigQuery でのデータの持ち方が大きく変わるかもしれない機能も発表された。
Snapshots (スナップショット) は読み取り専用のデータコピーであり、論理バックアップ目的やタイムトラベル機能 (7日間しか保持されない) 以上の保持期間で特定時刻のテーブル状態を保持したい場合に利用できる。しかもデータは、オリジナルテーブルから即座にコピーするのではなく、基本的にはオリジナルテーブルを参照したまま、変更や削除された場合のみデータが複製される (いわゆるコピー・オン・ライト) のためコストを抑えることが可能だ。
※ Snapshot 機能は 2021/10/28 に GA となりました。
Clone (クローン) は Snapshots のデータ変更が可能なバージョンと考えればいいだろう。同じくコピー・オン・ライトでテーブルのクローンを作成する。発表ではアプリケーションに対する変更をテストする環境として利用するユースケースが挙げられた。
※ Clone 機能は 2022/02/15 に Preview 公開され、その後 2023/05/03 に GA となりました。
BigQuery Storage Write API (GA)
BigQuery のストレージに直接 API を発行し、高スループットでのデータの書き込み等が可能になる。
費用も通常の INSERT より低く押さえられるため、大量データの投入では検討すべき選択肢だ。
Search Indexes with BigQuery (Preview)
なんと、 BigQuery でインデックスが使えるようになった (Preview 公開の予定の発表であり 2022 年 1 月現在でまだ利用可能になっていない → 2022/04/07 に Preview 公開され 2022/10/27 に GA となった) 。
2022/04/11 更新 : 以下の当ブログ記事にて詳細を解説している。
従来では BigQuery においてはインデックスは使えなかった。これが BigQuery のメンテナンス工数を減らす利点でもあった。
とはいえこれは BigQuery がテーブル単位・パーティション単位でのフルスキャンを行うことを意味しており、数ペタバイトにおよぶデータの中から特定のキーでデータを抜き出すようなワークロードに対して大量のスキャンが発生してしまうため、金銭的・時間的コストがかかってしまうことも意味していた。
本機能ではテーブルにテキストインデックスを作成し、特定の文字列を検索する性能を向上させることができる。
インデックスは自動的に更新されるため、いわゆる VACUUM のようなメンテナンスは依然として不要だ。
同じくプレビュー発表されたネイティブJSONタイプにも使用できる。
以下のようなユースケースが挙げられた。
- 選択範囲が非常に狭いフィルタを使ったダッシュボード (スライシング/ダイシングが必要)
- 目的となるデータのサブセットを大きなデータセットから見つけ出す (特定の情報を持った患者群を抜き出す)
- GDPR準拠のため特定ユーザのデータだけを抜き出して削除する
- ログから特定 IP アドレスを抜き出す
BigQuery ML 関連
Explainable AI
AI/ML 関連でよく話題になる「説明可能なAI」を実現するための機能だ。
学習データのうちどのような要素が結果に影響したのかを理解することを助ける。
Integration with Vertex (Coming soon)
BigQuery ML が Vertex AI と連携する。 Vertex AI のパイプラインと連携することで BigQuery ML のモデルの学習やデプロイが強化される模様だ。
Advanced Models & Techniques
XGBoost, Wide & Deep DNN (ディープニューラルネットワーク), AutoML Tables などがサポートされ、強化される。
BigQuery BI Engine (GA)
プレビュー版で用意されていた機能が GA となった。
データポータル等の BI ツールから利用可能なキャッシュ機構で、利用には追加料金が発生する。
インメモリキャッシュ機構であり、有効化するだけで効果を発揮する。
- 参考 : BI Engine とは
杉村 勇馬 (記事一覧)
執行役員 CTO / クラウドソリューション部 部長
元警察官という経歴を持つ現 IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 12資格、Google Cloud認定資格11資格。X (旧 Twitter) では Google Cloud や AWS のアップデート情報をつぶやいています。
Follow @y_sugi_it