Google Cloud SpannerのPostgreSQL互換インターフェイス、正式版に
今回は「Google Cloud SpannerのPostgreSQL互換インターフェイス、正式版に」についてご紹介します。
関連ワード (大規模分散処理、実行、正式版等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Google Cloudは大規模分散データベース「Cloud Spanner」でのPostgreSQL互換インターフェイスの提供を正式版としてリリースしました。
SpannerのPostgreSQL互換インターフェイスは2021年10月に行われたイベント「Google Cloud Next ’21」で発表され、プレビュー版となっていました。
参考:Google、大規模分散DB「Spanner」にPostgreSQL互換インターフェイスを実装。強い一貫性で秒間10億以上のリクエストを処理可能。Google Cloud Next ’21
Cloud Spannerは地球規模で大規模分散処理を行うスケーラブルで高速なリレーショナルデータベースで、強い一貫性とトランザクション処理、SQLによるクエリなどを実装したマネージドサービスです。
Cloud Spannerはクエリ言語としてANSI SQLをベースにした方言が利用可能です。これにPostgreSQL互換インターフェイスが加わることで、多くの開発者にとってより使い慣れた方法でCloud Spnaeerが利用できるようになります。
これにより99.999%というCloud Spannerの高い可用性、秒間10億以上のリクエスト処理能力を保ちつつ、PostgreSQLのスキルやツールを活かせるようになります。またCloud Spanner固有のインターフェイスによるアプリケーションやデータのロックインを防ぐことができるようになることも期待されます。
PostgreSQLのクエリなどがCloud Spannerで利用可能に
PostgreSQL互換のインターフェイスは、Cloud Spannerの上にPostgreSQL SQL方言のコアサブセットを実装する形で実装されています。そしてPostgreSQL互換のデータ型、関数、スキーマ、クエリなどが利用可能です。また既存のPostgreSQL用のクライアントツールなども利用可能となります。
ただし完全な互換ではないとして、次のようにブログ「Introducing PostgreSQL interface for Spanner: availability at scale with the interface you know」で説明しています。
The syntax that Spanner does support behaves the same as PostgreSQL itself. However, workloads that lean heavily on things like stored procedures, extensions, triggers, or non-serializable isolation will require rework to run on Spanner.
Spannerがサポートする構文は、PostgreSQLそのものと同じように動作します。しかし、ストアドプロシージャ、拡張、トリガー、ノンシリアライザブルな分離といったものに大きく依存するワークロードをSpannerで実行するには手直しが必要になります。
GoogleはAmazon Auroraに対抗する企業向けのデータベースとしてPostgreSQL互換の「AlloyDB for PostgreSQL」を発表しています。これまで企業向けの本格的なデータベース市場でなかなか存在感を出せなかった同社は、PostgresSQLのインターフェイスを企業向けデータベースの標準として推そうとしているようです。
関連記事
- [速報]Google、Amazon Auroraに対抗する高性能DB「AlloyDB for PostgreSQL」発表。通常のPostgreSQLよりOLTPが4倍高速、OLAPが100倍高速と
- Google、大規模分散DB「Spanner」にPostgreSQL互換インターフェイスを実装。強い一貫性で秒間10億以上のリクエストを処理可能。Google Cloud Next ’21