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

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

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

Окно ПИТР

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

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

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

В окне PITR сохраняется одна версия в минуту. Вы можете читать документы с точностью до минуты, используя метку времени, равную целой минуте. Чтения с точностью до минуты, например, 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 вашей базы данных указывает самое раннее допустимое время чтения ваших данных.

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

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

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

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

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

Цены

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

  • Хранилище: Cloud Firestore ежедневно измеряет размер базы данных. За месяц эти точки выборки усредняются для расчета размера хранилища базы данных. Это среднее значение умножается на стоимость единицы PITR (ГБ в месяц). Подробнее см. в разделе «Цены на хранилище» .

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

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

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

Что дальше?