コンテンツに移動
データベース

Spanner 向け PostgreSQL Interface: 使い慣れたインターフェースで高度な可用性を実現

2022年7月1日
https://storage.googleapis.com/gweb-cloudblog-publish/images/PostgreSQL_UxKXx1q.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2022 年 6 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。

Cloud Spanner は、最高水準の整合性と可用性を環境の規模を問わずに実現する Google のフルマネージド リレーショナル データベースです。金融サービスや小売、ゲームなど、多くの業種の企業環境で高負荷のワークロードの実行に使用され、信頼を得ています。このたび、Cloud Spanner 向け PostgreSQL Interface の一般提供開始により、同様のスケーラビリティと信頼性を成長著しい PostgreSQL コミュニティでもご利用いただけるようになりました。これにより、PostgreSQL Interface を、すべてのリージョン / マルチリージョンの Spanner の構成で追加費用なしでご利用いただけるようになります。

PostgreSQL Interface は、Cloud Spanner にアクセスする新しい手段となるものです。PostgreSQL ならではの使いやすさとポータビリティが、Cloud Spanner の比類ないスケーラビリティとフルマネージドのエクスペリエンスに統合されています。これまでデータベースを不安定なシャーディングや複雑なレプリケーションでスケーリングしてきた DevOps チームは、既存のツールとスキルを利用しながら Cloud Spanner でアーキテクチャを簡素化できるようになります。もちろん、PostgreSQL なので、Cloud Spanner で記述したスキーマやクエリは簡単に移植できます。同時に Cloud Spanner でもあるので、ビジネスや開発チームの規模拡大に合わせたスケーリングも確実に行えます。今日から新しいきめ細かなサイズ設定の Spanner インスタンスを月額 65 米ドルからお試しいただけます。または 3 年間の確約利用で月額 40 米ドルからのお得なプランもあります。

オペレーショナル データベースの新しい「API」としての PostgreSQL

大企業もデジタル ネイティブも、オペレーショナル データベースの共通の「API」として PostgreSQL を使用し、標準化を進めています。プロジェクトは急成長を遂げ、パフォーマンス、信頼性、イノベーションの確かな実績を積み上げており、オープンソース ライセンスと活発なエコシステムにより、さまざまなアプリケーションや開発チームにとって好ましい選択となっています。クラウドでのモダナイズを実践する組織は、前世代のデータベースに伴う厄介なロックインを避け、すでに持っている業界のスキルやツールを活用することを求めています。これにより、PostgreSQL を標準化する組織が増え続けています。

開発者にとっての親しみやすさ

Spanner 向け PostgreSQL Interface の第一の特長は、その SQL です。Spanner の既存の分散型リレーショナル エンジンの上に、PostgreSQL の SQL 言語のコアサブセットを実装しています。実際の PostgreSQL インスタンスを管理するほかのサービスとは異なり、Spanner は PostgreSQL 互換の構文を使用して実証済のスケールアウト機能を提供し、PostgreSQL のスキーマ、クエリ、データ型、関数、メタデータを Spanner の実証済のスケールで運用することを可能にします。これにより、親しみやすさと他の環境へのポータビリティが得られますが、PostgreSQL との完全な互換性はありません。Spanner がサポートする構文は、PostgreSQL と同じように動作します。しかし、ストアド プロシージャ、拡張機能、トリガー、シリアライズ不可の分離レベルなどに大きく依存するワークロードを Spanner 上で運用するためには手直しが必要です。一方で、シャーディング、結果整合性、他のデータベースのスケールアップ制限を克服するための複雑なレプリケーション設定を使用しているアプリケーションは、Spanner を使用することで大幅に簡素化され、運用オーバーヘッドが減少すると思われます。Google は、PostgreSQL と Spanner 間の移行をシンプルにするため、互換性向上への投資を続けていきます。

アプリケーションについては、Java、Go、Python、Node.js、PHP、Ruby、C#、C++ から Spanner の既存のグローバルなマネージド エンドポイントを経由して Spanner データベースへ PostgreSQL 言語のクエリを簡単に送信できるようにネイティブのオープンソース クライアントを更新しました。開発者にとって、Spanner はシンプルな単一のインスタンス データベースです。ロード バランシング、レプリケーション、フェイルオーバー、システム アップデートのすべてを管理するので、チームは「配管作業」ではなくイノベーションに集中することができます。

Spanner のネイティブ クライアントに加えて、PostgreSQL Interface は一般的な psql コマンドライン ツールもサポートしています。これにより開発者や管理者は、既存のツールを使用してクエリの実行、メタデータの検索、データの読み込みを行うことができます。この psql サポートは、通信プロトコルを Spanner のネイティブ gRPC インターフェースに変換し、接続と IAM 認証を管理する軽量プロキシである PGAdapter によって行われます。PGAdapter は、すぐに使える PostgreSQL ドライバと ORM のサポートを構築するための基盤であり、Spanner のスケールと可用性を利用するための努力をさらに減少させます。今後の情報にご注目ください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/psql-ga.max-900x900.jpg

PostgreSQL DDL と psql の DML を使用してテーブルを作成し、Spanner データベースにデータを挿入。

自由と柔軟性のためのポータビリティ

Spanner の PostgreSQL Interface に対して記述したスキーマやクエリは、Google Cloud や他の PostgreSQL 環境でもほとんど変更なしで実行できます。このポータビリティは、金融サービスのように、新しい規制や業界ガイドラインが、重要なサービスに対して、事業を継続するために不可欠なベンダーからの撤退戦略を示すことを要求する業界では特に重要です。テーブルのインターリーブのような、PostgreSQL にはない Spanner 独自の機能については、SQL 言語を慎重に拡張し、差分を文書化しています。

また、The PostgreSQL Interface は、既存の PostgreSQL データベースから Spanner への移行やアップグレードを行うチームにより良いオプションをもたらします。HarbourBridge は、PostgreSQL、MySQL、SQL Server、DynamoDB から Spanner へのスキーマやデータ移動を自動化するオープンソース ツールです。PostgreSQL Interface を素早く使い始められるよう、ターゲットとしての PostgreSQL Interface データベースへのサポートを追加しました。PostgreSQL Interface は、PostgreSQL のビルトイン COPY コマンドや、さまざまなソースから一括で読み込む Dataflow テンプレートもサポートしています。

高い効率性のためのシンプルさ

Spanner はフルマネージドです。インスタンスのプロビジョニングを行うと、データ、クエリ、トランザクションを処理するためのストレージとコンピューティングが付随します。他のサービスとは違って、Spanner インスタンスには同期レプリカが含まれており、その他の構成は必要ありません。これにより Spanner は、ひとつのマシンを超えて書き込みをスケールし、インタラクティブなワークロードに対して最大 99.999% の可用性を提供します。ダウンタイムはビジネスを妨げます。これを回避するため、Spanner インスタンスのスケールアップまたはスケールダウンは中断なしに行えるようになっています。フェイルオーバーも同様に、リージョン デプロイではゾーン間で、マルチリージョン デプロイではリージョン間で中断なしに行われます。これは、お客様のアプリケーションの目標復旧時間(RTO)と目標復旧地点(RPO)の両方がゼロになるのを期待できるということです。

PostgreSQL Interface は、業界をリードするスケーラビリティと可用性を PostgreSQL エコシステムにもたらします。もし現在 Google スケールで運用していなくても、各マイルストーンで再構築することなくデータベースを概念実証から大規模なグローバル プレゼンスに成長させることが可能です。まずは小さい規模から始めましょう。お支払いは使った分に対してのみ発生します。Google Cloud の一部として統合されているため、運用担当者は業界の先端を行く Google のデータ保護、セキュリティ、モニタリング インフラストラクチャを使用することができます。一方、これは PostgreSQL なので、DevOps チームはすでに持っているツールやスキルを活用しつつより迅速に行動することが可能になります。

適切なインターフェースの選択

Spanner の既存のお客様には、Google 標準 SQL の継続的なサポートと進化を Google はお約束します。Google Cloud にすでに慣れ親しんでいるチームには、Spanner の ANSI SQL 言語とエコシステムが最良の選択肢です。幅広い機能とともに、BigQuery の SQL との互換性も提供されるため、クエリとコンセプトを再利用できます。インフラストラクチャが PostgreSQL で標準化されたチームの場合は、最初に Spanner の PostgreSQL Interface をご検討ください。管理者は、作成時にデータベースで使用する言語を構成します。Spanner インスタンスは、いずれの言語でも複数のデータベースをホストできます。

今すぐ利用開始

Spanner 向け PostgreSQL Interface は、開発者や運用担当者のニーズを満たすための長いロードマップの重要なステップです。運用ワークロードを PostgreSQL に標準化している組織は、すでに持っているスキルとツールを使用して、Spanner の可用性と整合性を利用することができます。

数分ですぐに利用できる新しいデータベースをお試しください。


- シニア プロダクト マネージャー Justin Makeig
投稿先