Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono materializację pamięci podręcznych danych w DAX Studio. Ten post pokaże, jak wpływa to na obliczenia podczas generowania wyników za pomocą zapytania. Dowiesz się, która materializacja jest lepsza, aby zmaksymalizować wydajność języka DAX.

Istnieją dwie koncepcje materializacji: wczesna materializacja i późna materializacja .

Spis treści

Wczesna materializacja

Wczesna materializacja ma miejsce, gdy liczba zmaterializowanych wierszy jest większa niż liczba wierszy potrzebnych do wyjścia.

Jeśli dane wyjściowe to tabela według roku kalendarzowego i masz dane z pięciu lat, wprowadzanie wielu zmaterializowanych wierszy nie jest konieczne. Najlepszą praktyką jest, aby liczba zmaterializowanych wierszy była równa liczbie potrzebnych wierszy. Jednak nie zawsze tak jest, ponieważ zależy to od złożoności języka DAX i konfiguracji danych.

Zawsze pamiętaj, że dane składają się z kolumn. Kiedy więc silnik formuł musi pracować na tabeli, kolumny są ponownie łączone w formacie tabeli, co jest materializacją. W pomyśle dotyczącym wczesnej materializacji mechanizm przechowywania wysyła pamięć podręczną danych do mechanizmu formuły. Silnik formuł następnie działa na tej pamięci podręcznej i wykonuje złożone procesy.

Wczesna materializacja może być spowodowana złożonymi sprzężeniami lub relacjami wiele-do-wielu w modelach danych. Może to być również spowodowane posiadaniem złożonych filtrów lub iteratorów.

Nie jest źle mieć złożone środki; wystarczy je odpowiednio skonfigurować, aby w jak największym stopniu wykorzystać silnik pamięci masowej.

Późna materializacja

Późna materializacja ma miejsce, gdy liczba zmaterializowanych wierszy jest równa lub zbliżona do liczby wierszy potrzebnych do uzyskania wyniku.

Silnik magazynu wykonuje prawie całą pracę, nie pozostawiając nic silnikowi formuły. Dzięki temu cała kalkulacja jest szybsza.

Oto przykładowe zapytania dotyczące wczesnej i późnej materializacji:

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Przed uruchomieniem tych zapytań pamiętaj o wyczyszczeniu pamięci podręcznej. Spowoduje to, że zapytania będą uruchamiane w zimnej pamięci podręcznej. Jeśli uruchomisz swój DAX bez czyszczenia pamięci podręcznej, otrzymasz następujący wynik:

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Całkowity czas wykonania to tylko 1861 milisekund, ponieważ korzystał już z pamięci podręcznej. Dlatego zawsze czyść pamięć podręczną przed uruchomieniem zapytań.

Jeśli uruchomisz zapytanie o wczesną materializację, zobaczysz, że całkowity czas, jaki to zajęło, to 9485 milisekund. Wygenerował jedną pamięć podręczną danych i jednowierszowe dane wyjściowe, ale zwrócił 25 milionów wierszy.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Nie musisz materializować 25 milionów wierszy, aby uzyskać wynik w jednym wierszu, ponieważ wymaga to czasu i spowalnia wydajność języka DAX.

Jeśli uruchomisz zapytanie Late Materialization, zobaczysz, że całe obliczenie zajęło tylko 1340 milisekund. Wygenerował również 2 pamięci podręczne danych, z których każda zwracała 5003 wierszy.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Jeśli spojrzysz na fizyczny plan zapytań, zobaczysz 5000 wierszy. Nie mają równej liczby rzędów. Wynik chronometrażu serwera będzie czasami miał niewielką rozbieżność z dokładną liczbą wierszy w planie zapytań.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Tak więc z pracy na jednej pamięci podręcznej danych z 25 milionami wierszy masz teraz dwie pamięci podręczne danych z 5003 wierszami. Dlatego praca z późniejszą materializacją daje szybsze rezultaty niż wczesna materializacja.

Wewnątrz każdego zapytania dotyczącego materializacji

Wystarczy spojrzeć na zapytanie i już widać, że późniejsza materializacja jest szybsza. Zapytanie o wczesną materializację zlicza wiersze tabeli zbiorczej.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Tabela, która jest podsumowana i zmaterializowana, jest większa niż tylko wykonanie stole , co robi zapytanie o późną materializację.

Jeśli zapytanie działa wolno, zacznij od sprawdzenia, ile wierszy jest pobieranych w zapytaniu i ile jest potrzebnych do uzyskania danych wyjściowych. Możesz także przejść do Planu zapytań logicznych i śledzić przepływ pracy wykonywanej w ramach obliczeń.


Co to jest DAX Studio w LuckyTemplates Desktop
Samouczek DAX: Kontekst i aparat obliczeniowy
Pomiar w LuckyTemplates: porady i techniki optymalizacji

Wniosek

Materializacja ma miejsce, gdy zapytania pobierają kolumny lub wiersze z modelu danych. Ten proces zachodzi naturalnie, gdy wyszukiwarka pobiera dane z modelu danych w celu dostarczenia wyników dla zapytania.

Mogą jednak wystąpić problemy, jeśli Twój język DAX pobiera zbyt wiele wierszy, niż potrzeba do uzyskania wyniku. Ten problem można rozwiązać, upraszczając język DAX w celu wykonywania określonych procesów.


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć