Import, DirectQuery czy Direct Lake: jak wybrać właściwy tryb przechowywania w Power BI
By Mirko Peters ·
Porównanie trybów przechowywania Import, DirectQuery i Direct Lake w Power BI pod kątem wydajności raportów, aktualności danych i kosztów infrastruktury.
Automatically translated with AI from the original post. Read the English original

Wybór właściwego trybu przechowywania w Power BI decyduje o tym, jak szybko ładują się raporty i jak aktualne pozostają dane źródłowe. Dzięki zrozumieniu różnic operacyjnych, kosztów oraz limitów skali danych w trybach Import, DirectQuery i Direct Lake deweloperzy mogą zoptymalizować wydajność bez utraty dokładności analityki biznesowej.
Najważniejsze wnioski
- Tryb przechowywania ustawiany jest dla każdej tabeli osobno, co pozwala deweloperom tworzyć elastyczne modele złożone łączące różne strategie pozyskiwania danych.
- Tryb Import zapewnia wysoką wydajność dzięki kompresji w pamięci, ale do aktualizacji danych wymaga zaplanowanych odświeżań.
- DirectQuery zapewnia dostęp do danych na żywo, w czasie rzeczywistym, poprzez zapytanie bezpośrednio do bazy źródłowej przy każdej akcji użytkownika, jednak dziedziczy ograniczenia wydajności źródła.
- Direct Lake zapewnia dużą szybkość działania w ramach Microsoft Fabric, odczytując tabele Delta bezpośrednio z OneLake bez pełnego kopiowania danych.
- Równoważenie wydajności zapytań, aktualności danych i kosztów licencjonowania jest kluczowe przy projektowaniu modeli semantycznych klasy korporacyjnej.
Zrozumienie trybów przechowywania w Power BI
Każdy model semantyczny Power BI wymaga sposobu pozyskiwania i przechowywania danych. Ustawienie trybu przechowywania określa, czy dane są fizycznie kopiowane do modelu, pobierane na żądanie z zewnętrznej bazy danych, czy odczytywane bezpośrednio z analitycznego magazynu plików. Ponieważ tryb przechowywania konfiguruje się na poziomie pojedynczej tabeli, a nie globalnie dla całego modelu semantycznego, architekci raportowania mogą łączyć różne podejścia, dopasowując je do potrzeb konkretnych jednostek biznesowych.
Błędny wybór trybu przechowywania często prowadzi do wolno ładujących się pulpitów, nieudanych odświeżeń danych lub rozrośniętego zużycia pamięci. Aby podejmować świadome decyzje architektoniczne, trzeba ocenić, jak rosną dane, jak często się zmieniają i czego oczekują użytkownicy pod względem wydajności.
Mechanika trybu Import i kompromisy
Tryb Import jest domyślnym i najczęściej wybieranym podejściem, zwłaszcza przez początkujących. Po jego użyciu Power BI pobiera kopię danych źródłowych, silnie je kompresuje – często osiągając współczynnik kompresji 10:1 – i ładuje bezpośrednio do pamięci operacyjnej (RAM) w usłudze Power BI.
Ponieważ dane znajdują się w całości w pamięci, wizualizacje w raportach renderują się bardzo szybko. Użytkownicy mogą przekrajać, filtrować i zawężać dane bez czekania na połączenia z zewnętrzną bazą. Głównym kompromisem jest jednak aktualność danych. Zaimportowane liczby są tak aktualne, jak ostatnie zaplanowane odświeżenie. W udostępnionych pojemnościach Power BI można odświeżać dane do ośmiu razy dziennie; pojemności Premium pozwalają na nawet 48 odświeżeń dziennie. Jeśli biznes wymaga aktualizacji w czasie krótszym niż minuta, sam tryb Import nie wystarczy.
DirectQuery w scenariuszach czasu rzeczywistego
DirectQuery działa dokładnie przeciwnie: nie kopiuje do modelu żadnych danych. Model semantyczny przechowuje wyłącznie metadane – tabele, relacje i miary. Za każdym razem, gdy użytkownik otworzy wizualizację w raporcie lub kliknie filtr wycinkowy, Power BI przekształca tę interakcję w zapytanie na żywo, wysyłane bezpośrednio do bazy relacyjnej.
Gwarantuje to, że dane są zawsze aktualne, i usuwa sztuczne ograniczenia rozmiaru plików narzucane przez limity pamięci. DirectQuery wiąże się jednak z dużym spadkiem wydajności. Jeśli baza źródłowa jest wolna, raporty będą działać bardzo ospale. Ponadto obliczenia DAX ograniczone są do tego, co baza źródłowa potrafi natywnie zinterpretować, a intensywne równoczesne korzystanie z raportów przez wielu odbiorców może przeciążyć system źródłowy.
Direct Lake: przewaga Fabric
Direct Lake, wprowadzony specjalnie dla Microsoft Fabric, wypełnia lukę między szybkością trybu Import a aktualnością danych w trybie DirectQuery. Direct Lake odczytuje tabele Delta przechowywane w OneLake – ujednoliconym magazynie danych analitycznych Fabric – i ładuje do pamięci na żądanie tylko te kolumny, które są potrzebne do zapytania.
Najważniejszą cechą Direct Lake jest mechanizm odświeżania. W przeciwieństwie do trybu Import, który wymaga pełnego skopiowania i ponownego załadowania danych, odświeżenie Direct Lake aktualizuje wyłącznie metadane (proces, który Microsoft nazywa „framingiem”) w ciągu zaledwie kilku sekund. Dzięki temu uzyskujesz wydajność na poziomie pamięci bez obciążenia związanego z codziennym powielaniem danych. Pamiętaj, że Direct Lake wymaga płatnej subskrypcji pojemności Microsoft Fabric, co czyni z niego rozwiązanie klasy enterprise, a nie darmowe ulepszenie.
Budowanie modeli złożonych dla optymalnej wydajności
Nie musisz wybierać jednego trybu przechowywania dla całego modelu semantycznego. Łącząc w jednym modelu różne typy przechowywania, tworzysz tzw. model złożony (composite model), jak nazywa go Microsoft. Klasyczny, bardzo skuteczny wzorzec polega na umieszczeniu małych, stabilnych tabel wymiarów (np. listy produktów lub kategorii klientów) w trybie Import, aby zapewnić natychmiastowe filtrowanie, a dużych, szybko rosnących tabel faktów (np. dzienników transakcji) w trybie DirectQuery lub z wykorzystaniem Direct Lake.
Ta hybrydowa strategia daje twórcom raportów to, co najlepsze z obu światów: szybką reakcję interfejsu dzięki buforowanym tabelom wymiarów w połączeniu z danymi transakcyjnymi w czasie rzeczywistym ze źródła. Staranne zaplanowanie na etapie projektowania architektury pozwala uniknąć niepotrzebnych kosztów infrastruktury, zachowując jednocześnie szybkie dostarczanie danych.
Podsumowanie
Wybór między Import, DirectQuery a Direct Lake zależy ostatecznie od skali organizacji, budżetu i wymagań dotyczących danych w czasie rzeczywistym. Dopasowując tryb przechowywania do rytmu działania danych biznesowych, możesz zbudować niezawodne i responsywne środowiska analityczne. Aby dowiedzieć się więcej o konfigurowaniu solidnych modeli semantycznych, posłuchaj pełnego odcinka i zasubskrybuj podcast, aby codziennie otrzymywać wskazówki dotyczące chmury Microsoft.
Często zadawane pytania
Czy mogę połączyć tabele Import i DirectQuery w tym samym modelu Power BI?
Tak. Power BI obsługuje modele złożone, dzięki którym możesz ustawić różne tryby przechowywania dla poszczególnych tabel w ramach tego samego modelu semantycznego.
Jak często mogę odświeżać zaimportowany model Power BI?
W pojemności współdzielonej zaplanowane odświeżenia mogą być wykonywane do 8 razy dziennie. W pojemności Premium lub Fabric można zaplanować odświeżenia nawet 48 razy dziennie.
Czy Direct Lake wymaga specjalnego poziomu licencjonowania?
Tak, Direct Lake wymaga subskrypcji pojemności Microsoft Fabric, podczas gdy Import i DirectQuery mogą działać w ramach standardowych licencji Power BI Free lub Pro.
Co dzieje się z obliczeniami DAX w trybie DirectQuery?
Formuły DAX w DirectQuery muszą dać się przetłumaczyć na natywne zapytania zrozumiałe dla bazy danych źródłowej, co ogranicza użycie niektórych złożonych lub iteracyjnych funkcji.