Import vs DirectQuery vs Direct Lake: выбираем правильный режим хранения в Power BI
By Mirko Peters ·
Сравните режимы хранения Import, DirectQuery и Direct Lake в Power BI, чтобы оптимизировать производительность отчётов, актуальность данных и затраты на инфраструктуру.
Automatically translated with AI from the original post. Read the English original

Выбор правильного режима хранения в Power BI определяет, насколько быстро загружаются ваши отчёты и насколько актуальными остаются лежащие в их основе данные. Понимая операционные различия, затраты и ограничения по объёму данных для Import, DirectQuery и Direct Lake, разработчики могут повысить производительность, не жертвуя точностью бизнес-аналитики.
Главное
- Режим хранения задаётся для каждой таблицы, что позволяет разработчикам создавать гибкие составные модели, сочетающие разные стратегии получения данных.
- Режим Import обеспечивает высокую производительность благодаря сжатию в памяти, но для обновления данных требуются запланированные обновления.
- DirectQuery даёт живой доступ к данным в реальном времени, отправляя запрос к исходной базе данных при каждом действии пользователя, однако он наследует ограничения производительности источника.
- Direct Lake обеспечивает высокую скорость работы в Microsoft Fabric, читая таблицы Delta напрямую из OneLake без полного копирования данных.
- При проектировании корпоративных семантических моделей необходимо находить баланс между производительностью запросов, актуальностью данных и затратами на лицензирование.
Понимание режимов хранения в Power BI
Каждой семантической модели Power BI нужен способ получения и хранения данных. Параметр режима хранения определяет, копируются ли данные физически в модель, запрашиваются ли они по требованию из внешней базы данных или читаются напрямую из аналитического файлового хранилища. Поскольку режим хранения задаётся на уровне отдельной таблицы, а не глобально для всей семантической модели, архитекторы отчётности могут комбинировать подходы в зависимости от потребностей конкретных бизнес-подразделений.
Неправильный выбор хранилища часто приводит к медленной загрузке дашбордов, сбоям обновления данных или неоправданно большому потреблению памяти. Чтобы принимать обоснованные архитектурные решения, оцените, как растут ваши данные, how часто они меняются и каких показателей производительности ожидают пользователи.
Механика и компромиссы режима Import
Режим Import является режимом по умолчанию и самым распространённым подходом для начинающих. При использовании Import Power BI копирует исходные данные, сильно сжимает их (часто достигается коэффициент сжатия 10:1) и загружает непосредственно в память (RAM) в сервисе Power BI.
Поскольку данные полностью находятся в памяти, визуализации отчётов отрисовываются очень быстро. Пользователи могут срезать, детализировать и фильтровать данные, не дожидаясь подключений к внешней базе данных. Однако главный компромисс связан с актуальностью данных: импортированные показатели актуальны лишь на момент последнего запланированного обновления. В общих емкостях Power BI данные можно обновлять до восьми раз в день; в премиум-емкостях допускается до 48 обновлений в день. Если бизнесу нужны обновления быстрее, чем раз в минуту, одного режима Import будет недостаточно.
DirectQuery для задач реального времени
DirectQuery работает прямо противоположным образом: в модель не копируется ни одного байта данных. Вместо этого семантическая модель хранит только метаданные — таблицы, связи и меры. Каждый раз, когда пользователь открывает визуализацию отчёта или кликает по срезу, Power BI преобразует это действие в живой запрос, отправляемый непосредственно в реляционную базу данных-источник.
Это гарантирует, что данные всегда актуальны, и снимает ограничения на размер файла, связанные с памятью. Однако DirectQuery имеет серьёзные штрафы по производительности: если база данных-источник медленная, отчёты будут работать мучительно медленно. Кроме того, вычисления DAX ограничены тем, что исходная база данных способна интерпретировать нативно, а интенсивное одновременное использование несколькими потребителями отчётов может перегрузить исходную систему.
Direct Lake: преимущество Fabric
Direct Lake создан специально для Microsoft Fabric и соединяет скорость режима Import с актуальностью данных DirectQuery. Direct Lake читает таблицы Delta, хранящиеся в OneLake (едином хранилище аналитических данных Fabric), и загружает в память только те столбцы, которые нужны запросу, и только в момент обращения к ним.
Главная особенность Direct Lake — механизм обновления. В отличие от режима Import, который требует полного копирования и перезагрузки данных, обновление Direct Lake меняет только метаданные (процесс, который Microsoft называет «framing») и занимает считанные секунды. Так вы получаете скорость работы в памяти без накладных расходов на ежедневное дублирование данных. Обратите внимание: для Direct Lake нужна платная подписка на емкость Microsoft Fabric, поэтому это решение для корпоративного уровня, а не бесплатное обновление.
Составные модели для максимальной производительности
Не обязательно выбирать один режим хранения для всей семантической модели. Комбинируя разные типы хранения в одной модели, вы создаёте то, что Microsoft называет составной моделью (composite model). Классический и очень эффективный подход: небольшие, стабильные таблицы измерений (например, списки товаров или категории клиентов) размещаются в режиме Import для мгновенной фильтрации, а огромные, быстро растущие таблицы фактов (например, журналы транзакций) — в режиме DirectQuery или в Direct Lake.
Такая гибридная стратегия даёт авторам отчётов лучшее из двух миров: отзывчивый интерфейс благодаря кэшированным таблицам измерений и данные транзакций из источника в реальном времени. Продуманное планирование на этапе проектирования архитектуры помогает избежать лишних затрат на инфраструктуру и при этом обеспечивает быструю доставку данных.
Заключение
Выбор между Import, DirectQuery и Direct Lake в конечном счёте зависит от масштаба вашей организации, бюджета и требований к данным в реальном времени. Подбирая режим хранения под операционный ритм бизнес-данных, вы можете создать надёжную и отзывчивую аналитическую среду. Чтобы узнать больше о настройке надёжных семантических моделей, послушайте полный выпуск и подпишитесь на подкаст, чтобы получать ежедневные материалы о мире облачных технологий Microsoft.
Часто задаваемые вопросы
Можно ли использовать таблицы Import и DirectQuery в одной модели Power BI?
Да. Power BI поддерживает составные модели, которые позволяют задать разные режимы хранения для отдельных таблиц внутри одной семантической модели.
Как часто можно обновлять импортированную модель Power BI?
В общей емкости запланированные обновления могут выполняться до 8 раз в день. В емкости Premium или Fabric можно запланировать обновления до 48 раз в день.
Требует ли Direct Lake особого уровня лицензирования?
Да, для Direct Lake нужна подписка на емкость Microsoft Fabric, тогда как Import и DirectQuery могут работать с бесплатными или стандартными лицензиями Power BI Pro.
Что происходит с вычислениями DAX в режиме DirectQuery?
Формулы DAX в DirectQuery должны преобразовываться в нативные запросы, понятные исходной базе данных, поэтому использование некоторых сложных или итеративных функций ограничено.