Analiza na dokładkę

Funkcje Business Intelligence - m.in. transformacje danych, analizy wielowymiarowe i zaawansowane raportowanie - są integralną częścią serwera baz danych SQL Server 2005.

Funkcje Business Intelligence - m.in. transformacje danych, analizy wielowymiarowe i zaawansowane raportowanie - są integralną częścią serwera baz danych SQL Server 2005.

Nowa wersja serwera baz danych Microsoftu SQL Server 2005 wprowadza bardzo dużo zmian - nieporównywalnie więcej niż przy przejściu pomiędzy poprzednimi wersjami. Trudno jest znaleźć obszar funkcjonalny, którego nie dotknęły poważne zmiany, jednak najwięcej modyfikacji pojawia się w obszarach związanych z Business Intelligence - zarówno w obszarze analizy biznesowej i raportowania, jak i samej struktury motoru relacyjnego, który w wielu aspektach został rozbudowany o mechanizmy "wspierające" analizę.

W SQL 2005 wprowadzonych zostało kilka mechanizmów pozwalających na efektywną budowę dużych hurtowni danych. Mechanizm mirroringu i migawkowych kopii bazy danych pozwala łatwo zdefiniować serwer raportowy, za pomocą którego wykonywane są wyłącznie operacje odczytu. Z kolei poziome partycjonowanie tabel pozwala zdefiniować grupy rekordów na oddzielnych dyskach czy macierzach, co przyspiesza proces zasilania i szybkiego usuwania danych.

Dużo zmian związanych z analizą biznesową wprowadzonych zostało także w języku TSQL. Obsługiwane są wyrażenia z SQL-99 OLAP Extension. Dostępny jest operator PIVOT przypominający znany z Access mechanizm TRANSFORM. Przekształca on zbiór wierszy w zbiór kolumn (czynność odwrotną wykonuje operator UNPIVOT). W ten sposób znacznie uproszczone jest tworzenie rozwiązań, w których liczba kolumn nie jest z góry znana (tak jest w wielu otwartych schematach bazodanowych, w których to użytkownicy decydują o atrybutach. Jest to pewna alternatywa do prostych raportów opartych na kostkach OLAP.

Nowe funkcje RANK/DENSE_RANK oraz ROW_NUMBER pozwalają numerować rekordy w zadanym podzbiorze z uwzględnieniem (lub nie) sortowania. Operator NTILE potrafi podzielić zbiór na określoną liczbę grup, co przydaje się przy np. prostym partycjonowaniu. Dużo możliwości wiąże się także z tzw. wyrażeniami CTE (Common Table Expression) - mechanizmem, który pozwala zadawać rekurencyjne zapytania do zbiorów. W wielu przypadkach nie jest konieczne stosowanie skomplikowanych operacji na kursorach. Dzięki nowemu typowi kolumny do przechowywania danych w postaci XML łatwo można "dokleić" do wiersza informacje hierarchiczne. Uwzględniając mechanizm zapytań XQuery w jednym wyrażeniu wysyłanym do SQL Server 2005 można połączyć zapytania hierarchiczne, MDX (OLAP), SQL oraz DMX (modele eksploracji danych).

Specjalizacja u podstawy

W SQL Server 2005 Microsoft wyraźnie rozdzielił role "administratora" i "analityka". Enterprise Manager w SQL Server 2000 pozwalał na tworzenie kostek OLAP czy pakietów DTS bezpośrednio na serwerze bazodanowym, tymczasem w SQL 2005 środowisko projektanta zostało oparte na narzędziach Visual Studio .Net 2005, w których do tego celu dostępne są dodatkowe typy projektów. Administrator posługuje się oddzielnym interfejsem.

Gdy analityk utworzy np. Analysis Services Project w IDE, ma do dyspozycji specjalne środowisko, w którym definiuje źródła, widoki, metadane i kostkę OLAP. Podobnie jest z Integration Services. Taki projekt w Visual Studio może być uruchomiony niezależnie od serwera analitycznego - działa w specjalnym trybie, w którym można śledzić krok po kroku wykonanie pakietu, podglądając zmienne, stan danych itp. Gdy testy zakończą się powodzeniem, projekt można wgrać na serwer docelowy jednym kliknięciem.

Warto dodać, że nowe środowisko IDE zawiera gotowe wzorce pokazujące jak wygląda struktura standardowych rozwiązań typu Business Intelligence. Dostępne są wzorce dla kostek, KPI, nazwanych zestawów danych, akcji itp. - praktycznie każdego elementu dostępnego w usługach analitycznych w SQL Server 2005. Wzorzec zapisany jest w postaci XML i bez problemu można stworzyć własne tego typu "podpowiedzi" - albo ręcznie, albo przy użyciu kreatora.

Wiele elementów w IDE (czy Server Workbench) jest znacznie prostszych i bardziej czytelnych niż w Enterprise Manager w SQL Server 2000. Specjalny widok Calculations View pozwala szybko zobaczyć wszystkie definicje pól wyliczeniowych wykorzystywanych w danym projekcie. Można je łatwo edytować, zmieniać przypisania itp. Z kolei Cube Wizard potrafi samodzielnie wykrywać, które elementy są tabelami faktów, a które wymiarami. W wielu przypadkach można przeanalizować (przed wykonaniem operacji), na jakie elementy wpłynie wprowadzana właśnie zmiana. Nowością jest mechanizm profilowania usług analitycznych. Dotychczas SQL Server Profiler mógł służyć do śledzenia tylko operacji wykonywanych w motorze relacyjnym - teraz obsługiwane są zdarzenia z Analysis Services.

Analizy w pełni online

W Analysis Services w SQL Server 2005 rozbudowany został mechanizm bufora (cache). Efektem tego jest niwelacja uprzednio sporej różnicy w wydajności pomiędzy kostkami MOLAP (gdzie wszystkie dane są zgromadzone w serwerze OLAP) a ROLAP (gdzie dane są pobierane z serwera relacyjnego).

Elementy wyliczone mogą być zapisywane w buforze i będą uaktualnione w razie potrzeby. Nie będą jednak musiały być każdorazowo wyliczane. Może się więc okazać, że nie ma potrzeby wyliczania wszystkich elementów w chwili zasilania kostki. Co więcej - wyliczony model można traktować jako prawie aktualny obraz danych z bazy operacyjnej. Znika konieczność "ręcznego" odświeżenia kostki.

Elementy wyliczone w kostce mogą być generowane przy użyciu skryptów MDX, które można śledzić z poziomu IDE. Także wyniki działania takich skryptów są buforowane i automatycznie aktualizowane, gdy dane bazowe ulegną zmianie. Podobnie działa mechanizm KPI (kluczowe wskaźniki wydajności). Są to takie elementy (wyliczane np. na podstawie kostki), które informują o tym, czy określone procesy biznesowe przebiegają zgodnie z założeniami. Dodatkowo KPI może sterować przebiegiem procesu w Integration Services.

Definiując strukturę kostek można niemal do każdego elementu przypisać odpowiednie tłumaczenia (np. do nazw wymiarów). Ze strony aplikacji klienckiej można wybrać preferowany "język", jaki ma być używany przy prezentacji kostki. Do samej komunikacji z serwerem analitycznym wykorzystywany jest mechanizm XML/A - czyli de facto usługi Web. Inne interfejsy (jak ADOMD. OLEDB/MD) wykorzystują "pod spodem" XML/A.

Dalsza część artykułu, która omawia zawarte w SQL Server 2005 narzędzia do drążenia danych i raportowania oraz ETL znajduje się pod adresem:https://www.computerworld.pl/analiza

Swoboda modelowania

W SQL Server 2005 analizy nie muszą już opierać się na kostkach bazujących na jednej tabeli faktów - teraz kostka może zawierać dowolny układ elementów (nie jest ograniczona do układu gwiazdy/płatka śniegu). W przypadku dużych kostek można określić niedozwolone (bądź bezsensowne) połączenia wymiarów lub wymiary tzw. "quasi-addytywne", aby np. łatwo zdefiniować plan kont i "automatycznie" pogrupować i zsumować pozycje fakturowe.

Sposób tworzenia hierarchii wymiaru może też być zależny od atrybutu lub ich grupy. Wymiary mogą też mieć kilka zestawów hierarchii, np. różny poziom szczegółowości kalendarza. Można też zdefiniować relację typu "wiele do wielu" między tabelą faktów a wymiarem. W ten sposób pojedynczy wymiar czasu może połączyć wiele różnych danych znajdujących się w tabeli faktów. Można tworzyć też wymiary referencyjne, w których grupa miar połączona jest z innymi wymiarami.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200