Восстановление на определенный момент времени Cloud Firestore (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
, вернут ошибку о том, что время чтения слишком старое.
В случае нескольких записей сохраняется только одна версия документа. Например, если документ имел несколько записей в диапазоне от v1, v2, ... vk
между 2023-05-30 09:00:00AM
(эксклюзивно) и 2023-05-30 09:01:00AM
(включительно), запрос на чтение по метке времени 2023-05-30 09:01:00AM
возвращает версию документа vk
.
Вы можете читать данные, созданные в окне PITR. Данные хранятся с точностью до минуты, и вы можете восстановить данные с той же степенью детализации. Функция Cloud Firestore PITR по умолчанию отключена.
Поле EarlyVersionTime вашей базы данных указывает самое раннее допустимое время чтения ваших данных.
Независимо от того, включен PITR или нет, вы можете читать (но не экспортировать) документы с любой отметкой времени с точностью до микросекунды в течение последнего часа, но не раньше самого раннегоVersionTime.
Способы восстановления данных
Есть два способа восстановить данные:
Чтобы восстановить часть базы данных , выполните устаревшее чтение, указав условие запроса или используя прямой поиск по ключу вместе с отметкой времени в прошлом, а затем запишите результаты обратно в действующую базу данных. Обычно это используется для хирургических операций в живой базе данных. Например, если вы случайно удалили определенный документ или неправильно обновили подмножество данных, вы можете восстановить его с помощью этого метода. Инструкции см. в разделе восстановление части базы данных .
Чтобы восстановить всю базу данных , экспортируйте базу данных, указав отметку времени в прошлом, а затем импортируйте ее в новую базу данных. Операция экспорта PITR поддерживает все фильтры, включая экспорт всех документов и экспорт определенных коллекций. Вы можете экспортировать данные PITR, где временная метка представляет собой целую минуту за последние семь дней, но не ранее, чем самое раннее время версии.
Цены
Прежде чем включить PITR для своей базы данных, обратите внимание на следующую информацию о ценах:
Хранилище: Cloud Firestore ежедневно измеряет размер базы данных. В течение месяца эти точки выборки усредняются для расчета размера хранилища базы данных. Это среднее значение умножается на цену единицы PITR (ГБ-месяц). Дополнительную информацию см. в ценах на хранилище .
В хранилище PITR нет уровня бесплатного пользования, и для использования PITR необходимо включить выставление счетов.
Вычисление счетов. Любые запросы, которые вы делаете в течение 7-дневного окна PITR, будь то посредством устаревшего чтения или экспорта, влекут за собой затраты на операцию чтения в зависимости от количества прочитанных документов. См. цены для получения дополнительной информации.
Минимальный счет: с вас может взиматься плата за хранение PITR в размере до 1 дня, даже если вы отключите PITR в течение дня после включения.
Что дальше
- Узнайте больше о том, как восстановить данные с помощью PITR .