ポイントインタイム リカバリ(PITR)の概要

Datastore モードの Firestore のポイントインタイム リカバリ(PITR)は、偶発的な削除や書き込みから保護します。PITR により、過去のタイムスタンプのエンティティ バージョンが維持されます。たとえば、デベロッパーが誤ったデータを push した場合、偶発的に削除や書き込みを行った場合に、PITR は過去の時点(最大 7 日間)にデータをシームレスに復元できます。

ベスト プラクティスに従っているライブ データベースでは、PITR を使用しても読み取りや書き込みのパフォーマンスに影響はありません。

PITR 期間

PITR を有効にすると、Datastore モードで PITR データの保持が開始されます。PITR データは PITR 期間に 7 日間保持されます。

PITR を有効にした時刻に基づいて、タイムスタンプのデータを読み取ることができます。

PITR の有効化ステータス 利用可能な最も古い PITR データ
無効 読み取りリクエストの 1 時間前
7 日以内に有効化 PITR を有効にする 1 時間前
7 日以上前に有効化 読み取りリクエスト時刻の 7 日前

PITR 期間には 1 分あたり 1 つのバージョンが保持されます。1 分単位のタイムスタンプを使用して、ドキュメントを分単位で読み取ることができます。複数の書き込みがあった場合、1 つのバージョンのドキュメントのみが保持されます。たとえば、ドキュメントに対して 2023-05-30 09:00:00AM(含まない)と 2023-05-30 09:01:00AM(含む)の間のタイムスタンプに v1, v2, ... vk からの複数の書き込みがあった場合、タイムスタンプ 2023-05-30 09:01:00AM の読み取りリクエストには vk バージョンのドキュメントが返されます。

PITR 期間内に作成されたデータから読み取ることができます。各データは分単位で保存され、同じ粒度でデータを復元できます。Datastore モードの PITR 機能はデフォルトで無効になっています。

データベースの earliestVersionTime フィールドは、データの許容される最も早い読み取り時間を指定します。

PITR が有効であるかどうかにかかわらず、過去 1 時間以内かつ earliestVersionTime より後であれば、任意のタイムスタンプ(マイクロ秒単位)のドキュメントを読み取ることはできますが、エクスポートすることはできません。

データの復元方法

データを復元するには、次の 2 つの方法があります。

  • データベースの一部を復元するには、クエリ条件を指定するか、過去のタイムスタンプで直接キールックアップを使用してステイル読み取りを実行し、結果をライブ データベースへ書き戻します。これは通常、ライブ データベースの特定されたオペレーションに使用されます。たとえば、特定のエンティティが偶発的に削除された場合や、データのサブセットを誤って更新した場合、この方法で復元できます。手順については、データベースの一部を復元するをご覧ください。

  • データベース全体を復元するには、過去のタイムスタンプを指定してデータベースをエクスポートし、新しいデータベースにインポートします。PITR エクスポート オペレーションでは、すべてのエンティティのエクスポート、特定の種類または名前空間のエクスポートなど、すべてのフィルタがサポートされます。データベースのエクスポートには数時間かかる場合があります。PITR データをエクスポートできるのは、タイムスタンプが過去 7 日間以内(ただし earliestVersionTime 以降に)発生した、1 分単位のタイムスタンプである場合のみです。

料金

データベースで PITR を有効にする前に、次の価格情報を見て検討してください。

  • ストレージ: Datastore モードでは、データベースのサイズが毎日測定されます。サンプル ポイントの1か月平均をとってデータベースのストレージ サイズを計算します。この平均値に PITR の単価(GB-月)を掛けます。詳細については、ストレージの料金をご覧ください。

    PITR ストレージには無料枠がないため、PITR を使用する場合は、課金を有効にする必要があります。

  • コンピューティング料金: 7 日間の PITR 期間内に行われたクエリ(ステイル読み取りまたはエクスポート)には、読み取ったドキュメントの数に基づいて読み取りオペレーションのコストが発生します。詳細は料金をご覧ください。

  • 最低請求金額: PITR を有効にしてから 1 日以内に無効にしても、最大 1 日の PITR ストレージ料金が請求されることがあります。

次のステップ