Tworzenie zoptymalizowanych kostek w trybie hybrydowym

Narzędzia "Poziom odniesienia", "Pamięć podręczna obliczeń", "Kolejność rozwiązywania", "Rozkład danych" z grupy "Optymalizacja kostki" pozwalają dostrajać kostki w celu zapewnienia lepszej ich wydajności.

Kostki, zoptymalizowane pod kątem trybu tryb hybrydowy, można tworzyć za pomocą następujących czterech narzędzi z grupy "Optymalizacja kostki":
Narzędzie Zwracane dane
Poziom odniesienia Miary wydajności kostki
Kolejność rozwiązywania Kolejność rozwiązywania elementów w kostce
Pamięć podręczna obliczeń Dane pomagające wybrać optymalne ustawienie pamięci podręcznej obliczeń dla kostki
Rozkład danych Dane pomagające wybrać, które wymiary uczynić gęstymi, a które — rzadkimi

Optymalizacja miar poziomu odniesienia w kostce w trybie hybrydowym

Miary śledzone przez narzędzie "Poziom odniesienia" pokazują sposób funkcjonowania systemu. Za ich pomocą można ustalić wydajność stanowiącą poziom odniesienia, a następnie mierzyć korzyści wynikające z dokonywanych optymalizacji.

Przed przystąpieniem do używania tego narzędzia należy utworzyć skoroszyt aplikacji, obejmujący strukturę, ustawienia konfiguracyjne, skrypty obliczeń i zapytania, które mają zostać zawarte w kostce.

Uruchomione narzędzie konstruuje kostkę, ładuje wybrane pliki danych, wykonuje wybrane skrypty obliczeń oraz uruchamia zapytania zawarte w skoroszycie aplikacji. Ważne jest uzyskanie — od użytkowników — reprezentatywnej próbki zapytań.

Narzędzie "Poziom odniesienia" tworzy pulpit informacyjny obejmujący aplikację i procesy operacyjne, pomagający projektować i optymalizować kostkę. W miarę wprowadzania zmian i ponownego konstruowania kostki pomaga porównywać iteracje modyfikacji kostki. Narzędzie "Poziom odniesienia" dołącza w arkuszu Essbase.Stats.Baseline skoroszytu aplikacji nowe tabele z najnowszymi danymi dla każdej iteracji.

Przygotowanie do uruchomienia narzędzia "Poziom odniesienia" w celu optymalizacji kostki w trybie hybrydowym

Przed uruchomieniem narzędzia "Poziom odniesienia" należy:

  1. Zaprojektować i utworzyć skoroszyt aplikacji.

    Można pobrać przykładowy skoroszyt aplikacji, a następnie odpowiednio go zmodyfikować. Zob. Eksplorowanie szablonów z galerii.

  2. Wyczyścić arkusze zapytań w skoroszycie aplikacji z metadanych Smart View:
    1. Przejść do wstążki Smart View.
    2. Wybrać opcję Arkusz - informacje, po czym nacisnąć przycisk Usuń.

    Jeśli arkusze zapytań będą zawierać metadane z innego serwera, Cube Designer wyświetli ostrzeżenie i wstrzyma przetwarzanie w oczekiwaniu na reakcję użytkownika.

  3. Zmodyfikować arkusz Cube.Settings, używając następujących ustawień konfiguracji aplikacji:
    Ustawienie Wartość
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

Uruchamianie narzędzia "Poziom odniesienia" w celu optymalizacji kostki w trybie hybrydowym

Narzędzie "Poziom odniesienia" identyfikuje wymiary gęste i rzadkie, wielkość danych (rozmiary plików PAG i IND), rozmiar bloków oraz rozmiary pamięci podręcznej danych, indeksu i obliczeń. Dodatkowo dostarcza miar ładowania danych, obliczeń i zapytań.

Aby uruchomić narzędzie "Poziom odniesienia", należy:

  1. Z wstążki "Cube Designer" wybrać Zadania administratora > Optymalizacja kostki.
  2. (Opcjonalne) Nacisnąć przycisk Dostosuj, aby wybrać uruchamiane operacje poziomu odniesienia.
    • Konstruuj kostkę — Skonstruowanie kostki zdefiniowanej w skoroszycie aplikacji i załadowanie danych z arkuszy danych.
    • Uruchom skrypty obliczeń — Uruchomienie skryptów obliczeń, zdefiniowanych w poszczególnych arkuszach obliczeń w skoroszycie aplikacji.

      Arkusze obliczeń są uruchamiane w kolejności, w jakiej występują w skoroszycie aplikacji. Podczas operacji optymalizacji kostki jest ignorowana właściwość Wykonaj obliczenia (Execute Calc) z arkuszy obliczeń.

      Przy optymalizacji kostki są obsługiwany tylko skrypty obliczeń, które (skrypty) można uruchomić z obszaru "Zlecenia". Nie można uruchomić skryptów obliczeń, które są zależne od bieżącego kontekstu tabeli Smart View (na przykład obliczeń zdefiniowanych za pomocą funkcji @GRIDTUPLES lub używających zmiennych substytucyjnych trybu wykonawczego, zdefiniowanych za pomocą znaczników <svLaunch>).

    • Uruchom zapytania — Uruchomienie zapytań z arkuszy zapytań.
    • Eksportuj wszystkie — Wyeksportowanie wszystkich danych z kostki do katalogu kostki. Po zarejestrowaniu daty i godziny eksportu oraz rozmiaru pliku następuje automatyczne usunięcie pliku eksportu.
  3. Kliknąć Utwórz poziom odniesienia.

    Jeśli w skoroszycie aplikacji nie ma arkusza danych, zostanie wyświetlone wezwanie do wybrania (z Katalogu) plików danych i reguł. Dobrą praktyką jest przechowywanie plików danych i reguł w katalogu współużytkowanym, dzięki czemu nie nastąpi ich utrata, gdy kostka będzie ponownie konstruowana.

    Skonstruowanie kostki zajmuje trochę czasu.

    Essbase generuje arkusz Essbase.Stats.Baseline i dodaje go do skoroszytu.

  4. Wyświetlić arkusz Essbase.Stats.Baseline ze skoroszytu aplikacji.
    • W pierwszej tabeli z arkusza są wyświetlane rozmiar plików ładowania danych, liczba komórek ładowania danych, rozmiar bloku oraz rozmiary pamięci podręcznych.
      Pierwsza tabela z arkusza "Essbase.Stats.Baseline", pokazująca miary bazy danych.

    • Kolory w tabeli "Baseline" sygnalizują typ składowania dla poszczególnych wymiarów:
      • Zielony — wymiar gęsty
      • Czerwony — wymiar rzadki z co najmniej jedną formułą dynamiczną
      • Niebieski — wymiar rzadki z agregacjami, bez żadnych dynamicznych nadrzędnych i formuł
      • Złoty — inny wymiar rzadki

      Druga tabela z arkusza "Essbase.Stats.Baseline", pokazująca wymiary gęste i rzadkie, łączną liczbę elementów i liczbę elementów składowanych.

    • W obszarze Load and Calc poszczególne wiersze "Script:" pokazują, który skrypt obliczeń jest najdłużej wykonywany i być może wymaga optymalizacji.
      Trzecia tabela z arkusza "Essbase.Stats.Baseline", pokazująca czasy ładowania i obliczania, liczbę bloków i danych oraz rozmiar utworzone pliku indeksu.

    • W obszarze Query, w kolumnie Blocks Read jest pokazywana ilość danych żądanych przez zapytanie.

      Zmiana wymiaru z dynamicznego na składowany zmniejsza tę ilość.

    • W obszarze Query, w kolumnie Formulas jest pokazywana liczba formuł wykonanych w zapytaniu.

      Należy sprawdzić kolejność rozwiązywania elementów obliczanych oraz dokonać zmian zmniejszających liczbę wykonań formuł i poprawiających wydajność albo rozważyć składowanie elementu obliczanego, zawierającego formuły w celu zmniejszenia liczby wykonań formuł i poprawy wydajności.


      Czwarta tabela z arkusza "Essbase.Stats.Baseline", pokazująca czas zapytania oraz liczbę odczytanych bloków i wykonanych formuł.

    • W ostatniej tabeli z arkusza są wyświetlane czas eksportu i rozmiar pliku.
      Piąta tabela z arkusza "Essbase.Stats.Baseline", pokazująca czas eksportu i rozmiar pliku.

Optymalizacja kolejności rozwiązywania w kostce w trybie hybrydowym

Narzędzie "Kolejność rozwiązywania" dostarcza wizualną reprezentację kolejności rozwiązywania używanej w aplikacji. Może pomóc zdiagnozować problemy z wydajnością zapytań, związane z formułami.

Aby uruchomić narzędzie "Kolejność rozwiązywania", należy:

  1. Z wstążki "Cube Designer" wybrać Zadania administratora > Optymalizacja kostki.
  2. Wybrać opcję Kolejność rozwiązywania.
  3. Wyświetlić arkusz Essbase.Stats.SolveOrder ze skoroszytu aplikacji.

Używając informacji z arkusza Essbase.Stats.SolveOrder, można dostosować kolejność rozwiązywania w celu optymalizacji działania zapytania. Zob. Optymalizacja kostki pod kątem trybu hybrydowego i Kolejność rozwiązywania w trybie hybrydowym.

Optymalizacja pamięci podręcznej kalkulatora w kostce w trybie hybrydowym

Narzędzie "Pamięć podręczna obliczeń" rekomenduje optymalne ustawienie pamięci podręcznej obliczeń dla kostki.

Zastosowanie odpowiedniego ustawienia pamięci podręcznej obliczeń może okazać się istotnym usprawnieniem, gdy przy użyciu skryptu obliczeń są obliczane całe wymiary rzadkie. Obliczanie całego wymiaru rzadkiego jest techniką redukcji liczby bloków wymaganych przez zapytanie.

Wartością domyślną pamięci podręcznej obliczeń jest 200 000 bajtów. Wartość maksymalna wynosi 20 000 000 bajtów.

Pamięć podręczną obliczeń powinna być ustawiana na tyle dużą, aby pomieściła wymiary rzadki obliczane przy użyciu skryptu obliczeń. Ustawienie pamięci podręcznej obliczeń na większą niż potrzebna ma negatywny wpływ na wydajność.

Aby zoptymalizować pamięć podręczną obliczeń za pomocą narzędzia "Pamięć podręczna obliczeń", należy:
  1. W celu zmniejszenia ilości danych wymaganych przez zapytanie obliczyć i składować jeden lub większą liczbę wymiarów, używając skryptu obliczeń.

    Najlepszy wyborem jest zazwyczaj największy wymiar.

  2. Przenieść ten wymiar w strukturze, tak aby był pierwszym wymiarem rzadkim.

    Algorytm pamięci podręcznej obliczeń wybiera — do umieszczenia w niej — wymiary rzadkie, zaczynając od pierwszego wymiaru rzadkiego.

  3. Skonstruować kostkę, nie ładując danych.

    Kostka, aby działała, musi zostać skonstruowana dla narzędzia "Pamięć podręczna obliczeń".

  4. Uruchomić narzędzie "Pamięć podręczna obliczeń".

    Narzędzie wyświetli, obok każdego wymiaru właściwe ustawienie pamięci podręcznej, aż do 20 MB. Przy przekroczeniu wartości 20 MB zostanie wyświetlony wpis ND (N/A). Generalnie nie są potrzebne ustawienia większe niż kilka MB.

    1. Z wstążki "Cube Designer" wybrać Zadania administratora > Optymalizacja kostki.
    2. Wybrać opcję Pamięć podręczna obliczeń.
    3. Wyświetlić arkusz Essbase.Stats.CalcCache ze skoroszytu aplikacji. Zalecane ustawienia pamięci podręcznej obliczeń można zobaczyć w arkuszu Essbase.Stats.CalcCache, w kolumnie Calc Cache.
      Arkusz "Essbase.Stats.CalcCache" ze skoroszytu aplikacji typu "optymalizacja kostki".

  5. Odnaleźć w arkuszu Essbase.Stats.CalcCache ustawienie Calc Cache, obok obliczonych i składowanych wymiarów (punkt 1).
  6. Jeśli w punkcie 1 był obliczany jeden wymiar, przyjąć tę wartość jako domyślne ustawienie pamięci podręcznej obliczeń. Jeśli w punkcie 1 był obliczany więcej niż jeden wymiar, przyjąć największą wartość Calc Cache spośród obliczonych.

    Dodać tę wartość do sekcji "Application Settings" arkusza Cube.Settings. Alternatywnie można ustawić tę wartość w konfiguracji aplikacji, używając internetowego interfejsu Essbase. Dobrą praktyką jest zaokrąglenie wartości w górę, w celu zapewnienia pewnego marginesu.

Optymalizacja rozkładu danych w kostce w trybie hybrydowym

Narzędzie "Rozkład danych" pomaga lepiej zrozumieć dane w aplikacji, ułatwiając podejmowanie ważnych decyzji dotyczących sposobu optymalizacji kostki.

Rozumiejąc dane, łatwiej jest ustalić:
  • Które wymiary uczynić gęstymi, a które — rzadkimi.

    Wymiary gęste definiują bloki w aplikacji z wolumenem blokowym. Idealnie blok powinien zawierać wymiary z większością danych i reprezentować główny układ zapytań tej aplikacji. W przypadku aplikacji Financial Reporting zazwyczaj oznacza to, że wymiary "Czas" i "Konto" powinny być wymiarami gęstymi.

  • Które wymiary obliczać i składować, używając skryptu obliczeń.

    Jednym z czynników wpływających na wydajność zapytania jest liczba żądanych przez niego bloków. Jeśli liczba żądanych bloków jest zbyt duża, wydajność zapytania ulega pogorszeniu. Aby zmniejszyć liczbę żądanych bloków, można wstępnie obliczyć elementy poziomu górnego, pochodzące z jednego lub większej liczby wymiarów rzadkich. Najpierw należy ustawić atrybut składowania wymiaru (dla elementów poziomu górnego) na atrybut składowania "Składuj" lub "Nigdy nie udostępniaj", po czym uruchomić skrypt obliczeń agregujący ten wymiar z użyciem polecenia CALC DIM albo AGG.

  • Których wymiarów użyć jako wymiarów zadania w poleceniu FIXPARALLEL.

    Aby zoptymalizować skrypt obliczeń używany do agregacji składowanych wymiarów rzadkich, należy użyć polecenia FIXPARALLEL. Ważne jest wybranie odpowiednich wymiarów dla tego zadania. Wymiar zadania jest to wymiar decydujący o podziale obliczenia na wątki i wykonywaniu ich równolegle. Aby ograniczyć liczbę pustych zadań, co najmniej jeden z wymiarów powinien zawierać większość danych, przy czym — idealnie — dane te powinny być równomiernie rozłożone.

Aby uruchomić narzędzie "Rozkład danych", należy:
  1. Z wstążki "Cube Designer" wybrać Zadania administratora > Optymalizacja kostki.
  2. Wybrać Rozkład danych.

    Ten proces może być długo wykonywany, zwłaszcza przy większych modelach.

  3. Wyświetlić arkusz Essbase.Stats.DataDist.

Karta "Essbase.Stats.DataDist" w skoroszycie optymalizacji kostki, pokazująca statystyki rozkładu danych.


Karta "Essbase.Stats.DataDist" w skoroszycie optymalizacji kostki, pokazująca liczbę bloków i liczbę komórek w poszczególnych blokach.