第1世代と第2世代のバックアップの比較
第2世代
Gen 1 インスタンスによるバックアップと、Gen 2 インスタンスによるバックアップ(スナップショット)は、範囲と仕組みの両面で異なります。 従来のバックアップ(第1世代)はファイルレベルで動作し、データベースファイルと書き込み先行ログ(WAL)をキャプチャします。 この手法は、トランザクションの一貫性とデータの整合性を確保するために、データベースエンジンとの緊密な連携に依存しています。 これに対し、Gen 2では、 IBM のVPCが提供するブロックストレージおよびファイル共有機能を活用した、インフラストラクチャレベルのスナップショットを使用しています。 これらのスナップショットは、大容量のデータセットであっても、高速かつスケーラブルで、パフォーマンスへの影響を最小限に抑えながら、ほぼ瞬時にボリュームレベルのコピーを作成します。 第1世代のバックアップと同様に、すべてのインスタンスには、バックアップウィンドウ中に毎日自動的に実行されるスケジュールされたバックアップが設定されています。 インスタンスのバックアップ一覧を確認したり、オンデマンドのバックアップを実行したりできるほか、バックアップを新しいインスタンスに復元することも可能です。
Gen 2 では、2 種類のバックアップが提供されています。それは、「結合バックアップ」(ほとんどのサービス向け)と「独立バックアップ」です。 独立したバックアップは、データベースの削除後も存続する個別のサービスインスタンスであるのに対し、結合されたバックアップはデータベースインスタンスのライフサイクルに紐づいています。
現在、独立したバックアップは Databases for MySQL でのみ利用可能です。 その他の第2世代サービスはすべて、結合バックアップを採用しています。
Gen 2インスタンスは、Gen 1インスタンスの復元に使用することはできません。これは、ボリュームスナップショットの復元プロセスでは、個々のデータベースファイルではなく、完全なブロックレベルのイメージが必要となるためです。
第1世代と第2世代の主な機能の違い
| 差別化要因 | Gen 1 | Gen 2 |
|---|---|---|
| メカニズム | ファイル単位のバックアップ:このバックアップは、個々のデータベースファイルおよびWALセグメントをコピーして実行されるファイル単位のバックアップであり、バックアップに含まれるすべてのファイルについてチェックサムが計算され、復元または検証操作の際に再確認されます。 このバックアップ機構は製品アプリケーションレベルで動作するため、トランザクションの一貫性とデータの整合性を確保するには、データベースエンジンとの緊密な連携が必要となります。 | インフラストラクチャレベルのバックアップ:バックアップでは、ストレージの状態全体をブロックレベルでキャプチャするインフラストラクチャレベルのボリュームスナップショットを活用することで、数テラバイト規模のデータベースであっても、バックアップウィンドウを数時間から数分に大幅に短縮します。 このアプローチにより、データベースのサイズにかかわらず、ほぼ瞬時にバックアップを作成することができます。 |
| パフォーマンス | CPUやメモリリソースを消費するため、データベースプロセスのパフォーマンスに影響を与えます。 | バックアップはデータベースプロセスとは独立して実行されるため、データベースのCPUおよびRAMの使用量に影響を与えません。 |
| 復元へのアクセス | 復元へのアクセスが遅延する。 バックアップを適用するには、データベースの起動前にファイルを完全に復元する必要があります。 復旧作業中はアクセスできません。 | 復元データへの即時アクセスが可能ですが、ハイドレーションが完了するまではI/Oパフォーマンスが低下します。 スナップショットからボリュームを復元する。 |
| 目標復旧時間 (RTO) | RTOが長くなる。 データへのアクセスを復元する作業は、データ量の増加にほぼ比例して膨大になり、大規模なデータベースの場合、その処理に数時間かかることもあります。 | 迅速なRTO:データへのアクセスを復旧するのにかかる時間はわずか数分で、データ量に左右されません。 ただし、復元処理中はI/Oパフォーマンスが一時的に低下する可能性があり、その影響の程度はデータサイズに応じて異なります。 |
| 目標復旧目標 (RPO) | 一定の間隔でスケジュールされているため、データが失われる可能性のある時間帯が生じる。 | パフォーマンスへの影響を最小限に抑えながら、頻繁に実行できます。 |
| 特定時点への復旧(PITR) | ある | 今後のリリース。 |
独立したバックアップ機能
Gen 2では、 Databases for MySQL 向けの独立したバックアップ機能が導入されました。 これらのバックアップは、従来の結合バックアップを超える機能を提供します:
| 特長 | Gen 1 | 第2世代(結合型) | 第2世代(インディペンデント) |
|---|---|---|---|
| ライフサイクル | インスタンスに紐付けられた | インスタンスに紐付けられた | インスタンスに依存しない |
| アカウントレベルのビュー | サポートされていません | サポートされていません | 一元化されたビューを備えたデータベースハブ |
| バックアップの削除 | オートマチックのみ | オートマチックのみ | 手動と自動 |
| バックアップの局所性 | 固定 | リージョンロック | リージョンロックあり。今後のリリースではバックアップコピーのサポートが予定されています |
| 永続性 | インスタンスとともに削除されました | インスタンスとともに削除されました | インスタンスの削除後も永続化可能 |
| 管理 | データベースAPI | UIのみ | データベースハブ、リソース一覧、インスタンスUI |
現在、独立したバックアップは Databases for MySQL でのみ利用可能です。 その他の第2世代サービスはすべて、結合バックアップを採用しています。
独立バックアップの詳細については、「 独立バックアップの管理 」を参照してください。
第2世代のバックアップの管理
第2世代のバックアップの管理方法については、以下をご覧ください:
- Databases for MySQL については、「 独立したバックアップの管理 」を参照してください。
- その他の第2世代サービスについては、「 バックアップの管理 」を参照してください。