CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
前回に続いて、2024年に公開された論文「BigLake: BigQuery’s Evolution toward a Multi-Cloud Lakehouse」に基づいて、マルチクラウド対応に向けたBigQueryの機能拡張について解説します。今回は、マルチクラウドに対応したLakehouseとしての機能を提供するBigQuery Omniのアーキテクチャーを紹介します。
BigQuery Omniの全体像は、図1のようになります。複数のクラウドにデプロイされたワーカーのクラスターを上位のコントロールプレーンで管理することにより、ユーザーは、複数クラウドにまたがる環境を単一のシステムとして利用できます。それぞれのクラウドのデータを個別に処理するだけではなく、複数クラウドにまたがった検索(ジョイン)も可能です。
図1 BigQuery Omniのアーキテクチャー(論文より抜粋)
Google Cloud上のBigQueryは、ユーザー側での構成が不要なマネージドサービスとして提供されていますが、他のクラウド環境でもこれは同じです。それぞれのクラウド上にGoogleが管理する専用のテナント環境があり、この中のKubernetesクラスター上にBigQueryを構成するコンポーネントがGoogleによってデプロイされています。論文では、BigQueryのワーカーノードに加えて、次のようなサービスがデプロイされていることが説明されています。
これらのサービスは、Googleのデータセンターでは、Google標準のコンテナ管理システムであるBorgの上で稼働しているものですが、これらをKubernetesのクラスターで稼働させることにより、他社クラウド上に「minimal borg-like環境」を実現したと説明されています。
そして、Google Cloudで稼働するコントロールプレーンは、VPNを介して各クラウドのワーカーを制御します。ユーザーが管理するテナント(プロジェクト)とGoogleが管理するテナントの関係は、図2のようにまとめることができます。
図2 BigQuery Omniのネットワーク構成(論文より抜粋)
第179回の記事の図4で説明したように、BigQuery Omniでは、複数クラウドにまたがったテーブルのジョインが実行できます。その他のマルチクラウドを活かした機能として、クラウド間でマテリアライズドビューをレプリケーションする機能があります(図3)。
図3 マテリアライズドビューのレプリケーション(論文より抜粋)
まず、Google Cloud以外のクラウド環境でマテリアライズドビューを作成して、そのデータを該当クラウドのオブジェクトストレージに保存します。その後、そのファイルをGoogle Cloudの環境に非同期でレプリケーションします。レプリケーション中にビューが更新された場合は、差分のみがレプリケーションされます。これにより、BIツールから参照するビューをGoogle Cloud上に集約したり、あるいは、他のクラウド上のテーブルデータを非同期的にGoogle Cloudに移行することが可能になります。
今回は、2024年に公開された論文「BigLake: BigQuery’s Evolution toward a Multi-Cloud Lakehouse」に基づいて、マルチクラウドに対応したLakehouseとしての機能を提供するBigQuery Omniのアーキテクチャーを紹介しました。
次回からは、GoogleのコンテナインフラであるBorg環境の特性に対応した、新しいロードバランシングの仕組みを紹介していきます。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes