Общие сведения о восстановлении на определенный момент времени (PITR)

Восстановление на определенный момент времени (PITR) защищает от случайного удаления или записи. PITR сохраняет версии ваших документов с временными метками. Например, если разработчик случайно удалил или записал неверные данные, PITR может восстановить их на определенный момент времени в прошлом (максимум за 7 дней).

Если вы следуете рекомендациям, использование PITR не повлияет на производительность чтения и записи.

Окно PITR

После включения PITR Cloud Firestore начинает сохранять данные PITR. Данные PITR хранятся в течение семи дней в окне PITR.

Вы можете прочитать данные для временной метки, основанной на том, когда было включено восстановление на определенный момент времени:

Статус включения PITR Самые ранние доступные данные PITR
Отключено За 1 час до времени запроса на чтение.
включена в течение 7 дней За 1 час до включения восстановления на определенный момент времени
включена более 7 дней назад; 7 дней до момента запроса на чтение.

В окне восстановления на определенный момент времени сохраняется одна версия в минуту. Вы можете читать документы с точностью до минуты, используя временную метку целой минуты. Если в столбце 2023-05-30 09:00:00.1234AM указаны значения, не кратные минуте, появится сообщение об ошибке, в котором будет говориться, что значение в столбце read_time слишком старое.

При нескольких записях сохраняется только одна версия документа. Например, если в документ было внесено несколько записей в период между временными метками v1, v2, ... vk и 2023-05-30 09:00:00AM (не включительно) и 2023-05-30 09:01:00AM (включительно), то запрос на чтение с временной меткой 2023-05-30 09:01:00AM вернет версию документа vk.

Вы можете считывать данные, созданные в течение окна PITR. Данные хранятся с точностью до минуты, и вы можете восстановить их с той же точностью. По умолчанию функция PITR отключена.

Поле earliestVersionTime в базе данных указывает на самое раннее допустимое время чтения данных.

Независимо от того, включено ли восстановление на определенный момент времени, вы можете читать (но не экспортировать) документы с любой временной меткой с точностью до микросекунды за последний час, но не ранее earliestVersionTime.

Способы восстановления данных

Есть несколько способов восстановить данные:

  • Чтобы восстановить часть базы данных, выполните устаревшее чтение, указав условие запроса или используя прямой поиск по ключу вместе с временной меткой в прошлом, а затем запишите результаты обратно в активную базу данных. Обычно это используется для точечных операций в активной базе данных. Например, если вы случайно удалили документ или неправильно обновили набор данных, вы можете восстановить их с помощью этого метода. Инструкции приведены в статье Как восстановить часть базы данных.

  • Чтобы восстановить всю базу данных, воспользуйтесь одним из следующих вариантов:

    • Клонировать базу данных, чтобы создать копию базы данных с определенной временной меткой.

    • Экспортируйте базу данных, указав временную метку в прошлом, а затем импортируйте ее в новую базу данных. Операция экспорта PITR поддерживает все фильтры, включая экспорт всех документов и экспорт определенных коллекций.

    Вы можете клонировать или экспортировать данные PITR, временная метка которых относится к целой минуте в течение последних семи дней, но не ранее earliestVersionTime.

Цены

Прежде чем включить восстановление на определенный момент времени для базы данных, ознакомьтесь со следующей информацией о ценах:

  • Хранилище. Cloud Firestore ежедневно измеряет размер базы данных. Затем на основе этих данных рассчитывается средний размер хранилища базы данных за месяц. Это среднее значение умножается на цену за единицу PITR (ГБ-месяц). Подробнее о ценах на хранилище…

    Для хранилища PITR нет бесплатного плана, и если вы хотите использовать PITR, у вас должны быть включены платежи.

  • Оплата вычислений. Любые запросы, которые вы делаете в течение 7-дневного окна PITR, будь то устаревшие чтения или экспорт, влекут за собой затраты на операции чтения в зависимости от количества прочитанных документов. Подробнее о ценах…

  • Минимальная оплата. С вас может взиматься плата за хранение данных для восстановления на определенный момент времени в течение одного дня, даже если вы отключите эту функцию в течение дня после ее включения.

Дальнейшие действия