Запросите данные в том виде, в каком они существовали в прошлом.

Применяется к:✅ аналитической конечной точке SQL и хранилищу данных в Microsoft Fabric

Microsoft Fabric предоставляет возможность запрашивать исторические данные в том виде, в каком они существовали в прошлом, в элементах хранилища данных и конечной точки аналитики SQL (предварительная версия). Возможность запрашивать данные по состоянию на определенный момент времени в области хранилищ данных известна как путешествие во времени.

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

Что такое путешествие по времени?

Перемещение по времени в хранилище данных — это низкая стоимость и эффективная возможность быстро запрашивать предыдущие версии данных.

В настоящее время Microsoft Fabric позволяет получить прошлые состояния данных следующим образом:

Перемещение по времени с помощью команды FOR TIMESTAMP AS OF T-SQL

Таблицы можно запрашивать с помощью синтаксиса OPTION FOR TIMESTAMP AS OF T-SQL для получения данных в прошлые моменты времени. Предложение FOR TIMESTAMP AS OF влияет на весь запрос, включая все присоединенные таблицы хранилища.

Результаты, полученные из запросов на поездки во время, по сути, доступны только для чтения. Операции записи, такие как INSERT, UPDATE и DELETE, не могут выполняться при использовании подсказки для запроса FOR TIMESTAMP AS OF.

Используйте предложение OPTION, чтобы указать подсказку запроса FOR TIMESTAMP AS OF. Запросы возвращают данные точно в том виде, в каком они существовали на момент времени, указанный как YYYY-MM-DDTHH:MM:SS[.fff]. Например:

SELECT *
FROM [dbo].[dimension_customer] AS DC
OPTION (FOR TIMESTAMP AS OF '2024-03-13T19:39:35.28'); --March 13, 2024 at 7:39:35.28 PM UTC

Используйте синтаксис CONVERT для необходимого формата даты и времени с стилем 126.

Метка времени может быть указана только один раз с помощью OPTION оператора для запросов, хранимых процедур, представлений и т. д. OPTION применяется ко всему в инструкции SELECT.

Примеры см. в разделе "Практическое руководство. Запрос с помощью перемещения по времени".

Хранение данных в Fabric Data Warehouse

  • Для Fabric Data Warehouse возможность путешествия во времени ограничена настраиваемым периодом хранения данных хранилища, который задаётся автоматически.
  • Для конечной точки аналитики SQL Lakehouse время ограничено на уровне таблицы параметрами хранения вакуума. Обслуживание таблиц Lakehouse можно выполнять вручную на портале Fabric или в качестве запланированного и оркестрированного процесса с помощью записных книжек, конвейеров или REST API.

В Microsoft Fabric хранилище автоматически сохраняет и поддерживает различные версии данных на основе периода хранения настройки. Срок хранения хранилища по умолчанию составляет 30 календарных дней и может быть настроен на основе потребностей вашей организации. Это позволяет запрашивать таблицы на любой предыдущий момент времени в пределах периода хранения. Все вставки, обновления и удаления, сделанные в хранилище, сохраняются.

Срок хранения автоматически начинается с момента создания хранилища. Просроченные файлы автоматически удаляются после порогового значения хранения.

  • В настоящее время SELECT инструкция с FOR TIMESTAMP AS OF указанием запроса возвращает последнюю версию схемы таблицы.
  • Все записи, удаленные в таблице, доступны для запроса по мере их существования перед удалением, если удаление находится в течение срока хранения.
  • Запрос на перемещение по времени до изменения схемы завершается успешно, только если он ссылается на столбцы, уже существующие в этот момент времени, и завершается ошибкой, если он ссылается на столбцы, введенные позже.

Сценарии перемещения по времени

Рассмотрим возможность перемещения по времени до предыдущих данных в следующих сценариях:

Стабильные отчеты

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

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

Исторический тренд и прогнозный анализ

Путешествие во времени упрощает анализ исторических данных, помогая выявить ценные тенденции и закономерности, запрашивая данные из различных временных периодов в прошлом. Это упрощает прогнозный анализ, позволяя экспериментировать с историческими наборами данных и обучением прогнозных моделей. Он помогает ожидать будущих тенденций и помогает принимать хорошо информированные решения, управляемые данными.

Анализ и сравнение

Путешествие во времени предоставляет эффективную и экономичную возможность устранения неполадок, предлагая историческую линзу для анализа и сравнения, что облегчает выявление коренной причины.

Анализ производительности

Перемещение по времени может помочь проанализировать производительность запросов хранилища сверхурочно. Это помогает определить тенденции снижения производительности на основе которых можно оптимизировать запросы.

Аудит и соответствие

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

Модели машинного обучения

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

Рекомендации по проектированию

Рассмотрение использования подсказки OPTION FOR TIMESTAMP AS OF.

  • Подсказка FOR TIMESTAMP AS OF запроса не может использоваться для создания представлений на любой предыдущий момент времени в пределах периода хранения. Его можно использовать для запроса представлений по состоянию на прошлый момент времени в течение периода хранения.
  • Указание FOR TIMESTAMP AS OF запроса может использоваться только один раз в инструкции SELECT .
  • Указание FOR TIMESTAMP AS OF запроса можно определить в SELECT инструкции в хранимой процедуре.
  • Указание FOR TIMESTAMP AS OF запроса не влияет на временные таблицы с областью сеанса, например #temp_table.

Разрешения на перемещение по времени

Любой пользователь, имеющий роли администратора, участника, вкладчика или наблюдателя, может запрашивать таблицы на момент в прошлом. Когда пользователи запрашивают таблицы, ограничения, введенные безопасностью на уровне столбцов (CLS), безопасность на уровне строк (RLS) или динамическое маскирование данных (DDM) автоматически применяются.

Ограничения

  • Любые изменения, внесенные в схему таблицы, включая, но не ограничиваясь добавлением или удалением столбцов, могут запрашиваться только с момента внесения изменений. Запрос на перемещение по времени до изменения схемы завершается успешно, только если он ссылается на столбцы, уже существующие в этот момент времени, и завершается ошибкой, если он ссылается на столбцы, введенные позже. Аналогичным образом удаление и повторное создание таблицы с теми же данными удаляет её историю.
  • Укажите не более трех цифр дробных секунд в метке времени. Если вы предоставляете бóльшую точность, вы получите сообщение An error occurred during timestamp conversion. Please provide a timestamp in the format yyyy-MM-ddTHH:mm:ss[.fff]. Msg 22440, Level 16, State 1, Code line 29 об ошибке.
  • В настоящее время для перемещения по времени используется только часовой пояс UTC.
  • В настоящее время срок хранения данных для запросов на поездки по времени настраивается от 1 до 120 календарных дней. Срок хранения по умолчанию — тридцать календарных дней. Дополнительные сведения см. в разделе "Настройка хранения данных".
  • FOR TIMESTAMP AS OF значения в предложении OPTION должны быть детерминированными. Пример параметризации см. в разделе "Время перемещения" в хранимой процедуре.
  • Подсказку запроса OPTION FOR TIMESTAMP AS OF можно использовать только в запросах, которые начинаются с инструкции SELECT.
  • Определения представления не могут содержать OPTION FOR TIMESTAMP AS OF синтаксис T-SQL. К представлению можно обращаться с помощью синтаксиса SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF T-SQL. Однако вы не можете запрашивать прошлые данные из таблиц в представлении до создания представления.
  • Синтаксис T-SQL FOR TIMESTAMP AS OF для перемещения во времени в настоящее время не поддерживается ни в режиме DirectQuery в Power BI Desktop, ни в параметре Изучить эти данные.
  • В настоящее время перемещение по времени для конечных точек аналитики SQL включено только для конечных точек аналитики SQL, созданных с включенной синхронизацией метаданных (предварительная версия).

Следующий шаг