Поделиться через


Запрос данных, как он существовал в прошлом (предварительная версия)

Область применения: хранилище в Microsoft Fabric

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

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

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

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

В настоящее время 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 Используйте синтаксис для необходимого формата datetime с стилем 126.

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

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

Хранение журнала данных

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

  • В настоящее время 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 инструкции в хранимой процедуре.

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

Любой пользователь, у которого Администратор, член, участник или роль рабочей области просмотра, может запрашивать таблицы по состоянию на прошлый момент времени. Когда пользователи запрашивают таблицы, ограничения, введенные безопасностью на уровне столбцов (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.
  • В настоящее время срок хранения данных для запросов на поездки по времени составляет семь дней.
  • FOR TIMESTAMP AS OF значения в предложении OPTION должны быть детерминированными. Пример параметризации см. в разделе "Время перемещения" в хранимой процедуре.
  • Перемещение по времени не поддерживается для конечной точки аналитики SQL в Lakehouse.
  • Синтаксис OPTION FOR TIMESTAMP AS OF можно использовать только в запросах, начинающихся с SELECT инструкции. Такие запросы, как INSERT INTO SELECT и CREATE TABLE AS SELECT не могут использоваться вместе с OPTION FOR TIMESTAMP AS OFним. Вместо этого можно клонировать таблицу хранилища в определенный момент времени.
  • Определения представления не могут содержать OPTION FOR TIMESTAMP AS OF синтаксис. Представление можно запросить с помощью синтаксиса SELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF . Однако вы не можете запрашивать прошлые данные из таблиц в представлении до создания представления.
  • FOR TIMESTAMP AS OF Синтаксис для перемещения по времени в настоящее время не поддерживается в режиме прямого запроса Power BI Desktop или в параметре "Изучение этих данных ".

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