🦔

データ損失はもう怖くない!AlloyDBの「連続バックアップ」機能の一般提供を開始

2023/07/14に公開

はじめに

こんにちは、クラウドエース データML ディビジョン所属の齋藤です。
クラウドエースのITエンジニアリングを担うシステム開発部の中で、
お客様のデータ課題を解決し、ビジネス価値を創出することを専門とするのが
データML ディビジョンです。

AlloyDBの連続バックアップ(Continuous backup)機能が一般提供(GA)しました。

2023年6月1日、Google Cloudは
AlloyDBの「連続バックアップ」機能が
一般提供となったと発表しました。

公式ドキュメントはこちらをご確認ください。

この記事では、
AlloyDBの「連続バックアップ」機能がどのように動作するのか
AlloyDB とはどのようなデータベースなのか
また、他のバックアップ方法との比較についても書いていきます。

この記事の対象者

  • 「AlloyDB で どの様な使い方ができるのか知りたい」
  • 「AlloyDB の 新機能「連続バックアップ」について詳しく知りたい」
  • 「連続バックアップのメリットとデメリットを理解したい」

AlloyDBとは何か?

AlloyDBとは、
Google Cloudが提供する
PostgreSQL互換性を持つフルマネージド型のデータベースサービスです。

PostgreSQLとの完全な互換性を持ち、
スケーラビリティ、パフォーマンス、高可用性を提供します。

主な特徴を挙げていきます。

PostgreSQLとの完全な互換性

PostgreSQLのフル機能をサポートしています。

高速なパフォーマンス

トランザクション処理は通常のPostgreSQLと比べて4倍以上、
分析クエリは最大100倍の高速化をできると公式ドキュメントでは謳っています。

高可用性

99.99%の可用性SLAを提供します。
リージョンごとの高い可用性が期待でき、
大部分のデータベース障害を60秒以内に自動的に検出し回復します。

統合された分析

運用性能に影響を与えずに分析高速化を可能にする
ベクトル化されたカラム型実行エンジンを使用しています。

※ カラム型実行エンジン とは
大量のカラム型データを効率的に処理する最新型のベクトル化クエリ処理エンジン
詳細はこちらからご確認ください。

AI/MLを活用した管理機能

自動プロビジョニングやアダプティブオートバキュームなどの
オートパイロットシステムにより、
データベースの管理が容易になります。

これらの特徴があります。

AlloyDBの料金ページはこちらになります。

リリース内容: 連続バックアップ(Continuous Backup)

AlloyDBの新機能「連続バックアップ」は、
2023年6月1日から一般提供になったもので、
データベースの状態を過去の任意の時点に戻せるという機能です。

例えば、間違ってデータを消してしまったときでも、
この機能を使ってその前の状態に戻すことができます。

また、マイクロ秒単位で時間を選択でき、基本的には最大14日前までの時間を選べます。
この期間は最長で35日まで最短で1日までに調整することもできます。

大規模なデータの消失や何か事故が起きたときでも、
データベースの状態を事故直前に戻すことができます。

これにより、「Recovery Point Objective(RPO)」という指標がゼロになります。

※ RPOとは、最後にデータを保存した時間と事故が起きた時間の間の時間を指す言葉です。
つまり、RPOがゼロとは、データが一切失われない状態を意味します。

さらに、この新機能を使えば、現在のデータベースの状態を丸ごとコピーして新しいデータベース(クローン)を作ることも可能です。

連続バックアップと他のバックアップ方法との比較

ここからは今回の「連続バックアップ」を含めた

  • オンデマンドバックアップ(On-Demand Backup)
  • 自動バックアップ(Automated Backup)

との比較していきます。

以下が3つのバックアップ方法を使う場面、特徴とメリット、そして保持期間の3観点で比較した表になります。

バックアップ方法 使う場面 特徴とメリット 保持期間
連続バックアップ (Continuous backup and recovery) ・データをリアルタイムで保護したいとき
・データベースの状態を過去の特定の時点に戻したいとき
・データをリアルタイムに保護
・データの失われる時間(RPO)がゼロ
・データを消してしまった場合でも、すぐに以前の状態に戻すことが可能
最長35日
オンデマンドバックアップ (On-Demand Backup) ・特定の時点の完全なデータスナップショットが必要なとき
・データを変更したり更新したりした後にすぐにバックアップを取りたいとき
・必要なときにいつでも自分でバックアップを作れる 最長1年間
自動バックアップ (Automated Backup) ・定期的にデータのスナップショットを取りたいとき
・バックアップを作るのを忘れることがあるとき
・定期的に自動でバックアップが作られる 最長1年間

連続バックアップ機能のユースケース

AlloyDBの連続バックアップ機能は、さまざまなシナリオでに役立ちます。
以下に、この機能が特に有用となる具体的な使用例を3つ紹介します。

「緊急時の災害復旧」

大規模なシステム障害や自然災害など、
緊急時にはデータベースの復旧が必要となる場合があります。

連続バックアップ機能により、災害直前の状態までデータを復元することが可能です。
これにより、災害の影響を最小限に抑え、ビジネスを継続することができます。

「クラスタのクローン作成」

テスト環境の準備や性能テストの実施、新しい機能の導入前の評価など、
現在のクラスタの状態を完全にコピーしたクローンが必要な場合、
連続バックアップ機能を使用すると、現在の状態を完全にコピーした新しいクラスタを簡単に作成することができます。

「コンプライアンスと監査」

過去の特定の時点でのデータベースの状態を復元し、
監査やコンプライアンスの要件を満たす必要がある場合
連続バックアップを使用すると、
必要な時点の状態にデータベースを簡単に復元することができます。

検証

「連続バックアップ」機能を設定し、
どのように時間を指定し、データ復元がされるのかの検証を行います。

今回は、「連続バックアップ」の検証のため
AlloyDBの作成方法は省略させていただきます。

もし不明点があれば下記を参考にしていただければ幸いです。

https://cloud-ace.jp/column/detail319/

記事内の
「バックアップ・リストア」の「データ準備」で
データを挿入するところからになります。

1. AlloyDBに、Cloud Shell でデータを挿入出来たことを確認します。

IngressPort

2. AlloyDBの「プライマリクラスタ」のWebコンソールに戻り、サイドバーにあるデータ保護を選択します。

IngressPort

3. 「継続的なバックアップとリカバリ」のポリシーの「継続的バックアップと復元」の編集をクリックします。

IngressPort

4. Google Cloudが管理する継続的データ保護にチェックを入れ、任意の復元期間を入力し、更新を押します。

IngressPort

5. 「連続バックアップ」のバックアップファイルが、24時間以内で生成されるためそれまで待ちます。

6. 生成されたのを確認します。

IngressPort

7. 同じ画面の左側のサイドバーから「データ保護」をクリックします。

IngressPort

8. 「バックアップ/復元」にある「特定の地点からの復元」 の青字で記載されている「復元」をクリックします。

IngressPort

9. 右側のサイドバーから復元に必要な設定を入力します。

※ここで「ターゲット時間」で、秒単位まで指定することができます。
秒の小数点以下の桁数を入れる場合は gcloud コマンドツールを使用する必要があります。

IngressPort

10. 復元されるまで待ちます。

11. 復元されたことを確認、プライマリインスタンスを作成します

IngressPort

12. AlloyDBに接続し、挿入したデータが復元していることを確認します。

IngressPort

無事に復活しました。

まとめ

新しいAlloyDB for PostgreSQLのバージョンがリリースされ、
「連続的なバックアップとリカバリ機能」が一般提供されました。

この新機能は、データを守るための重要なツールであり、
データがなくなるリスクが大幅に減少します。

この機能を使えば、
ユーザーは過去35日間の任意の時点を選んで、
その時点のデータベースの状態に戻すことができます。

これは、大量のデータを誤って削除したり、
システムに何か問題が生じたりしたときに役立ちます。

特に、絶対に失ってはいけない
かつ、データの書き込みが頻繁に行われる
データベースにおいて有用ではないかと思いました。

Discussion