米Google(グーグル)は2022年5月に開催した年次カンファレンス「Google I/O 2022」で、新しいデータベース(DB)サービスである「AlloyDB for PostgreSQL」を発表した。
グーグルが2022年5月12日(米国時間)に発表したAlloyDB for PostgreSQLは、同社が独自に開発したDBのサービスで、オープンソースソフトウエア(OSS)のリレーショナルDB(RDB)である「PostgreSQL」と互換性がある。ユーザーはPostgreSQL用のSQLクエリーや拡張機能がそのまま利用できる。
AlloyDB for PostgreSQLの特徴は、トランザクション処理(OLTP)性能とデータ分析(OLAP)性能を両立した点だ。グーグルによればAlloyDB for PostgreSQLは標準的なPostgreSQLに比べて、同じ数のCPUを使用する場合のトランザクション性能が4倍高速であり、データ分析性能は最大100倍高速であるという。
データ分析性能が「スケールアウト」で向上
トランザクション性能とデータ分析性能を両立したDBは、HTAP(Hybrid Transaction Analytical Processing)と呼ばれる。従来はデータ分析性能を追求するには、トランザクション処理を担うRDBとは別に、データ分析処理専用のDWH(データウエアハウス)を用意する必要があった。しかしRDBからDWHにデータをコピーする必要があったため、最新のデータを即時に分析するのが難しかった。それに対してHTAPは1つのDBでトランザクション処理とデータ分析処理が実行できるため、最新のデータに対する分析が可能になる。
Google Cloudはこれまで、標準的なRDBのマネージドサービスでPostgreSQLやMySQL、米Microsoft(マイクロソフト)のSQL Serverに対応する「Cloud SQL」と、DWHのサービスである「BigQuery」、トランザクション処理に特化したRDBサービスの「Cloud Spanner」を提供していた。そこにHTAPであるAlloyDB for PostgreSQLを追加した。
AlloyDB for PostgreSQLの技術的なポイントは、データ分析性能が「スケールアウト」で向上する点だ。ノードの台数を増やすと、台数に比例してデータ分析性能が向上する。AlloyDB for PostgreSQLが使用する仮想CPUの数を1000個以上に増やしても、データ分析性能は規模に比例して向上するという。
AlloyDB for PostgreSQLにおけるスケールアウトの仕組みを詳しく見ていこう。
まずAlloyDB for PostgreSQLにおいては、ストレージ層とクエリー処理などを担うコンピューティング層が異なるクラスターとして分離されている。さらにストレージ層は、トランザクションログの処理を担う「データベース・ストレージ・エンジン」層と、複数のゾーンにまたがってデータを保存する分散ファイルシステム層に分かれている。分散ファイルシステムにはグーグルが自社開発した「Colossus」を使用する。