Восстановление на определенный момент времени (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, будь то устаревшие чтения или экспорт, влекут за собой затраты на операции чтения в зависимости от количества прочитанных документов. Подробнее о ценах…
Минимальная оплата. С вас может взиматься плата за хранение данных для восстановления на определенный момент времени в течение одного дня, даже если вы отключите эту функцию в течение дня после ее включения.
Дальнейшие действия
- Подробнее о том, как восстановить данные с помощью PITR…