Снежинки -Разница между путешествием по времени: data_retention_time_in_days и отказоустойчивостью - PullRequest
0 голосов
/ 07 мая 2020

Путешествие во времени: Помогает пользователю запрашивать данные, как они выглядят некоторое время назад, и мы можем запросить, восстановить предыдущее состояние таблицы.

Отказоустойчивость: внутренне используется снежинками для восстановления данные во время аппаратного сбоя.

Это гипотетически (задается этот вопрос, чтобы лучше понять путешествие во времени и отказоустойчивость) система не работала в пятницу вечером, и мы поняли, что аппаратный сбой произошел утром в понедельник. У меня путешествие во времени установлено как 1 day-data_retention_time_in_days. Могу ли я в этом случае вернуть данные, как в пятницу, до сбоя при перезапуске?

Вопрос 2

Возможно ли это? Если у нас время data_retention_time_in_days равно 6, а отказоустойчивость по умолчанию - (7 дней). В этом случае при отказе оборудования, если я хочу восстановить базу данных до точки, где, как это было на 10 дней назад?

Пример: 6 дней путешествия во времени + 7 дней без сбоев, скажем, 20 мая, если я решил для восстановления базы данных до состояния, которое было 10 мая.

Ответы [ 2 ]

3 голосов
/ 07 мая 2020

Вопрос 1: Если вы ожидаете «аппаратного сбоя» в системе Snowflake, вы можете прочитать следующую документацию: https://docs.snowflake.com/en/user-guide/intro-key-concepts.html. Ваш вопрос, как правило, склоняется к более старым локальным системам, но к вашему вопросу о путешествиях во времени и о том, как они работают. Если у вас все установлено на 1 день для путешествия во времени, то вы можете восстановить любую таблицу или все таблицы на любой момент времени до 1 дня в прошлом.

Вопрос 2: Да, но в этом случае вам необходимо обратиться в службу поддержки Snowflake. У вас нет доступа к отказоустойчивым данным, поэтому службе поддержки Snowflake потребуется восстановить ваши данные на основе информации в отказоустойчивом. безопасно из документации Snowflake (что отлично, кстати!). https://docs.snowflake.com/en/user-guide/data-availability.html

0 голосов
/ 10 мая 2020

Это действительно интересный бит, три основных концепции

  1. Путешествие во времени, пользователь может устанавливать и извлекать данные, возвращающиеся к истории, на основе их версии снежинки и объекта или учетной записи c путешествие во времени (day-data_retention_time_in_days) setup.
  2. Отказоустойчивый, пользователь не имеет контроля над извлечением данных, применимых только после того, как период путешествия во времени закончился. В этом случае только поддержка Snowflake может помочь до 7 дней. Итак, если вы установили путешествие во времени как 6 дней (при условии), вы сами можете получить объекты db после выполнения транзакции + 6 дней времени. с 7-го по 13-й день после выполнения транзакции поддержка снежинки может помочь получить ваши объекты. По прошествии 13 дней объекты не могут быть получены или восстановлены обратно.
  3. Snowflake - идеальный SaaS, поэтому время безотказной работы целевой облачной платформы / сервисов не входит в обязанности пользователей, в SLA Snowflake говорится о доступности сервисов на 99,9%. Необходимо настроить путешествие во времени на основе политик резервного копирования и восстановления их организации.

теперь переходим к вашему вопросу

1: вы не теряете данные, вы теряете предыдущее состояние объектов. Что-то произошло в пятницу и понято в понедельник утром (если для путешествия во времени установлено значение 1), вы сами не можете вернуть состояние объекта, подобное тому, которое было в пятницу. Если вам нужно получить состояние, ответом будет поддержка снежинки.

2: если вы хотите восстановить состояние объекта, которое было на 10 дней назад, и ваша настройка путешествия во времени составляет 6 дней, тогда снова вы требуется помощь в поддержке снежинок.

Базовая концепция здесь согласно CDP (непрерывная защита данных).

Пользователь учетной записи Snowflake может восстановить состояние на основе дней, проведенных вами во времени (предположить X)

Snowflake Support может восстановить состояние объекта, если оно находится в пределах временного интервала X + 7

...