BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google Cloud、Spannerにジオ・パーティショニングを導入:待ち時間の短縮とコストの最適化

Google Cloud、Spannerにジオ・パーティショニングを導入:待ち時間の短縮とコストの最適化

原文リンク(2024-07-24)

Google Cloudは、グローバルに分散されたフルマネージド・データベースであるSpannerにジオ・パーティショニング機能の追加を発表した。同社によると、この新機能は、地理的に分散したアプリケーションやユーザーのパフォーマンスとユーザー体験を向上させるとともに、運用コストの最適化を目的としている。

Spannerのジオ・パーティショニングは現在プレビュー中である。Spannerのユーザーは、世界中のさまざまな場所でテーブルデータを行レベルでパーティショニングできる。データが異なるパーティションに分割されているにもかかわらず、Spannerはクエリーやミューテーションのために単一のまとまったテーブルを維持し、シームレスなデータ管理を保証する。

Googleのシニア・エンジニアリング・マネージャーであるJerene Yang氏は、LinkedInの投稿でこう書いている。

これは何年もかけて作られたものです。行がさまざまな地理的な場所に存在でき、列の値だけで場所を指定でき、しかもトランザクションや複雑なクエリを実行できるデータベースを想像してみてください。

メリットとしては、ジオ・パーティショニングは、データをユーザーの近くに配置することでネットワークのレイテンシーを改善し、レスポンスタイムを高速化する。また、データベースの構成をカスタマイズすることで、コストを実際の使用量に合わせられるため、例えば、より多くのユーザーにサービスを提供するパーティションにより多くのリソースを割り当てるなど、コストを削減できる。

内部的には、この機能は次のように機能する。

  • ジオ・パーティショニングは、1つのテーブルを複数のコンフィギュレーションに分散させることで、一元化されたテーブルの利点を維持しつつ、データをユーザーの近くに配置する。
  • ユーザーは、一部またはすべてのテーブルをパーティショニングし、行レベルで特定の配置ルールを設定できる。
  • アプリケーション・リクエストは、リクエストされたデータを含む関連パーティションにルーティングされる。

シニア・プロダクト・マネージャーのNitin Sagar氏は、Googleブログのジオ・パーティショニング機能に関する投稿で例を示している。

下の図に示すように、異なるデータパーティションは、パーティションが提供するデータの特定の要件(読み取り、書き込み、ストレージ)に基づいて、異なるノード数で構成できる。これにより、プレーヤーの非対称的な分布に対するコストを最適化できる。

ジオ・パーティショニングの例(出典:Googleブログ記事

Googleのチーフ・エバンジェリスト、Richard Seroter氏はこうツイートしている。

Spannerのジオ・パーティショニングによって、テーブル・データを行レベルでパーティショニングし、世界中のユーザーに近い場所でデータを提供できます。Spannerは、分散されたすべてのデータを単一のまとまったテーブルとして維持し、クエリーやミューテーションをします。

最後に、Spannerのようなグローバル分散データベースも、同様のジオ・パーティショニング機能を提供している。例えば、CockroachDBはデータベースの同じ論理インスタンス内でのジオ・パーティショニングをサポートしており、Yugabyteは低レイテンシーでクラウドネイティブのジオ分散SQLアプリケーションを構築するテクニックを備えている。どちらのデータベースも、ユーザーにもっとも近いリージョンでデータを保存・処理できるため、非対称なグローバル・ワークロードのコストを最適化し、書き込みや堅牢な読み取りレイテンシーを削減できる。

作者について

この記事に星をつける

おすすめ度
スタイル

BT