Обзор Direct Lake

Direct Lake — это опция режима хранения таблиц семантической модели Power BI, доступная в Microsoft Fabric. Он оптимизирован для быстрой загрузки больших объемов данных в память из таблиц Delta , доступных в OneLake — единого хранилища для всех аналитических данных. После загрузки в память семантическая модель обеспечивает высокопроизводительный интерактивный анализ.

схема показывает семантику Direct Lake и способ подключения к таблицам Delta в OneLake, как описано в предыдущих абзацах.

Direct Lake идеально подходит для семантических моделей, подключающихся к большим озерам Fabric, хранилищам и другим источникам данных Fabric с таблицами Delta. Direct Lake особенно полезен, когда репликация всего объема данных в таблицу импорта нецелесообразна или невозможна. Запросы Direct Lake и импорта обрабатываются подсистемой запросов VertiPaq, в то время как DirectQuery передает запросы к базовому источнику данных. Запросы Direct Lake и импорта обычно работают лучше, чем запросы DirectQuery при загрузке и использовании визуализации в отчетах.

Однако Direct Lake отличается от режима импорта важным образом: операция обновления для семантической модели Direct Lake концептуально отличается от операции обновления для семантической модели импорта. Режим импорта реплицирует данные и создает всю кэшированную копию данных для семантической модели, в то время как обновление Direct Lake копирует только метаданные (известные как обрамления, описанные далее в этой статье), что может занять несколько секунд. Операция обновления Direct Lake отличается низкой стоимостью, поскольку она анализирует метаданные последней версии таблиц Delta и обновляет ссылки на последние файлы в OneLake. В отличие от этого, обновление импорта создает копию данных, что может занять значительное время и потреблять значительные ресурсы источника данных и ресурсы производительности (память и процессор). Direct Lake перемещает подготовку данных в OneLake и использует полный спектр технологий Fabric для подготовки данных, включая задания Spark, инструкции T-SQL DML, потоки данных, конвейеры и многое другое.

Режим direct Lake Storage предлагает следующие ключевые преимущества:

  • Как и в режиме импорта, запросы Direct Lake обрабатываются подсистемой VertiPaq и таким образом обеспечивают производительность запросов, сравнимую с режимом импорта без затрат на управление циклами обновления данных для загрузки всего тома данных.
  • Использует существующие инвестиции Fabric путем простой интеграции с крупными озерами, складами и другими источниками Fabric с таблицами Delta. Например, Direct Lake является идеальным выбором для слоя золотой аналитики в архитектуре medallion lakehouse.
  • Максимально повышает рентабельность инвестиций (ROI), так как проанализированные тома данных могут превышать максимальные ограничения памяти емкости, так как только данные, необходимые для ответа на запрос, загружаются в память.
  • Сводит к минимуму задержку данных, быстро и автоматически синхронизируя семантику модели с источниками, что делает новые данные доступными для бизнес-пользователей без расписаний обновления.

Совет

Производительность Direct Lake зависит от хорошо настроенных таблиц Delta. Подробные рекомендации по оптимизации таблиц для использования Direct Lake, включая рекомендации для V-Order и групп строк, см. в разделе "Обслуживание и оптимизация таблиц между рабочими нагрузками".

Когда следует использовать режим хранения Direct Lake?

Основное назначение режима хранения Direct Lake заключается в аналитических проектах, руководимых ИТ, использующих архитектуры, ориентированные на озеро данных. В таких сценариях у вас есть или предполагается накапливать большие объемы данных в OneLake. Быстрая загрузка этих данных в память, частые и быстрые операции обновления, эффективное использование ресурсов емкости и высокая производительность запросов являются важными для этого варианта использования.

Заметка

Импорт и таблицы DirectQuery в семантических моделях по-прежнему актуальны в Fabric, и они являются правильным выбором семантической модели для некоторых сценариев. Например, режим импорта данных часто подходит для аналитика, занимающегося самообслуживанием, которому необходимы свобода и гибкость для быстрого реагирования, не завися от ИТ специалистов для добавления новых элементов данных.

Семантическая модель с таблицами импорта и таблицами Direct Lake обеспечивает масштабирование и гибкость, необходимую для многих сценариев бизнес-аналитики.

Кроме того, интеграция OneLake автоматически записывает данные для таблиц в режиме хранилища импорта в Delta tables в OneLake без каких-либо усилий по миграции, что позволяет реализовать множество преимуществ Fabric, доступных для импорта пользователей семантической модели, таких как интеграция с lakehouses с помощью сочетаний клавиш, SQL-запросы, записные книжки и многое другое. Мы рекомендуем использовать этот вариант как быстрый способ получить преимущества Fabric без обязательного или немедленного изменения существующего хранилища данных и /или системы аналитики.

Direct Lake зависит от подготовки данных в хранилище данных. Подготовку данных можно выполнить с помощью различных средств, таких как задания Spark для Fabric lakehouses, инструкции T-SQL DML для хранилищ Fabric, потоков данных, конвейеров и других, что помогает обеспечить выполнение логики подготовки данных в архитектуре для максимальной повторной использования. Однако если автор семантической модели не имеет возможности изменять исходный элемент, например, если у аналитика самообслуживания нет разрешений на запись в lakehouse, управляемом ИТ, то расширение модели с таблицами хранилища в режиме импорта может быть хорошим выбором, так как режим импорта поддерживает подготовку данных с помощью Power Query, и определяется как часть семантической модели.

Не забудьте рассмотреть текущую лицензию на емкость Fabric и ограничения Fabric по емкости при рассмотрении режима хранения Direct Lake. Кроме того, учитывайте соображения и ограничения и, которые описаны далее в этой статье.

Совет

Мы рекомендуем создать прототип (или подтверждение концепции) для определения того, является ли семантическая модель Direct Lake правильным решением, а также для снижения риска.

Основные понятия и терминология

В этой статье предполагается знакомство со следующими понятиями:

  • Пользователи загружают и взаимодействуют с визуальными элементами в отчетах Power BI, которые создают запросы DAX к семантической модели.

  • Режим хранения. Семантическая модель обрабатывает запросы DAX по-разному в зависимости от используемого режима хранения таблиц. Рассмотрим пример.

    • Режимы импорта и Direct Lake используют подсистему VertiPaq для обработки запросов DAX и возврата результатов в отчет Power BI и пользователю.
    • DirectQuery преобразует запросы DAX в синтаксис запросов источника данных, например SQL-запрос, и запускает их в базовой базе данных-источнике. Эти исходные базы данных обычно не оптимизированы для тяжелой нагрузки запросов, поступающих из отчетов и агрегированных запросов, необходимых для визуализаций, и могут демонстрировать более низкую производительность по сравнению с режимами импорта и Direct Lake.

Режим хранения — это свойство таблицы в семантической модели. Если семантическая модель включает таблицы с различными режимами хранения, она называется составной моделью. См. раздел Режимы семантической модели в службе Power BI для получения дополнительных сведений о режимах хранения.

Режим хранения таблиц Direct Lake имеет два варианта:

  • Direct Lake в OneLake может использовать данные из одного или нескольких источников данных в системе Fabric, содержащих таблицы Delta. Direct Lake в OneLake не возвращается в режим DirectQuery через конечную точку аналитики SQL источника данных. Семантические модели с помощью Direct Lake в таблицах OneLake также могут добавлять таблицы импорта из других источников данных.

  • Direct Lake в SQL может использовать данные из одного источника данных Fabric с таблицами Delta. Конечная точка аналитики SQL используется для обнаружения таблиц Delta и представлений SQL, а также для проверок разрешений. Direct Lake на конечных точках SQL возвращается в режим хранения таблиц DirectQuery, если он не может загружать данные непосредственно из таблицы Delta, например когда источник данных является представлением SQL или когда хранилище использует детализированный контроль доступа на основе SQL. Свойство семантической модели , поведение Direct Lake, управляет резервным поведением.

Сравнение режимов хранения

В следующей таблице сравнивается режим хранилища Direct Lake с режимами импорта и хранения DirectQuery.

Способность Direct Lake на OneLake Direct Lake на конечных точках SQL Импорт Прямой запрос
Лицензирование Подписка только на емкость Fabric (SKU) Подписка только на емкость Fabric (SKU) Любая лицензия Fabric или Power BI (включая Microsoft Fabric бесплатные лицензии) Любая лицензия Fabric или Power BI (включая Microsoft Fabric бесплатные лицензии)
Источник данных Таблицы любого источника данных Fabric, поддерживаемые таблицами Delta Только lakehouse-таблицы или складские таблицы (или представления) Любой соединитель Любой соединитель, поддерживающий режим DirectQuery
Подключение к представлениям конечных точек аналитики SQL Нет Да, но автоматически откатится к режиму DirectQuery Да Да
Составные модели Да. Можно объединить их с таблицами в режиме импорта данных в веб-моделировании Power BI и таблицами DirectQuery с инструментами XMLA. Нет 1 Да— может сочетаться с таблицами режима хранения DirectQuery, Dual и Direct Lake Да, можно объединить с таблицами режима импорта, Dual и Direct Lake storage.
Единый вход (SSO) Да Да Неприменимо Да
Вычисляемые таблицы Да, но вычисления не могут ссылаться на столбцы таблиц в режиме Direct Lake. Нет. Кроме групп вычислений, параметров what-ifи параметров поля, которые неявно создают вычисляемые таблицы. Да Нет. Вычисляемые таблицы используют режим хранения импорта, даже если они ссылаются на другие таблицы в режиме DirectQuery
Вычисляемые столбцы Нет Нет Да Да
Гибридные таблицы Нет Нет Да Да
Разделы таблицы модели Нет. Однако секционирование можно выполнить на уровне таблицы Delta Нет. Однако секционирование можно выполнить на уровне таблицы Delta Да — либо создается автоматически путем добавочного обновления, либо создается вручную с помощью конечной точки XMLA Нет
Агрегации, определяемые пользователем Нет Нет Да. Поддерживаются таблицы агрегирования импорта в таблицах DirectQuery Да
Безопасность на уровне объекта аналитики SQL или безопасность на уровне столбцов Нет Да, но может привести к ошибкам при отклонении разрешения Да. Но необходимо дублировать разрешения с помощью безопасности на уровне объекта семантической модели Да. Но запросы могут привести к ошибкам при отказе разрешения
Безопасность уровня строк (RLS) в аналитической конечной точке SQL Нет Да. Но запросы вернутся в режим DirectQuery Да. Но необходимо дублировать разрешения с помощью семантической модели RLS Да
Безопасность уровня строк семантической модели (RLS) Да — однако настоятельно рекомендуется использовать облачное подключение с фиксированной идентификацией . Да — однако настоятельно рекомендуется использовать облачное подключение с фиксированной идентификацией . Да Да
Безопасность на уровне объекта семантической модели (OLS) Да Да Да Да
Большие тома данных без требования к обновлению Да Да Нет Да
Уменьшение задержки данных Да — при включении автоматического обновления или программном изменении структуры. Да — при включении автоматического обновления или программном изменении структуры. Нет Да
Power BI Embedded Да 2 Да 2 Да Да

1 При использовании Direct Lake в конечных точках SQL нельзя объединить таблицы режима хранения Direct Lake с таблицами режима directQuery или двойного режима хранения в одной семантической модели. Однако вы можете использовать Power BI Desktop для создания составной модели в семантической модели Direct Lake, а затем расширить ее с помощью новых таблиц (с помощью импорта, DirectQuery или режима двойного хранилища) или вычислений. Дополнительные сведения см. в статье Создание составной модели на семантической модели.

2 Требуется токен версии 2 для встраивания. Если вы используете служебную учетную запись, вам необходимо использовать облачное подключение с фиксированной идентичностью .

Дополнительные сведения о том, как работает Direct Lake, включая загрузку столбцов (транскодирование), обрамления, автоматическое обновление и резервный вариант DirectQuery, см. в статье о работе Direct Lake.

Дополнительные сведения о разрешениях, проверке подлинности, OLS/RLS и параметрах правила доступа к данным см. в разделе "Интеграция безопасности Direct Lake".

требования к емкости Fabric

Для семантических моделей Direct Lake требуется лицензия на емкость Fabric . Кроме того, существуют ограничения и лимиты емкости, которые применяются к подписке Fabric емкости (SKU), как показано в следующей таблице.

Важный

Первый столбец в следующей таблице также включает подписки на емкости Power BI Premium (номера P SKU). Microsoft консолидирует варианты покупки и выводит из оборота варианты Power BI Premium с оплатой за емкость. Новые и существующие клиенты должны рассмотреть возможность приобретения подписки на мощности Fabric (SKU F) вместо этого.

Дополнительные сведения см. в статьях Важное обновление для лицензирования Power BI Premium и Power BI Premium.

Артикул ткани Файлы в формате Parquet для каждой таблицы Группы строк в таблице Строки в таблице (миллионы) Максимальный размер модели на диске или в OneLake (ГБ) Максимальный объем памяти (ГБ) 1
F2 1 000 1 000 300 10 3
F4 1 000 1 000 300 10 3
F8 1 000 1 000 300 10 3
F16 1 000 1 000 300 20 5
F32 1 000 1 000 300 40 10
F64/FT1/P1 5 000 5 000 1,500 Неограниченный двадцать пять
F128/P2 5 000 5 000 3,000 Неограниченный 50
F256/P3 5 000 5 000 6000 Неограниченный 100
F512/P4 10 000 10 000 12 000 Неограниченный 200
F1024/P5 10 000 10 000 24,000 Неограниченный 400
F2048 10 000 10 000 24,000 Неограниченный 400

1 Для семантических моделей Direct Lake Max Memory представляет верхний предел использования памяти для того, сколько данных может быть загружено. По этой причине это не ограничение; однако это может повлиять на производительность, если объем данных достаточно большой, чтобы привести к чрезмерной выгрузке и погрузке данных модели из OneLake.

Если превышены ограничения безопасности, поведение зависит от режима хранения таблицы:

  • Direct Lake в OneLake: подобно режиму импорта, обновление завершается сбоем, и модель нельзя запрашивать, пока таблицы Delta не будут оптимизированы, чтобы соответствовать ограничительным параметрам.
  • Direct Lake в SQL: возвращается в режим DirectQuery , если включен резервный вариант. Обновление завершается предупреждением и запросы по-прежнему возвращают результаты, но с более медленной производительностью.

Ограничение максимального размера модели на диске и в OneLake оценивается на уровне модели и влияет на все запросы. Все остальные ограждения, представленные в таблице, оценены для каждого запроса. Поэтому важно оптимизировать таблицы Delta и семантическую модель Direct Lake, чтобы избежать необходимости масштабирования до более высокого Fabric SKU.

Кроме того, единица емкости и Максимальный объем памяти для каждого запроса применяться к семантических моделях Direct Lake. Дополнительные сведения см. в разделе Емкости и номера SKU.

Рекомендации и ограничения

Семантические модели Direct Lake имеют некоторые рекомендации и ограничения.

Заметка

Возможности и функции семантических моделей Direct Lake быстро развиваются. Обязательно периодически проверяйте список последних рекомендаций и ограничений.

Соображение / ограничение Direct Lake на OneLake Direct Lake в SQL (конечная точка аналитики)
Когда конечная точка аналитики SQL обеспечивает безопасность на уровне строк, запросы DAX обрабатываются по-разному в зависимости от типа используемого режима Direct Lake.

Если используется Direct Lake в OneLake, запросы будут выполнены успешно, а RLS на основе SQL не применяется. Direct Lake в OneLake требует, чтобы пользователь имел доступ к файлам в OneLake, где SQL-базированная RLS не поддерживается.
Запросы будут выполнены успешно. Да, если резервный вариант не отключен, в этом случае запросы завершаются ошибкой.
Если таблица в семантической модели основана на представлении SQL (нематериализованного), запросы DAX обрабатываются по-разному в зависимости от типа используемого режима Direct Lake.

Direct Lake на конечных точках SQL будет возвращаться к DirectQuery в этом случае.

Не поддерживается создание Direct Lake в таблице OneLake на основе нематериализованного представления SQL. Вместо этого можно использовать материализованное представление lakehouse, так как создаются таблицы Delta. Кроме того, используйте другой режим хранения, например импорт или Direct Lake для таблиц на основе нематериализованных представлений SQL.
Неприменимо Да, если резервный вариант не отключен, в этом случае запросы завершаются ошибкой.
Составное моделирование, которое означает, что таблицы семантической модели Direct Lake можно смешать с таблицами в других режимах хранения, таких как import, DirectQuery или Dual (за исключением особых случаев, включая группы вычислений, параметры what-if и параметры поля). Поддерживается Не поддерживается
Вычисляемые столбцы и вычисляемые таблицы, которые ссылаются на столбцы или таблицы, находящиеся в режиме хранения Direct Lake. Группы вычислений, параметры what-if и параметры поля, которые неявно создают вычисляемые таблицы и вычисляемые таблицы, которые не ссылаются на столбцы или таблицы Direct Lake, поддерживаются во всех сценариях. Не поддерживается Не поддерживается
Таблицы режима хранения Direct Lake не поддерживают сложные типы столбцов таблиц Delta. Двоичные и семантические типы GUID также не поддерживаются. Эти типы данных необходимо преобразовать в строки или другие поддерживаемые типы данных. Не поддерживается Не поддерживается
Для сопоставления связей таблиц требуются типы данных связанных столбцов. Да Да
Односторонние столбцы связей должны содержать уникальные значения. Запросы завершаются ошибкой, если в одном столбце обнаружены повторяющиеся значения. Да Да
Автоматический анализ даты/времени в Power BI Desktop для создания связей с использованием только даты из столбца с типом datetime. Примечание. Пометка собственной таблицы дат в качестве таблицы дат и создание связей с использованием столбцов дат поддерживается. Поддерживается Не поддерживается
Длина строковых значений столбцов ограничена 32 764 символами Юникода. Да Да
Нечисловые значения с плавающей запятой, такие как NaN (не число), не поддерживаются. Да Да
Публикация в Интернете из Power BI с использованием субъекта-службы поддерживается только при использовании фиксированной идентичности для семантической модели Direct Lake. Да Да
В веб-моделированиипроверка семантических моделей Direct Lake ограничена. Предполагается, что выборы пользователя правильны, и запросы не выдаются для проверки кардинальности или перекрёстных фильтров в связях, а также для выбранного столбца дат в отмеченной таблице дат. Да Да
На портале Fabric вкладка Direct Lake в журнале обновления содержит список сбоев обновления, связанных с Direct Lake. Операции обновления (фреймирования), завершившиеся успехом, обычно не перечислены, если только не изменяется состояние обновления, например, достижение успешного обновления после отсутствия предыдущего запуска или сбоя, или успешное обновление с предупреждением. Да Да
Ваш SKU Fabric определяет максимальное количество доступной памяти на каждую семантическую модель Direct Lake для данного объема. При превышении лимита запросы к семантической модели могут выполняться медленнее из-за чрезмерного переключения страниц в данных модели. Да Да
Создание семантической модели Direct Lake в рабочей области, которая находится в другом регионе рабочей области источника данных, не поддерживается. Например, если Lakehouse находится в западной части США, вы можете создавать только семантические модели из этого Lakehouse в том же регионе. Сведения о том, в каком регионе вы находитесь, см. в разделе поиск домашнего региона Fabric. Да Да

Обходной путь — создать хранилище данных типа lakehouse в рабочей области другого региона и добавить ссылку к таблицам перед созданием семантической модели.
Для встраивания отчетов требуется токен встраивания V2. Да Да
Профили служебного принципала для проверки подлинности. Не поддерживается Не поддерживается
Power BI семантические модели Direct Lake можно создавать и запрашивать субъектами-службами и членами с ролью просмотра с субъектами-службами, но стандартные семантические модели Direct Lake в озере данных или хранилище не поддерживают этот сценарий. Да Да
Ярлыки в лейкхаусе можно использовать в качестве источников данных для таблиц семантической модели. Поддерживается Поддерживается
Создавайте модели Direct Lake в личных рабочих пространствах (Моя рабочая область). Не поддерживается Не поддерживается
Правила конвейера развертывания для повторной привязки источника данных. Не поддерживается напрямую — может создать выражение параметра для использования в connection string. Поддерживается
Добавление нескольких таблиц из одной таблицы источника данных. Не поддерживается в Power BI классическом или веб-моделировании. Можно добавить несколько таблиц из одной таблицы источника данных с помощью внешних средств на основе XMLA. Использование таблиц Edit в инструментах Power BI и refresh приводит к ошибке с несколькими таблицами из одной таблицы источника данных в семантической модели. Не поддерживается в Power BI классическом или веб-моделировании. Можно добавить несколько таблиц из одной таблицы источника данных с помощью внешних средств на основе XMLA. Использование таблиц Edit в инструментах Power BI и refresh приводит к ошибке с несколькими таблицами из одной таблицы источника данных в семантической модели.
Таблицы Direct Lake, созданные с помощью приложений XMLA, изначально находятся в непроцессованном состоянии, пока приложение не отправит команду обновления. Обязательно обновите модель для обработки таблиц при создании новой семантической модели. Запросы, включающие необработанные таблицы, возвращают ошибку. Запросы, включающие необработанные таблицы, возвращаются в режим DirectQuery, если резервный вариант не отключен, в этом случае запросы завершаются ошибкой.
Средства, совместимые с XMLA, должны поддерживать compatibilityLevel версии 1604 или новее для работы с семантическими моделями Direct Lake и отображать метаданные Direct Lake. Да Да
  • Анализ сводных таблиц в Excel (и других клиентов многомерных выражений) имеют такие же ограничения, что и DirectQuery и таблицы Direct Lake в семантической модели. Операторы многомерных выражений с областью действия сеанса, такие как именованные наборы, вычисляемые элементы, члены по умолчанию и т. д. не поддерживаются. Поддерживаются MDX операторы с областью действия запроса, такие как предложение WITH. Определяемые пользователем иерархии таблицы Direct Lake не поддерживаются. Поддерживаются пользовательские иерархии таблиц импорта, даже при использовании таблиц Direct Lake в семантической модели.

  • Power BI Desktop может изменять семантику модели с помощью таблиц Direct Lake и таблиц импорта. Группы вычислений, параметры what-if и параметры поля, которые неявно создают вычисляемые таблицы и вычисляемые таблицы, не ссылающиеся на столбцы или таблицы Direct Lake, также могут быть включены.

  • Веб-моделирование Power BI может открывать любую семантическую модель, включая таблицы Direct Lake с таблицами других режимов хранения.

  • Вид запросов DAX при динамическом редактировании или динамическом подключении и написание DAX-запросов в веб-интерфейсе поддерживается для семантических моделей Direct Lake на SQL, Direct Lake на OneLake и true composite (Direct Lake на OneLake + Импорт из любого источника данных).

  • Представление TMDL поддерживается при динамическом редактировании в Power BI Desktop.

  • Создание отчетов с прямым подключением поддерживается для всех семантических моделей, если у автора отчета есть по крайней мере доступ на создание.

  • Выражение подключения Direct Lake для SQL в семантической модели должно ссылаться на конечную точку аналитики SQL по GUID, а не по понятному имени, чтобы использовать редактирование таблиц и операции обновления в Power BI Desktop и в веб-моделировании Power BI. Выражение подключения можно обновить в представлении TMDL или внешних средствах на основе XMLA. GUID доступен в URL при просмотре интерфейса аналитики SQL в браузере.