Wybieranie trybu przechowywania

Ukończone

Pierwszą decyzją projektową dla dowolnego modelu semantycznego w Microsoft Fabric jest sposób przepływu danych do modelu. Wybrany tryb przechowywania wpływa na wydajność zapytań, świeżość danych i dostępne Fabric funkcje. W Fabric usługa Direct Lake jest domyślna, a w przypadku większości obciążeń jest to właściwy wybór.

Tryb bezpośredniego jeziora

Direct Lake to domyślny tryb przechowywania dla modeli semantycznych utworzonych w Microsoft Fabric. W przeciwieństwie do trybu importu usługa Direct Lake nie kopiuje danych do modelu. W przeciwieństwie do trybu DirectQuery, zapytania nie są tłumaczone na źródłowy kod SQL. Zamiast tego Direct Lake odczytuje tabele Delta bezpośrednio z OneLake do pamięci, co łączy szybkość importowania ze świeżością trybu DirectQuery.

Gdy użytkownik otworzy raport wspierany przez model semantyczny Direct Lake, silnik ładuje dane kolumn z plików Delta Parquet na żądanie. Nie musisz planować odświeżania, tak jak w przypadku trybu importu. Po zaktualizowaniu bazowych tabel delty model odzwierciedla te zmiany.

Modele Direct Lake automatycznie włączają duży format przechowywania modelu semantycznego. To ustawienie usuwa limit rozmiaru modelu 10 GB i jest wymaganiem wstępnym zarówno dla skalowania zapytań, jak i dostępu do odczytu/zapisu punktu końcowego XMLA. Nie musisz włączać go ręcznie dla modeli Direct Lake.

Opcje połączenia usługi Direct Lake

Modele usługi Direct Lake mogą łączyć się z danymi za pomocą dwóch ścieżek:

  • Tabele OneLake: Model łączy się bezpośrednio z tabelami Delta w magazynie typu lakehouse lub magazynie danych. Jest to najprostsza ścieżka i sprawdza się, gdy dane są w jednym magazynie danych Fabric.
  • Punkt końcowy analizy SQL: Model łączy się za pośrednictwem punktu końcowego SQL magazynu typu warehouse lub lakehouse. Ta ścieżka umożliwia dostęp do widoków, zapytań między bazami danych i funkcji zabezpieczeń zdefiniowanych w warstwie SQL.

Wybierz tabele OneLake, gdy dane są proste i przechowywane w jednym miejscu. Wybierz punkt końcowy analizy SQL, gdy potrzebujesz widoków, sprzężeń między źródłami lub zabezpieczeń na poziomie wiersza zdefiniowanych w języku SQL.

Zachowanie awaryjne

Niektóre operacje mogą spowodować powrót modelu Direct Lake do trybu DirectQuery. Złożone obliczenia języka DAX, zapytania, które przekraczają dostępną pamięć, lub niektóre nieobsługiwane operacje wyzwalają ten mechanizm awaryjny. W przypadku przełączenia awaryjnego zapytanie jest uruchamiane względem punktu końcowego analizy SQL zamiast bezpośrednio odczytywać pliki Delta.

Zachowanie rezerwowe można skonfigurować w ustawieniach modelu semantycznego:

  • Zezwalaj na powrót: zapytania, które nie mogą być uruchamiane w trybie Direct Lake, są automatycznie przywracane do trybu DirectQuery. Użytkownik otrzymuje wyniki, ale wydajność może się zmniejszyć.
  • Nie zezwalaj na powrót: zapytania, które nie mogą działać w trybie Direct Lake, zwracają błąd. Ta opcja wymusza spójną wydajność, ale wymaga, aby wszystkie zapytania pozostawały w ramach funkcji Direct Lake.

W przypadku większości obciążeń produkcyjnych należy rozpocząć od trybu awaryjnego i monitorować, które zapytania go wyzwalają. Następnie zoptymalizuj te zapytania lub struktury danych, aby zmniejszyć częstotliwość powrotu w czasie.

Tryb importu

Tryb importu kopiuje dane do modelu semantycznego i przechowuje je w formacie skompresowanym w pamięci. Zapytania są uruchamiane względem kopii lokalnej, co sprawia, że funkcja Importuj jest najszybszym trybem przechowywania na potrzeby wydajności zapytań. Dane są jednak aktualne tylko do momentu ostatniego odświeżenia.

Tryb importu jest właściwym wyborem, gdy:

  • Źródło danych znajduje się poza Fabric (lokalne bazy danych, interfejsy API innych firm, pliki proste).
  • Wydajność zapytań to najwyższy priorytet, a świeżość niemal w czasie rzeczywistym nie jest wymagana.
  • Potrzebujesz funkcji, które nie są jeszcze obsługiwane w usłudze Direct Lake.

Wskazówka

W przypadku korzystania z trybu importu połącz się z widokami zamiast nieprzetworzonych tabel, dołącz tylko niezbędne kolumny i użyj odpowiednich typów danych, aby zmniejszyć rozmiar modelu. Dowiedz się więcej o technikach zmniejszania ilości danych załadowanych do modeli importu.

Tryb DirectQuery

Zapytanie bezpośrednie wysyła zapytania bezpośrednio do źródła danych w czasie zapytania. Żadne dane nie są przechowywane w modelu, co sprawia, że tryb DirectQuery jest odpowiedni dla scenariuszy danych w czasie rzeczywistym i bardzo dużych zestawów danych, których nie można zaimportować.

Kompromisem jest wydajność. Każda interakcja raportu generuje zapytanie względem systemu źródłowego. Zapytanie bezpośrednie działa najlepiej, gdy:

  • Dane w czasie rzeczywistym są wymagane, a nawet krótkie opóźnienia odświeżania nie są akceptowalne.
  • Woluminy danych źródłowych są zbyt duże do zaimportowania, a źródło danych znajduje się poza Fabric.
  • Wymagania dotyczące ładu nakazują, aby dane pozostawały w źródle.

Wskazówka

Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące modelu DirectQuery.

Tryb złożony

Tryb złożony łączy tryby przechowywania w ramach jednego modelu. Niektóre tabele używają funkcji Import, podczas gdy inne używają trybu DirectQuery lub Direct Lake. Zapewnia to elastyczność w scenariuszach, w których różne tabele mają różne potrzeby dotyczące wydajności i aktualności.

Na przykład duża tabela faktów może pozostawać w usłudze Direct Lake, podczas gdy mała tabela referencyjna ze źródła zewnętrznego korzysta z funkcji Import. Tryb kompozytowy umożliwia również relacje wiele-do-wielu między tabelami z różnych źródeł danych.

Użyj trybu złożonego, gdy:

  • Potrzebujesz danych zarówno ze źródeł Fabric, jak i innych niż Fabric w tym samym modelu.
  • Niektóre tabele wymagają danych w czasie rzeczywistym, podczas gdy inne korzystają z buforowanej wydajności.
  • Należy połączyć tabele usługi Direct Lake z tabelami importu na potrzeby analizy między źródłami.

Wybieranie odpowiedniego trybu przechowywania

W poniższej tabeli podsumowano, kiedy wybrać każdy tryb:

Tryb Lokalizacja danych Szybkość wykonywania zapytań Aktualność danych Najlepsze dla
Direct Lake OneLake (Delta tables) Szybko Niemal w czasie rzeczywistym Natywne obciążenia w ramach Fabric (ustawienie domyślne)
Importowanie Pamięć podręczna zintegrowana z modelem Najszybszy Zależne od odświeżania Źródła inne niż Fabric, maksymalna wydajność
Zapytanie bezpośrednie System źródłowy Zależy od systemu źródłowego Niemal w czasie rzeczywistym Wymagania dotyczące czasu rzeczywistego, bardzo duże dane zewnętrzne
Kompozyt Mixed Różni się Mixed Scenariusze między źródłami, wymagania hybrydowe

Tryb przechowywania wpływa również na użycie sztucznej inteligencji. Gdy Copilot lub agenci danych wysyłają zapytania do modelu semantycznego, zwracają odpowiedzi na podstawie danych, które obecnie odzwierciedla model. Świeżość usługi Direct Lake niemal w czasie rzeczywistym oznacza, że zapytania sztucznej inteligencji zwracają bieżące wyniki bez oczekiwania na zaplanowane odświeżanie. W przypadku modeli, które obsługują zarówno użytkowników ludzkich, jak i sztuczną inteligencję, wybór trybu przechowywania bezpośrednio wpływa na jakość obu środowisk.

W Fabric zacznij od usługi Direct Lake. Przejście do innego trybu tylko wtedy, gdy wymaga tego konkretny scenariusz.