Udostępnij za pośrednictwem


Omówienie modułów OLAP programu Service Manager na potrzeby zaawansowanej analizy

W programie Service Manager dane obecne w magazynie danych można skonsolidować z różnych źródeł. Jest on prezentowany za pośrednictwem programu Service Manager przy użyciu wstępnie zdefiniowanych i dostosowanych modułów danych przetwarzania analitycznego online firmy Microsoft (OLAP). Krótko mówiąc, zaawansowana analiza w programie Service Manager składa się z publikowania, wyświetlania i manipulowania danymi kostki, zwykle w programie Microsoft Excel lub Microsoft SharePoint. Program Excel jest używany głównie przez siebie do wyświetlania i manipulowania danymi. Program SharePoint jest używany głównie jako środek do publikowania i udostępniania danych modułu.

Program Service Manager obejmuje magazyn danych w całym programie System Center. W związku z tym dane z programu Operations Manager, programu Configuration Manager i programu Service Manager można skonsolidować w magazynie danych, w którym można łatwo użyć wielu widoków danych, aby uzyskać dowolne informacje. Jest to również interfejs, w którym można umieścić dane w tym samym magazynie danych z własnych niestandardowych źródeł, takich jak aplikacje SAP lub aplikacja do zarządzania zasobami ludzkimi innej firmy. Ta konsolidacja tworzy wspólny model danych i umożliwia wzbogacone analizy, które ułatwiają tworzenie magazynu danych w organizacji it (Information Technology), która może obsługiwać wszystkie potrzeby związane z analizą biznesową i raportowaniem.

Gdy dane są we wspólnym modelu, można manipulować informacjami i mieć wspólne definicje oraz wspólną taksonomię dla całego przedsiębiorstwa. W tym celu można wdrożyć moduły danych OLAP i uzyskać dostęp do informacji z modułów przy użyciu standardowych narzędzi, takich jak Excel i SharePoint. Dzięki temu użytkownicy mogą korzystać z umiejętności, które już znają. Możesz kontrolować definicję logiki biznesowej w scentralizowany sposób. Można na przykład zdefiniować kluczowe wskaźniki wydajności, takie jak progi czasowe na rozwiązanie incydentu, oraz określić, które wartości tych progów są oznaczone jako zielone, żółte lub czerwone. Możesz kontrolować te opcje w scentralizowany sposób i umożliwiać użytkownikom łatwe korzystanie z danych, ale wspólne definicje są wyświetlane w raportach programu Excel lub pulpitach nawigacyjnych programu SharePoint.

Informacje o modułach OLAP programu Service Manager

Moduły przetwarzania analitycznego online (OLAP) to funkcja w programie Service Manager, która korzysta z istniejącej infrastruktury magazynu danych w celu zapewnienia samoobsługowej analizy biznesowej użytkownikom końcowym.

OLAP cube to struktura danych, która pokonuje ograniczenia baz danych relacyjnych, umożliwiając szybką analizę danych. Kostki mogą wyświetlać i sumować duże ilości danych, jednocześnie zapewniając użytkownikom dostęp z możliwością wyszukiwania do dowolnych punktów danych. W ten sposób dane mogą być agregowane, dzielone i przetwarzane zgodnie z potrzebami w celu analizowania najszerszej gamy pytań, które są istotne dla obszaru zainteresowania użytkownika.

Dostawcy oprogramowania lub deweloperzy technologii informatycznych (IT) z działającą wiedzą na temat modułów OLAP mogą tworzyć pakiety administracyjne do definiowania własnych rozszerzalnych i dostosowywalnych modułów OLAP opartych na infrastrukturze magazynu danych. Te kostki są przechowywane w usługach SQL Server Analysis Services (SSAS). Samoobsługowe narzędzia do analizy biznesowej, takie jak Excel i usługi SQL Server Reporting Services (SSRS), mogą obsługiwać te kostki w SSAS i można je używać do analizowania danych z wielu perspektyw.

Bazy danych używane przez firmę do przechowywania wszystkich transakcji i rekordów są nazywane bazami danych przetwarzania transakcji online (OLTP). Te bazy danych zwykle zawierają rekordy, które są wprowadzane pojedynczo i zawierają wiele informacji, które mogą być używane przez strategów do podejmowania świadomych decyzji dotyczących ich działalności. Bazy danych używane do przechowywania danych nie zostały jednak zaprojektowane do analizy. W związku z tym pobieranie odpowiedzi z tych baz danych jest kosztowne pod względem czasu i nakładu pracy. Bazy danych OLAP to wyspecjalizowane bazy danych, które ułatwiają wyodrębnianie tych informacji analizy biznesowej z danych.

Moduły OLAP można traktować jako ostatni element układanki rozwiązania do magazynowania danych. Moduł OLAP, znany również jako wielowymiarowy moduł lub hipercube, to struktura danych w usługach SQL Server Analysis Services (SSAS), która została skompilowana przy użyciu baz danych OLAP w celu umożliwienia niemal natychmiastowej analizy danych. Topologia tego systemu jest pokazana na poniższej ilustracji.

Diagram przedstawiający dw programu Service Manager 2016.

Przydatną funkcją modułu OLAP jest to, że dane w module mogą być zawarte w postaci zagregowanej. Dla użytkownika kostka wydaje się mieć odpowiedzi z wyprzedzeniem, ponieważ zestawy wartości są już wstępnie obliczone. Bez konieczności wykonywania zapytań dotyczących źródłowej bazy danych OLAP moduł może zwracać odpowiedzi na szeroką gamę pytań niemal natychmiast.

Głównym celem modułów OLAP programu Service Manager jest zapewnienie dostawcom oprogramowania lub deweloperom technologii informatycznych możliwości przeprowadzania niemal natychmiastowej analizy danych zarówno w celach historycznych, jak i trendów. Kierownik ds. usług robi to poprzez:

  • Umożliwia definiowanie modułów OLAP w pakietach administracyjnych, które zostaną utworzone automatycznie w usługach SSAS podczas wdrażania pakietu administracyjnego.
  • Automatyczne utrzymywanie modułu bez interwencji użytkownika, wykonywanie takich zadań jak przetwarzanie, partycjonowanie, tłumaczenia i lokalizacja oraz zmiany schematu.
  • Umożliwianie użytkownikom korzystania z samoobsługowych narzędzi do analizy biznesowej, takich jak program Excel, do analizowania danych z wielu perspektyw.
  • Zapisywanie wygenerowanych raportów programu Excel do przyszłego użytku.

Aby zobaczyć, jak moduły magazynu danych są reprezentowane w konsoli programu Service Manager, przejdź do obszaru roboczego Magazyn danych i wybierz pozycję Moduły.

Moduły OLAP programu Service Manager

Ilustracja poniżej przedstawia obraz z programu SQL Server Business Intelligence Development Studio (BIDS) przedstawiający główne elementy wymagane dla modułów przetwarzania analitycznego online (OLAP). Należą do nich: źródło danych, widok źródła danych, moduły i wymiary. W poniższych sekcjach opisano elementy modułów OLAP i czynności, które przy ich użyciu może wykonywać użytkownik.

Zrzut ekranu przedstawiający architekturę kostki.

Źródło danych

Źródło danych to miejsce pochodzenia wszystkich danych znajdujących się w module OLAP. Moduł OLAP łączy się ze źródłem danych, aby odczytywać i przetwarzać dane pierwotne służące do agregacji i obliczeń związanych z nim miar. Źródłem danych dla wszystkich modułów OLAP programu Service Manager są składnice danych, które obejmują składnice danych zarówno dla programu Operations Manager, jak i programu Configuration Manager. Dane uwierzytelniające dotyczące źródła danych muszą być przechowywane w usługach analizy serwera SQL (SSAS, SQL Server Analysis Services) w celu ustalenia odpowiedniego poziomu uprawnień.

Widok źródła danych

Widok źródła danych (DSV) to kolekcja widoków, które reprezentują tabele wymiarów, faktów i tabeli pomocniczej ze źródła danych, takich jak składnice danych programu Service Manager. DSV zawiera wszystkie relacje między tabelami, takie jak klucze główne i klucze obce. Innymi słowy, widok źródła danych określa sposób, w jaki baza danych SSAS jest mapowana na schemat relacyjny, i zapewnia warstwę abstrakcji nałożoną na relacyjną bazę danych. Przy użyciu tej warstwy abstrakcji można definiować relacje między tabelami faktów i wymiarów, nawet jeśli w źródłowej relacyjnej bazie danych nie ma takich relacji. W widoku źródła danych można również definiować nazwane obliczenia, miary niestandardowe i nowe atrybuty, które pierwotnie nie występowały w schemacie wymiarów magazynu danych. Na przykład nazwane obliczenie, które definiuje wartość logiczną dla Zdarzenia Rozwiązane, oblicza wartość jako prawda, jeśli status incydentu został rozwiązany lub zamknięty. Korzystając z nazwanego obliczenia, program Service Manager może następnie zdefiniować miarę, aby wyświetlić przydatne informacje, takie jak procent rozwiązanych zdarzeń, łączna liczba rozwiązanych zdarzeń oraz łączna liczba niezwiązanych zdarzeń.

Inny prosty przykład nazwanego obliczenia to ReleasesImplementedOnSchedule. To nazwane obliczenie umożliwia szybkie sprawdzenie stanu liczby rekordów wydania, w których faktyczna data zakończenia jest nie późniejsza niż planowana.

Moduły OLAP

Kostka OLAP jest strukturą danych, która pozwala pokonać ograniczenia relacyjnych baz danych, umożliwiając szybką analizę danych. Moduły OLAP mogą wyświetlać i sumować duże ilości danych, jednocześnie zapewniając użytkownikom możliwy do przeszukiwania dostęp do dowolnych punktów danych, dzięki czemu dane mogą być rzutowane, dzielone i pokrojone zgodnie z potrzebami w celu obsługi najróżniejszych pytań, które są istotne dla obszaru zainteresowania użytkownika.

Wymiary

Wymiar w SSAS odwołuje się do wymiaru z magazynu danych Service Manager. W programie Service Manager wymiar jest w przybliżeniu odpowiednikiem klasy pakietu administracyjnego. Każda klasa pakietu administracyjnego ma listę właściwości, a każdy wymiar zawiera listę atrybutów, z których każdy jest mapowany na jedną właściwość klasy. Wymiary umożliwiają filtrowanie, grupowanie i etykietowanie danych. Na przykład można filtrować komputery według zainstalowanego systemu operacyjnego i grupować osoby w kategorie według płci lub wieku. Dane można następnie przedstawić w formacie, w którym dane są kategoryzowane naturalnie w tych hierarchiach i kategoriach, aby umożliwić bardziej szczegółową analizę. Wymiary mogą również mieć naturalne hierarchie, aby umożliwić użytkownikom zagłębianie się w bardziej szczegółowe poziomy informacji. Na przykład wymiar Data ma hierarchię umożliwiającą przejście kolejno do poziomów Rok, Kwartał, Miesiąc, Tydzień i Dzień.

Na poniższym rysunku przedstawiono moduł OLAP zawierający wymiary Data, Region i Produkt.

Diagram wymiarów modułu.

Na przykład członkowie zespołu firmy Microsoft mogą potrzebować szybkiego i prostego podsumowania sprzedaży konsoli xbox One w odpowiedniej wersji. Następnie mogą przejść do szczegółowych wyników sprzedaży osiągniętych w krótszym okresie. Analitycy biznesowi mogą chcieć zbadać, w jaki sposób sprzedaż konsol Xbox One została wpłynięta przez uruchomienie nowego designu konsoli i Kinecta dla Xbox One. Pomoże im to określić aktualne trendy sprzedaży i potencjalnie konieczne korekty strategii biznesowej. Filtrowanie według wymiaru daty pozwala szybko uzyskać i wykorzystać te informacje. Takie dzielenie i grupowanie danych jest możliwe wyłącznie dzięki zaprojektowaniu wymiarów z atrybutami i danymi, które klient może łatwo filtrować i grupować.

W programie Service Manager wszystkie moduły OLAP mają wspólny zestaw wymiarów. Wszystkie wymiary używają jako źródła podstawowej składnicy danych, nawet w przypadku korzystania z wielu składnic danych. W scenariuszach obejmujących użycie wielu składnic danych może dojść do błędów klucza wymiaru podczas przetwarzania modułu.

Grupa miar

Grupa miar to synonim faktu w terminologii magazynu danych. Podobnie jak fakty zawierają miary liczbowe w magazynie danych, grupa miar zawiera miary dla kostki OLAP. Wszystkie miary w module OLAP pochodzące z jednej tabeli faktów w widoku źródła danych można również uważać za grupę miar. Mogą jednak zdarzyć się wystąpienia, gdzie miary w module OLAP będą pochodzić z wielu tabel faktów. Miary o jednakowym poziomie szczegółowości są zebrane w jednej grupie miar. Grupy miar definiują dane ładowane do systemu, sposób ich ładowania oraz sposób powiązania danych z wielowymiarowym modułem.

Każda grupa miar zawiera także listę partycji przechowujących rzeczywiste dane w oddzielnych, nienakładających się sekcjach. Grupy miar zawierają również projekt agregacji definiujący wstępnie sumowane zbiory danych, które są obliczane dla każdej grupy miar w celu przyspieszenia wykonywania kwerend użytkowników.

Środki

Miary to wartości liczbowe, które użytkownicy chcą podzielić, kości, agregować i analizować; są one jednym z podstawowych powodów, dla których warto utworzyć moduły OLAP przy użyciu infrastruktury magazynowania danych. Korzystając z usług SSAS, można budować moduły OLAP umożliwiające stosowanie reguł biznesowych i obliczeń w celu formatowania i wyświetlania miar w możliwym do dostosowania formacie. Większość czasu poświęconego na projektowanie modułów OLAP upływa na ustalaniu i definiowaniu miar, które mają być wyświetlane, oraz sposobu ich obliczania.

Miary to wartości zwykle mapowane na kolumny liczbowe w tabeli faktów magazynu danych, ale można tworzyć je również na podstawie atrybutów wymiarów i wymiarów zdegenerowanych. Te miary są najważniejszymi wartościami analizowanymi w module OLAP i głównym przedmiotem zainteresowania użytkowników końcowych przeglądających ten moduł. Przykładem miary istniejącej w magazynie danych jest element ActivityTotalTimeMeasure. ActivityTotalTimeMeasure to miara z tabeli ActivityStatusDurationFact, która przedstawia czas, w jakim każde działanie znajduje się w określonym statusie. Na poziom szczegółowości miary składają się wszystkie wymiary, do których się ona odwołuje. Na przykład poziom szczegółowości faktu relacji ComputerHostsOperatingSystem składa się z wymiarów Komputer i System operacyjny.

W celu umożliwienia dalszej analizy na podstawie miar są obliczane funkcje agregacji. Najczęściej używana funkcja agregacji to Suma. Na przykład typowa kwerenda modułu OLAP podsumowuje łączny czas wszystkich działań mających stan In Progress. Inne często używane funkcje agregacji to Minimum, Maksimum i Liczba.

Po przetworzeniu danych pierwotnych w kostce OLAP użytkownicy mogą wykonywać bardziej złożone obliczenia i zapytania, korzystając z wyrażeń wielowymiarowych (MDX) do definiowania własnych wyrażeń miar lub elementów członkowskich obliczeniowych. MDX to branżowy standard przeszukiwania i uzyskiwania dostępu do danych przechowywanych w systemach OLAP. Program SQL Server nie został zaprojektowany do pracy z modelem danych, który obsługuje wielowymiarowe bazy danych.

Przechodzenie do szczegółów

Wgłębiając się w dane w kostce OLAP, użytkownik analizuje dane na innym poziomie agregacji. Poziom szczegółowości danych zmienia się, gdy użytkownik bada dane na różnych poziomach hierarchii. Podczas przechodzenia do szczegółów użytkownicy przechodzą z informacji ogólnych do danych o bardziej wąskim zakresie. Oto przykłady zagłębiania się w szczegóły:

  • Analizowanie danych, aby uzyskać informacje demograficzne na temat populacji Stanów Zjednoczonych, następnie stanu Waszyngton, później obszaru metropolitalnego Seattle, następnie miasta Redmond, aż do danych dotyczących populacji w firmie Microsoft.
  • Przechodzenie do szczegółów danych sprzedaży konsoli Xbox One w roku kalendarzowym 2015, a następnie czwartego kwartału roku, a następnie miesiąca grudnia, a następnie tygodnia przed Świętami Bożego Narodzenia, a na koniec Wigilii Bożego Narodzenia.

Rozwiercanie

Gdy użytkownicy przechodzą do szczegółów danych, chcą zobaczyć wszystkie poszczególne transakcje, które przyczyniły się do zagregowanych danych modułu OLAP. Innymi słowy, użytkownik może pobierać dane na najniższym poziomie szczegółowości dla danej wartości miary. Na przykład po podaniu danych sprzedaży dla określonego miesiąca i kategorii produktów możesz przejść do szczegółów tych danych, aby wyświetlić listę każdego wiersza tabeli, który znajduje się w tej komórce danych.

Często mylone są terminy drill down i drill through ze sobą. Główną różnicą między nimi jest to, że przechodzenie do szczegółów działa w wstępnie zdefiniowanej hierarchii danych, na przykład USA, a następnie do Waszyngtonu, a następnie do Seattle w module OLAP. Przejście w głąb bezpośrednio prowadzi do najniższego poziomu szczegółowości danych i pobiera zestaw wierszy ze źródła danych, który został zagregowany w pojedynczy punkt danych.

Kluczowy wskaźnik wydajności

Przy użyciu kluczowych wskaźników wydajności (KPI, key performance indicators) organizacje mogą monitorować kondycję i wydajność swoich przedsięwzięć, mierząc stopień zaawansowania w realizacji celów. Kluczowe wskaźniki wydajności to metryki biznesowe, które można definiować w celu monitorowania postępów wykonania wstępnie zdefiniowanych zamierzeń. Wskaźnik KPI ma wartość docelową i rzeczywistą wartość, która reprezentuje cel ilościowy, który ma kluczowe znaczenie dla sukcesu organizacji. Wskaźniki KPI są wyświetlane w grupach na karcie wyników, aby pokazać ogólną kondycję firmy w jednym szybkim spojrzeniu.

Przykładem kluczowego wskaźnika wydajności jest realizacja wszystkich żądań zmiany w ciągu 48 godzin. Wskaźnik KPI może służyć do pomiaru procentu żądań zmiany zrealizowanych w tym czasie. Możliwe jest tworzenie pulpitów nawigacyjnych, które wizualnie przedstawiają wskaźniki KPI. Na przykład dla wskaźnika KPI dotyczącego realizacji wszystkich żądań zmiany w ciągu 48 godzin można zdefiniować wartość docelową wynoszącą 75%.

Partycje

Partycja to struktura danych zawierająca część lub wszystkie dane z grupy miar. Każda grupa miar jest podzielona na partycje. Partycja definiuje podzbiór danych faktowych, które są ładowane do grupy miar. Usługi SSAS w wersji Standard Edition obsługują tylko jedną partycję na grupę miar, natomiast w usługach SSAS w wersji Enterprise Edition grupa miar może zawierać wiele partycji. Partycje są funkcją niewidoczną dla użytkownika końcowego, ale mają one duży wpływ zarówno na wydajność, jak i skalowalność modułów OLAP. Wszystkie partycje grupy miar zawsze znajdują się w tej samej fizycznej bazie danych.

Partycje umożliwiają administratorowi lepsze zarządzanie modułem OLAP i zwiększenie wydajności modułu OLAP. Przykładowo można usunąć lub ponownie przetworzyć dane w jednej partycji grupy miar bez wpływu na pozostałą część tej grupy. Ładowanie nowych danych do tabeli faktów ma wpływ tylko na partycje, które powinny zawierać te dane.

Ponadto partycjonowanie usprawnia przetwarzanie i zwiększa wydajność przeszukiwania w przypadku modułów OLAP. Usługi SSAS mogą przetwarzać równocześnie wiele partycji, co prowadzi do bardziej efektywnego użycia procesora oraz zasobów pamięci na serwerze. Podczas wykonywania zapytania usługa SSAS pobiera, przetwarza i agreguje dane z wielu partycji, ale tylko partycje zawierające dane istotne dla zapytania są skanowane, co zmniejsza ogólną ilość danych wejściowych i wyjściowych.

Przykładem strategii partycjonowania jest umieszczenie danych faktycznych dotyczących każdego miesiąca w miesięcznej partycji. Na koniec każdego miesiąca wszystkie nowe dane są zapisywane w nowej partycji, dzięki czemu następuje naturalny rozkład danych bez nakładania się wartości.

Agregacje

Agregacje w kostce OLAP to wstępnie zsumowane zestawy danych. Są one analogiczne do instrukcji SQL SELECT z klauzulą GROUP BY. Usługi SSAS mogą używać tych agregacji podczas odpowiadania na kwerendy, co zmniejsza liczbę niezbędnych obliczeń oraz skutkuje szybszym zwracaniem odpowiedzi użytkownikowi. Agregacje wbudowane w moduł OLAP zmniejszają liczbę agregacji, które usługi SSAS muszą wykonać podczas przeszukiwania. Tworzenie poprawnych agregacji może znacząco zwiększyć wydajność przeszukiwania. Często ten proces ewoluuje w okresie istnienia modułu OLAP wraz ze zmianą jego kwerend i użycia.

Podstawowy zestaw agregacji jest zazwyczaj tworzony na potrzeby większości kwerend kierowanych do modułu OLAP. Agregacje są tworzone dla każdej partycji modułu OLAP w ramach grupy miar. Po utworzeniu agregacji pewne atrybuty wymiarów zostają uwzględnione w zestawie wstępnie zsumowanych danych. Podczas przeszukiwania modułu OLAP użytkownicy mogą szybko przeszukiwać dane na podstawie tych agregacji. Agregacje muszą być dokładnie projektowane, ponieważ tworzenie zbyt dużej liczby potencjalnych agregacji może być bardzo czasochłonne i wymagać dużo miejsca do magazynowania.

Program Service Manager używa następujących dwóch opcji podczas kompilowania i projektowania agregacji w modułach OLAP programu Service Manager:

  • Wzrost wydajności sięga
  • Optymalizacja oparta na użyciu

Opcja Maksymalny wzrost wydajności definiuje procent poprawy wydajności w wyniku utworzenia agregacji. Przykładowo ustawienie dla tej opcji domyślnej i zalecanej wartości wynoszącej 30 procent oznacza, że utworzenie agregacji przyniesie modułowi OLAP 30-procentowy szacunkowy wzrost wydajności. Nie oznacza to jednak, że zostanie zbudowanych 30 procent możliwych agregacji.

Optymalizacja oparta na użyciu umożliwia usługom SSAS rejestrowanie żądań dotyczących danych, dzięki czemu informacje są przekazywane do procesu projektowania agregacji w chwili uruchomienia kwerendy. Następnie usługi SSAS sprawdzają dane i rekomendują utworzenie odpowiednich agregacji w celu uzyskania najlepszego szacunkowego wzrostu wydajności.

Partycjonowanie modułu programu Service Manager

Każda grupa miar w kostce jest podzielona na partycje, gdzie partycja definiuje część danych faktów załadowanych do grupy miar. Usługi SQL Server Analysis Services (SSAS) w programie SQL Server Standard Edition zezwalają tylko na jedną partycję na grupę miar, podczas gdy wiele partycji jest dozwolonych w wersji Enterprise Edition. Partycje są całkowicie przezroczyste dla użytkownika końcowego, ale mają istotny wpływ na wydajność i skalowalność. Na przykład partycje mogą być przetwarzane oddzielnie i równolegle. Mogą mieć różne projekty agregacji. Partycję można ponownie przetworzyć bez wpływu na wszystkie inne partycje w grupie miar. Ponadto usługa SSAS automatycznie skanuje tylko partycje zawierające niezbędne dane dla zapytania, co może znacznie poprawić wydajność zapytań.

Partycjonowanie kostki jest wykonywane przy każdym uruchomieniu zadania konserwacji magazynu danych, które domyślnie jest uruchamiane co godzinę. Określony moduł procesu, który jest uruchamiany, nosi nazwę ManageCubePartitions. Zawsze jest uruchamiany po kroku CreateMartPartitions. Te dane zależności są przechowywane w tabeli infra.moduletriggercondition.

Główna biblioteka dynamicznych linków (DLL), która obsługuje partycjonowanie, znajduje się w bibliotece DLL narzędzi magazynowych Microsoft.EnterpriseManagement.Warehouse.Utility, w klasie PartitionUtil. W szczególności w klasie istnieje metoda ManagePartitions(), która obsługuje całą konserwację partycji. Biblioteka DLL konserwacji magazynu danych, Microsoft.EnterpriseManagement.Warehouse.Maintenance oraz biblioteka DLL przetwarzania analitycznego online magazynu danych (OLAP), Microsoft.EnterpriseManagement.Warehouse.Olap, wywołuje narzędzie Microsoft.EnterpriseManagement.Warehouse.Utility do obsługi partycji podczas wdrażania konserwacji i modułu. Dlatego rzeczywista obsługa partycji znajduje się we wspólnej bibliotece DLL narzędzia magazynowego, aby uniknąć duplikowania logiki lub kodu.

Konserwacja partycjonowania modułu wykonuje następujące zadania:

  • Tworzenie partycji
  • Usuwanie partycji
  • Aktualizowanie granic partycji

W tym celu tabela Structured Query Language (SQL) etl.TablePartition jest odczytywana w celu określenia wszystkich partycji faktów utworzonych dla grupy miar. Występują następujące akcje:

  1. Rozpocznij przetwarzanie kostki dla każdej grupy miar w kostce
  2. Pobierz wszystkie partycje z etl.TablePartition dla grupy miar
  3. Usuń wszystkie partycje, które istnieją w grupie miar, ale których brakuje w tabeli etl.TablePartition.
  4. Dodaj nowe partycje utworzone i istniejące tylko w etl.TablePartition
  5. Zaktualizuj dowolną partycję, która mogła zostać zmieniona, dopasowując każdą partycję do wartości RangeStartDate i RangeEndDate w tabeli etl.TablePartition

Pamiętaj o następujących aspektach dotyczących przetwarzania kostki:

  • Tylko grupy miar, które są przeznaczone dla faktów, zawierają wiele partycji w programie SQL Server Standard Edition. Domyślnie wszystkie grupy miar i wymiary zawierają tylko jedną partycję. W związku z tym partycja nie ma żadnych warunków granic.
  • Granice partycji są definiowane przez powiązanie zapytania oparte na kluczach dat, które są zgodne z kluczami dat odpowiednich partycji faktów w tabeli etl.TablePartition.

Wdrażanie kostki OLAP programu Service Manager

Wdrożenie modułu przetwarzania analitycznego online (OLAP) używa infrastruktury wdrażania programu Service Manager do tworzenia modułów OLAP w bazie danych usług SQL Server Analysis Services (SSAS).

Podsumowując, element możliwy do wdrożenia zwraca wdrożeniowiec z kolekcją zasobów, które są serializowane i używane do tworzenia kostki OLAP w bazie danych SSAS. W przypadku modułów OLAP nazwa obiektu możliwego do wdrożenia to CubeDeployable dla elementu SystemCenterCube i CubeExtensionDeployable dla elementu CubeExtension. Moduł wdrażania dla obu elementów to CubeDeployer.

Tabela dbo.Selector w bazie danych DWStagingAndConfig zawiera wpis dla elementów zestawu zarządzania SystemCenterCube i CubeExtension. Aparat wdrażania używa tych metadanych, jeśli dodatkowe przetwarzanie wdrożenia jest konieczne dla elementu pakietu administracyjnego, gdy pakiet administracyjny jest importowany do magazynu danych przy użyciu zadania MPSync.

Wdrożenia używają interfejsu programowania aplikacji (API) Analysis Management Objects (AMO) do tworzenia i modyfikowania wszystkich składników kostki w bazie danych SSAS. W szczególności AMO w trybie odłączonym jest używane, ponieważ element CubeDeployable nie będzie miał połączenia z bazą danych SSAS. Praca z usługą AMO w trybie rozłączenia umożliwia utworzenie całego drzewa obiektów AMO bez nawiązywania połączenia z serwerem. Następnie Service Manager serializuje hierarchię obiektów jako zasoby strumieniowe i dołącza je do obiektu dystrybuującego, który jest przekazywany z powrotem do infrastruktury wdrażania. Obiekt deployer jest następnie deserializowany, ustanawia połączenie z bazą danych usług SSAD i tworzy obiekty, wysyłając odpowiednie żądania do serwera.

Można serializować tylko główne obiekty. W AMO główne obiekty są traktowane jako klasy reprezentujące kompletny obiekt jako kompletną jednostkę, a nie jako część innego obiektu. Na przykład główne obiekty obejmują serwer, moduł i wymiar, które są jednostkami autonomicznymi. Atrybut DimensionAttribute nie jest jednak obiektem głównym, ponieważ można go utworzyć tylko jako część nadrzędnego głównego obiektu wymiaru. W związku z tym dimensionAttribute jest obiektem pomocniczym. Projekt kostek OLAP koncentruje się na tworzeniu wszystkich głównych obiektów, które są potrzebne dla kostek, wraz z wszystkimi zależnymi obiektami pomocniczymi. Te główne obiekty to obiekty, które będą serializowane i deserializowane przed utworzeniem obiektów w bazie danych SSAS.

Zasoby, które otaczają główne obiekty, muszą zostać utworzone w określonej kolejności, aby wdrożenie zostało pomyślnie ukończone i spełnić wymagania zależności elementów modułu OLAP. Poniższe dwie listy ilustrują sekwencję wdrażania odpowiednio elementów SystemCenterCube i CubeExtension:

  1. Elementy elementu DataSourceView
  2. elementy wymiaru
  3. element wymiaru daty
  4. element sześcienny
  5. Elementy elementu DataSourceView
  6. element sześcienny

Przetwarzanie modułu OLAP programu Service Manager

Gdy moduł przetwarzania analitycznego online (OLAP) został wdrożony i wszystkie jego partycje zostały utworzone, jest gotowy do przetworzenia, aby można było go wyświetlić. Przetwarzanie kostki jest ostatnim krokiem po uruchomieniu operacji wyodrębniania, przekształcania i ładowania (ETL). Te kroki są wykonywane w następujący sposób:

  1. Wyodrębnianie: wyodrębnianie danych z systemu źródłowego
  2. Przekształcanie: stosowanie funkcji w celu zachowania zgodności danych ze standardowym schematem wymiarowym
  3. Ładowanie: ładowanie danych do składnic danych na potrzeby użycia
  4. Proces: ładowanie danych ze składnic danych do modułu OLAP na potrzeby przeglądania

Przetwarzanie modułu OLAP odbywa się, gdy są obliczane wszystkie agregacje modułu, a moduł jest ładowany z tymi agregacjami i danymi. Tabele wymiarów i faktów są odczytywane, a dane są obliczane i ładowane do modułu. Podczas projektowania modułu OLAP przetwarzanie musi być starannie przemyślane ze względu na potencjalnie znaczący wpływ, który może mieć przetwarzanie w środowisku produkcyjnym, w którym mogą istnieć miliony rekordów. Pełny proces wszystkich partycji w takim środowisku może potrwać od kilku dni do kilku tygodni, co może spowodować, że infrastruktura programu Service Manager i moduły będą bezużyteczne dla użytkowników końcowych. Jednym z zaleceń jest wyłączenie harmonogramu przetwarzania wszystkich modułów, które nie są używane w celu zmniejszenia obciążenia w systemie.

Przetwarzanie kostki OLAP składa się z dwóch oddzielnych zadań:

  1. Przetwarzanie wymiarów
  2. Przetwarzanie partycji

Każdy moduł OLAP ma odpowiednie zadanie przetwarzania w konsoli programu Service Manager i jest uruchamiany zgodnie z harmonogramem konfigurowalnym przez użytkownika. Każdy typ zadania przetwarzania jest opisany w poniższych sekcjach.

Przetwarzanie wymiarów

Za każdym razem, gdy nowy wymiar zostanie dodany do bazy danych programu SQL Server Analysis Server (SSAS), należy uruchomić pełny proces w wymiarze, aby przywrócić go do w pełni przetworzonego stanu. Po przetworzeniu wymiaru nie ma jednak gwarancji, że zostanie on przetworzony ponownie po przetworzeniu innego modułu, który jest przeznaczony dla tego samego wymiaru. Nieprzetwarzanie automatyczne wymiaru zapobiega ponownemu przetwarzaniu każdego wymiaru przez program Service Manager dla każdej kostki. Jest to szczególnie istotne, jeśli wymiar został ostatnio przetworzony, ponieważ jest mało prawdopodobne, że nowe dane istnieją, które nie zostały jeszcze przetworzone. Aby zoptymalizować wydajność przetwarzania, istnieje pojedyncza klasa zdefiniowana w pakiecie administracyjnym Microsoft.SystemCenter.Datawarehouse.OLAP.Base o nazwie Microsoft.SystemCenter.Warehouse.Dimension.ProcessingInterval. Poniżej przedstawiono przykład tej klasy:

<!-- This singleton class defines the minimum interval of time in minutes that must elapse before a shared dimension is reprocessed. -->   
<ClassType ID="Microsoft.SystemCenter.Warehouse.Dimension.ProcessingInterval" Accessibility="Public" Abstract="false" Base="AdminItem!System.AdminItem" Singleton="true">  
<Property ID="IntervalInMinutes" Type="int" Required="true" DefaultValue="60"/>  
</ClassType>  

Ta pojedyncza klasa zawiera właściwość IntervalInMinutes, która opisuje, jak często przetwarzać wymiar. Domyślnie ta właściwość jest ustawiona na 60 minut. Jeśli na przykład wymiar został przetworzony o godzinie 15:05, a inny moduł przeznaczony dla tego samego wymiaru jest przetwarzany o godzinie 15:45, wymiar nie zostanie ponownie przetworzony. Jedną wadą tego podejścia jest zwiększone prawdopodobieństwo błędów klucza wymiarowego. Mechanizm ponawiania prób obsługuje błędy klucza wymiaru w celu ponownego przetworzenia wymiaru, a następnie partycji modułu. Aby uzyskać więcej informacji na temat błędów przetwarzania, zobacz sekcję "Typowe problemy z debugowaniem i rozwiązywaniem problemów".

Po pełnym przetworzeniu wymiaru wykonywane jest przetwarzanie przyrostowe za pomocą procesu ProcessUpdate . Jedynym czasem wykonywania metody ProcessFull jest zmiana schematu wymiaru, ponieważ powoduje to zwrócenie wymiaru do stanu nieprzetworzonego. Należy pamiętać, że jeśli procesFull jest wykonywany na wymiarze, wszystkie objęte moduły i ich partycje będą istnieć w stanie nieprzetworzonych i będą musiały zostać w pełni przetworzone podczas następnego zaplanowanego uruchomienia.

Przetwarzanie partycji

Przetwarzanie partycji musi być dokładnie przemyślane, ponieważ ponowne przetwarzanie dużej partycji jest powolne i zużywa wiele zasobów procesora CPU na serwerze, który hostuje usługę SSAS. Przetwarzanie partycji zwykle trwa dłużej niż przetwarzanie wymiarów. W przeciwieństwie do przetwarzania wymiarów przetwarzanie partycji nie ma skutków ubocznych dla innych obiektów. Jedynymi typami przetwarzania wykonywanymi w module OLAP programu System Center — Service Manager są ProcessFull i ProcessAdd.

Podobnie jak w przypadku wymiarów, tworzenie nowych partycji w kostce OLAP wymaga zadania ProcessFull, aby partycja była w stanie, w którym można wykonywać zapytania. Ponieważ zadanie ProcessFull jest kosztowną operacją, należy wykonać zadanie ProcessFull tylko wtedy, gdy jest to konieczne; na przykład podczas tworzenia partycji lub aktualizowania wiersza. W scenariuszach, w których dodano wiersze i nie zaktualizowano wierszy, program Service Manager może wykonać zadanie ProcessAdd. W tym celu program Service Manager używa znaków wodnych i innych metadanych. W szczególności tabele etl.cubepartition i etl.tablepartition są odpytywane w celu określenia, jakie przetwarzanie należy wykonać.

Na poniższym diagramie pokazano, jak program Service Manager określa, jakiego typu przetwarzanie ma być wykonywane na podstawie danych limitu.

Diagram przetwarzania sześcianu.

Po wykonaniu zadania ProcessAdd program Service Manager ogranicza zakres zapytania przy użyciu znaczników. Jeśli na przykład wartość InsertedBatchId wynosi 100, a wartość WatermarkBatchId wynosi 50, zapytanie ładuje dane tylko ze składnic danych, gdzie wartość InsertedBatchId jest większa niż 50 i mniejsza niż 100.

Na koniec należy pamiętać, że program Service Manager nie obsługuje ręcznego przetwarzania modułów OLAP przy użyciu usług SSAS lub Business Intelligence Development Studio. Przetwarzanie kostek poza metodami dostępnymi w programie System Center – Service Manager, w tym konsoli programu Service Manager i poleceń cmdlet programu Service Manager, nie spowoduje zaktualizowania tabel znaków wodnych. W związku z tym możliwe, że mogą wystąpić problemy z integralnością danych. Jeśli przypadkowo przetworzyłeś kostkę ręcznie, jednym z możliwych obejść jest ręczne odprzetworzenie kostki OLAP w taki sam sposób. Następnie przy następnym przetwarzaniu modułu przez Service Manager, program automatycznie wykona ProcessFull, ponieważ partycje będą w stanie nieprzetworzonym. Spowoduje to poprawne zaktualizowanie wszystkich znaków wodnych i metadanych, tak aby wszelkie możliwe problemy z integralnością danych zostały rozwiązane.

Obsługa modułów OLAP programu Service Manager

W poniższych sekcjach opisano najlepsze rozwiązania dotyczące konserwacji modułów przetwarzania analitycznego online (OLAP).

Okresowe ponowne przetwarzanie wymiarów usług Analysis Services

Najlepsze praktyki dotyczące SQL Server Analysis Services (SSAS) zalecają okresowe pełne przetwarzanie wymiarów SSAS. Pełne przetwarzanie wymiarów odbudowuje indeksy i optymalizuje magazyn danych wielowymiarowych, co zwiększa wydajność zapytań i kostek, które mogą ulec pogorszeniu w czasie. Jest to podobne do okresowego defragmentowania dysku twardego na komputerze.

Jednak wadą pełnego przetwarzania wymiaru usług SSAS jest to, że wszystkie moduły OLAP, których dotyczy problem, stają się nieprzetworzone i muszą być również w pełni przetworzone, aby przywrócić je do stanu, w którym można je wykonać. Program Service Manager nie jawnie przetwarza w pełni wymiarów usług SSAS. W związku z tym należy zdecydować, kiedy wykonać to zadanie konserwacji.

Zagadnienia dotyczące pamięci

W przypadku uruchamiania wszystkich operacji wyodrębniania, przekształcania i ładowania (ETL) magazynu danych oraz funkcji modułu OLAP na jednym serwerze należy dokładnie rozważyć potrzeby systemu operacyjnego, magazynu danych i usług SSAS, aby upewnić się, że serwer może obsługiwać wszystkie operacje intensywnie korzystające z danych, które mogą być uruchamiane współbieżnie. Jest to szczególnie ważne, ponieważ przetwarzanie modułów OLAP jest operacją intensywnie korzystającą z pamięci.

Następne kroki