Восстановление на момент времени Cloud Firestore (PITR) обеспечивает защиту от случайного удаления или записи. PITR сохраняет версии ваших документов с прошлых временных меток. Например, в случае, если разработчик вставляет какие-либо неверные данные, случайно удаляет или записывает данные, PITR может восстановить данные на момент времени в прошлом (максимум до 7 дней) без проблем.
Для любой работающей базы данных, которая следует передовым практикам , использование PITR не влияет на производительность чтения или записи.
Окно ПИТР
После включения PITR Cloud Firestore начинает хранить данные PITR. Данные PITR хранятся в течение 7 дней в окне PITR.
Вы можете прочитать данные по временной метке, основанной на времени включения 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. Данные хранятся с точностью до минуты, и вы можете восстановить данные с той же точностью. Функция Cloud Firestore PITR по умолчанию отключена.
Поле earlyVersionTime вашей базы данных указывает самое раннее допустимое время чтения ваших данных.
Независимо от того, включена функция PITR или нет, вы можете читать (но не экспортировать) документы с любой временной меткой с точностью до микросекунды в течение последнего часа, но не ранее самой ранней версии VersionTime.
Способы восстановления данных
Существует два способа восстановления данных:
Чтобы восстановить часть базы данных , выполните устаревшее чтение , указав условие запроса или используя прямой поиск по ключу вместе с временной меткой в прошлом, а затем запишите результаты обратно в действующую базу данных. Обычно это используется для хирургических операций на действующей базе данных. Например, если вы случайно удалили определенный документ или неправильно обновили подмножество данных, вы можете восстановить его с помощью этого метода. Инструкции см. в разделе восстановление части вашей базы данных .
Чтобы восстановить всю базу данных , экспортируйте базу данных, указав временную метку в прошлом, а затем импортируйте ее в новую базу данных. Операция экспорта PITR поддерживает все фильтры, включая экспорт всех документов и экспорт определенных коллекций. Вы можете экспортировать данные PITR, где временная метка представляет собой целую минуту в течение последних семи дней, но не ранее самого earlyVersionTime.
Ценообразование
Прежде чем включить PITR для своей базы данных, примите во внимание следующую информацию о ценах:
Хранилище: Cloud Firestore ежедневно измеряет размер базы данных. За период месяца эти точки выборки усредняются для расчета размера хранилища базы данных. Это среднее значение умножается на цену единицы PITR (ГБ-месяц). Для получения дополнительной информации см. цены на хранилище .
У хранилища PITR нет бесплатного уровня, и если вы хотите использовать PITR, у вас должна быть включена функция выставления счетов.
Вычисление счетов: любые запросы, которые вы делаете в течение окна PITR в 7 дней, либо через устаревшие чтения, либо через экспорт, влекут за собой расходы на операции чтения в зависимости от количества прочитанных документов. См. цены для получения дополнительной информации.
Минимальная сумма к оплате: с вас может взиматься плата за хранение PITR за один день, даже если вы отключите PITR в течение дня после включения.
Что дальше?
- Узнайте больше о том, как восстановить данные с помощью PITR .