御成門プログラマーの技術日記

Microsoft AzureやAngularなどの技術情報を発信します

バックアップ基本知識(RPOとRTO、差分バックアップと増分バックアップ)

RPO(Recovery Point Objective)とRTO(Recovery Time Objective)

RPOとRTOはバックアップに対する指標であり、ともに0に近い方が理想的である。

  • RPO(Recovery Point Objective)

    システム障害が発生してから、どのくらい障害が発生する直前の時点のデータを復旧させることができるかの目標値

    RPOが1日の場合:障害が発生する1日前までのデータを復旧させなくてはならない。

  • RTO(Recovery Time Objective)

    システム障害が発生してから、障害が回復するまでの時間の目標値

    RTOが1時間の場合:障害発生後1時間以内に障害を回復させなければならない。

バックアップの種類

  • フルバックアップ

    毎回、バックアップ対象は全てのデータである。

    • メリット

      データ回復時にバックアップデータをそのまま復旧すればいいので処理がシンプルである。

    • デメリット

      バックアップデータを保管するストレージの容量や毎回のバックアップで発生するネットワーク量が大きい。

  • 差分バックアップ

    初回にフルバックアップを行い、以降のバックアップは初回のフルバックアップとの差分をバックアップする。

    • メリット

      データ回復時に初回フルバックアップ分データと復旧させる差分のデータの2つを繋ぐだけなので処理が簡単。

    • デメリット

      一回のバックアップで初回フルバックとの差分を全てバックアップするので、バックアップ量が多くなる。

      リカバリーポイントを複数残す場合、ストレージ容量が大きくなってしまう。

  • 増分バックアップ

    初回にフルバックアップを行い、以降のバックアップは前回バックアップ時との差分をバックアップする。

    • メリット

      前回バックアップとの増分データのみバックアップを行えばいいため、バックアップ量を少なくできる。

      リカバリーポイントを複数残しても、ストレージ容量がかからない。

    • デメリット

      データ回復時に初回フルバックアップからリカバリポイントまで間の増分データを全てつなげる必要があるため、処理が複雑になりやすい。 どこかでバックアップデータが失われてしまうと、それ以降のデータの復旧ができない。

フルバックアップ、差分バックアップ増分バックアップどれを選択したらいい?

バックアップ処理を手動ではなく、サービスが自動で行ってくれる場合、つまりバックアップデータの手動管理を行わない場合はバックアップファイルの管理やリカバリー時の内部処理の複雑さはユーザーは気にする必要がないため、おすすめ度は下記の通りになる。

増分バックアップ > 差分バックアップ > フルバックアップ