最近のブログ投稿で、GoogleはCloud Spannerの多数の新機能を発表した。パブリッククラウドプロバイダーは、マネージドバックアップ・リストアの機能、外部キーのサポート、クエリオプティマイザーのバージョン管理機能、C++クライアントライブラリ、ローカルエミュレータなどの機能の更新を含むサービスをリリースした。
Cloud Spannerは、Google Cloud Platform(GCP)上のグローバルに分散されたスケーラブルなマルチバージョンデータベースサービスである。立ち上げ時から、Googleはベータ版のときから、データ操作(DML)SQL言語の更新や新しいリージョン、マルチリージョン構成などの更新により、データベースサービスを進化させてきた。現在、Cloud Spannerは、別の更新セットでさらに強化されている。
最も重要な新機能は、マネージドバックアップ・リストアである。これは、一般向けに利用可能になっており、ユーザまたはアプリケーションのエラーに対して、論理データが破損しなように保護する機能を提供する。マネージドバックアップ・リストアを使用すると、ユーザはリージョン構成またはマルチリージョン構成でデータベースの一貫したオンデマンドバックアップを実行することができる。そして、それらのバックアップを同じインスタンス構成の同じまたは異なるインスタンスに復元できる。さらに、これらのリストアは、バックアップ内の最初の1バイト目のデータアクセスまでの時間を短縮するように最適化されている。つまり、ブログの投稿によると、ユーザは障害から数分以内にバックアップから復元されるテラバイトのデータにアクセスできる。
ユーザは、クライアントライブラリ、gcloud、クラウドコンソールを介してマネージドバックアップ・リストアにアクセスし、この機能を使用して、サイズに関係なくデータベースをバックアップおよび復元できる。
ソース: https://cloud.google.com/blog/products/databases/native-cloud-database-spanner-adds-features
マネージドバックアップ・リストア機能の導入に加えて、GoogleはSpannerでアプリケーションを開発する際の信頼性、柔軟性、使いやすさを向上させる新機能も追加した。これらの新しい一般的に利用可能な機能は次のとおりである。
- 外部キー: ユーザは異なるテーブルの列間の参照整合性制約を定義できる。
- C++クライアントライブラリ: SpannerのC++アプリケーション開発をサポートし、セッションプール管理や再試行ロジックなどのベストプラクティスを含む。
- クエリオプティマイザーのバージョン管理: ユーザは、最高のパフォーマンスを生み出す特定のオプティマイザーバージョンを使用し、データベース、アプリケーション、クエリの実行をより詳細に制御でき、適宜、新バージョンや旧バージョンに切り替えることができる。また、GoogleのSpannerのエンジニアであるJaana Dogan氏がツイートで次のように述べている。
スタンドアロンツールを作成して、実行統計を介してクエリの改善/回帰を確認することもできます。http://github.com/rakyll/spannerbench
最後に、もう1つの更新は新しいローカルエミュレータ機能である。これは現在ベータ版であり、ローカルテストに役立つものである。エミュレータはオフライン環境で実行でき、Spanner API(RESTとgRPCの両方)とSQLレイヤーをエミュレートする。GoogleのソフトウェアエンジニアであるSneha Shah氏は、Cloud Spannerローカルエミュレータに関するMediumブログの投稿で次のように述べている。
Cloud Spannerエミュレータは、アプリケーション開発コストを削減し、Cloud Spannerユーザの開発者の生産性を向上させます。今後も顧客の要望に応じた機能の構築とサポートを継続していく予定です。GitHubでCloud Spannerエミュレータをフォローすることで、アップデートしていくことが可能です。
Cloud Spannerの料金の詳細については、料金ページをご覧ください。