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

Cloud Spanner がポイントインタイム リカバリ機能への対応を開始

2021年3月31日
https://storage.googleapis.com/gweb-cloudblog-publish/original_images/cloud_spanner.jpg
Google Cloud Japan Team

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

水平スケーリングに対応したリレーショナル データベース Cloud Spanner が、このたびポイントインタイム リカバリ(PITR)機能への対応を開始しました。これにより、ユーザーエラーによる予期せぬデータの削除やアップデートからデータを完全に保護することができるようになりました。Spanner ではすでにバックアップと復元およびインポート / エクスポートに対応しているため、バックアップまたはエクスポートを実施した時点の状態にデータベースを復元できます。PITR 機能により、Spanner では過去のデータをマイクロ秒という細かい時間単位で復元できる連続的なデータ保護が可能になりました。これにより、各企業では破損したデータをすばやく修正してビジネスのリスクや損失を軽減し、カスタマー エクスペリエンスへの影響を最小限に抑えることができます。

PITR は使い方が簡単で柔軟性も高いため、よりきめ細かくデータ保護を行えるようになります。データベースのバージョン保持期間(version retention period) を設定するだけで、全バージョンのデータやスキーマを 1 時間~7 日間保持できます。残りの作業は Spanner により自動的に実施されます。論理データが破損した場合、状況に応じてデータベースを完全復元するか、データベースの特定部分だけを復元するかを選択できます。後者を選択した場合、データベース全体を復元する必要がないため、貴重な時間やリソースを節約できます。

実際によくある例を 2 つ挙げます。まず 1 つ目の例です。とある多国籍金融企業のデータベース管理者であるジョンは、稼働中のライブテーブルを誤って削除してしまいました。そして次の日、顧客からの苦情によってこのミスに気が付きました。次に 2 つ目の例です。とある国内向けオンライン小売店のサイト信頼性エンジニアであるキムは、新しい決済処理エンジンを導入しました。しかし、スキーマ変更を繰り返すうちに消費者の決済データベースが破損してしまいました。Spanner の PITR 機能でバージョン保持期間を正しく設定していた場合、ジョンもキムもこのピンチから救われるのです。ジョンはステイル読み取りを行い、クエリ条件や過去のタイムスタンプを指定し、その結果をライブ データベースに書き込むことで、テーブルを復元できます。キムは過去のタイムスタンプを指定してバックアップまたはエクスポート機能を使い、データベース全体のバックアップまたはエクスポートを行うことで、新しいデータベースへ復元またはインポートが可能です。

PITR によるデータベース全体の設定や復元

バージョン保持期間はデータベースのレベルに含まれているため、まず目的のデータベース詳細ページで新しい保持期間を設定することが必要です。デフォルトでは、作成されるデータベースごとに 1 時間に設定されています。PITR 機能により、この保持期間を 7 日間まで延ばせるようになりました。日/時/分という粒度の設定が可能です。

UI コンソールでは、データベース保持期間を以下の図のとおりに設定します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/set_a_databases_retention_period.max-2000x2000.jpg

クリックして拡大

インスタンス内の各データベースに対しこの設定を行えます。ここでは、UI で過去のある時点(バージョン時間)にバックアップを作成し、そのバックアップから復元する方法を紹介します。UI でのバックアップ作成は、以下の図のとおりに行います。

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

クリックして拡大

UI でデータベースのバックアップを一覧表示すると、バージョン時間(Version time)がバックアップの作成時間(Creation time)と異なっていることがわかります。これは、バックアップ データが過去のある時点におけるデータベース バージョンに由来することを示しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/database_details.max-1900x1900.jpg

クリックして拡大

これで、Spanner を使用している同一インスタンス内、または同一のリージョンまたはマルチリージョン内の別のインスタンスにデータベース全体を復元するデータベースの復元を実行できます。

復元されたデータベースのバージョン保持期間は、バックアップが作成された時点でのオリジナルのデータベースと同じになります。デフォルトの 1 時間には戻りませんのでご注意ください。

PITR の最大データ保持期間である 7 日間より長いデータ保持期間を設定する場合は、バックアップ(最長 1 年のデータ保持期間)や、CSV または Avro 形式のファイルでデータをエクスポートし必要な期間保存できるエクスポート機能を引き続きご利用いただけます。

詳細 

PITR は、世界中の Google マネージド リージョンで利用できるようになりました。バージョン保持期間に含まれる全バージョンのキーを保存するための追加ストレージに対して課金されます。バックアップ / 復元機能またはインポート / 復元機能でデータを復元する場合、料金設定.に応じて課金されます。  

-Google Cloud プロダクト マネージャー Vaibhav Govil

-Google プログラム マネージャー Cagdas Aydin

投稿先