信頼性
VeloDB Cloudは3種類の障害から保護します:アベイラビリティゾーンの消失、データの損失や破損、リージョンの消失です。それぞれは異なる機能によって処理され、RPOとRTOという2つのメトリクスによって測定されます。
RPOとRTO
RPO(Recovery Point Objective)は、障害後に失う可能性のある最大データ量を時間の窓として測定したものです。RPOが1時間の場合、最大1時間分の書き込みが失われる可能性があることを意味します。達成できるRPOは、以下で説明するように、どの保護機能に依存するかによって決まります。
RTO(Recovery Time Objective)は、障害の検出と復旧完了にかかる時間を含めた、障害後にサービスを復旧するまでの最大時間です。RTOが1時間の場合、1時間以内にサービスが再開されることを意味します。復旧にデータの復元やインポートが含まれる場合、RTOはデータ量とともに増加します。
各障害の処理方法
High Availabilityは単一のアベイラビリティゾーンの損失から保護します。VeloDB Cloudはウェアハウスを複数のアベイラビリティゾーンにまたがって展開するため、コミットされたデータはゾーン障害を生き延び、RPOはゼロになります。自動復旧の場合、異なるゾーンの2つのクラスタをprimary-standby virtual clusterとしてペアにします:プライマリゾーンが失敗すると、VeloDBは自動的にスタンバイにフェイルオーバーし、リアルタイムで同期を保つため、切り替えは迅速ですが瞬時ではありません。これは、まず障害が検出される必要があるためです。単一クラスタにはスタンバイがないため、別のゾーンに代替クラスタを作成することで手動で復旧します。これにより、RTOはいつ対処するかと新しいクラスタの起動とキャッシュの暖機にかかる時間に依存します。High Availabilityを参照してください。
Recycle Binは誤って削除したデータを復旧します。リサイクルビンにまだ残っている限り、RECOVERを実行して、削除または切り詰めたデータベース、テーブル、またはパーティションを復元します。この復旧は保証されたものではなくベストエフォートです。これは、VeloDB Cloudがリソースを必要とするときにリサイクルビンのエントリを削除するためで、保証された復旧ポイントが必要な場合はバックアップを使用してください。
Backupsはデータの破損と不正な書き込みから保護します。VeloDB Cloudは設定したスケジュールに従って、同じリージョンのオブジェクトストレージにデータベースをコピーし、保持されている任意のバックアップから復元します。バックアップのRPOは、設定したバックアップサイクルに各バックアップの完了時間を加えたものです。バックアップや復元にかかる時間は、データ量、テーブルスキーマ、テーブル数を含む複数の要因に依存します。Backupsを参照してください。
Disaster Recoveryはリージョン全体の損失から保護します。バックアップとマルチゾーン展開はどちらも単一リージョン内でデータを保持するため、リージョン規模の停止を生き延びることはできません。データを別のリージョンにエクスポートして、使用可能なコピーを他の場所に存在させ、そのリージョンのウェアハウスにインポートすることで復旧します。エクスポートのRPOは、設定したエクスポートサイクルに各エクスポートの完了時間を加えたものです。Disaster Recoveryを参照してください。
推奨事項
結果はデータ量、クラスタサイズ、アプリケーションに依存するため、本番環境規模のデータを使用した復旧訓練を実行して、実際のRPOとRTOを評価することで、採用するアプローチを定期的にテストしてください。リージョン間で可能な限り低いRPOとRTOが必要な場合、2つのリージョンそれぞれでウェアハウスを実行し、両方に書き込みます。これにより、リージョン障害が発生しても、即座にトラフィックを提供できる最新のコピーが残りますが、2つのウェアハウスの運用と負荷のコストがかかります。