Analysis Services Tabular Model - młodszy brat multidimensional model  Udostępnij na: Facebook

Autor: Bartłomiej Graczyk

Opublikowano: 2012-08-31

Wprowadzenie

W artykule, poświęconym BI Semantic Model, pojawiły się informacje dotyczące nowości w silniku Analysis Services. Mowa tutaj oczywiście o udostępnionej usłudze Analysis Service w trybie Tabular. Czy młodszy brat, dobrze znanego i funkcjonalnego silnika multidimensional, wart jest uwagi? Dla kogo przeznaczone są rozwiązania wykorzystujące ten model? Czy jest to konkurencja, a może uzupełnienie możliwości, jakie daje tryb multidimensional? Odpowiedzi na większość pytań znajdują się w tym właśnie artykule.

Tabular Mode, czy to jest faktycznie nowość?

Aby przekonać się, czy Analysis Services Tabular Mode to faktycznie zupełnie nowe rozwiązanie, wystarczy spojrzeć na Rys. 1., na którym umieszczona została architektura rozwiązania PowerPivot dla Excel 2010, czy Rys. 2., przedstawiający architekturę dla rozszerzenia PowerPivot w wersji SharePoint.

PowerPivot dla Excel 2010

Rys. 1. PowerPivot dla Excel 2010.

Architektura PowerPivot dla SharePoint 2010

Rys. 2. Architektura PowerPivot dla SharePoint 2010.

Spójnym elementem architektury jest wykorzystywanie silnika VertiPaq do przetwarzania danych.  W przypadku rozszerzenia PowerPivot dla Excela jest to moduł VertiPaq Database Module, przy rozwiązaniu platformy SharePoint usługa analitycza - Analysis Services Service with VertiPaq engine.

Odsłona Analysis Services Tabular Model w SQL Server 2012 jest de facto kontynuacją używania silnika VertiPaq i wykorzystywania koncepcji przetwarzania baz danych w pamięci (In-memory database), rozszerzoną dodatkowo o możliwość realizacji zapytań bezpośrednio na źródle danych (DirectQuery) oraz pozwalającą, podobnie jak w przypadku multidimensional, na stworzenie modelu danych, który docelowo umieszczony zostanie na instancji Analysis Services Tabular Mode.

Z założenia, użycie Tabular Mode zapewnia wydajne przetwarzanie In-memory z możliwością korzystania z języka bazującego na formułach – DAX, który jest znacznie prostszy od konstrukcji zapytań MDX.

Jak widać, nowość w postaci Analysis Services Tabular Mode to rozwiązanie bardziej konfigurowalne i skalowalne, wykorzystujące znany już do tej pory silnik VertiPaq. Dodatkowo, w trybie tabular wcale nie jest konieczne wykorzystywanie danych w trybie cached – czyli „in memory”. Istnieje możliwość skorzystania z zapytań bezpośrednich, tzw. Direct Query, który poprzez transformację wykonuje zapytania TSQL bezpośrednio na źródle danych. Rys. 3. wskazuje sposób pracy każdego z trybów realizacji zapytań na instancjach SSAS Tabular Mode.

Prównanie trybu cached z Direct Query

Rys. 3. Prównanie trybu cached z Direct Query.

Warto również wspomnieć, że przygotowując model danych, dedykowany dla Tabular mode, można zadecydować, korzystając z opcji projektu, o formie przetwarzania danych. Rekonfiguracja opcji pokazana jest na Rys. 4.

Konfiguracja projektu Tabular Mode

Rys. 4. Konfiguracja projektu Tabular Mode.

Tabular Mode, czy jest to faktycznie nowość?

Tabular mode vs Mulidimensional – każdemu wg potrzeb

Postawić można zatem pytanie, czy nastąpi nagły zwrot i czy większość rozwiązań, tworzonych obecnie, powstanie w oparciu o nowy silnik Analysis Services? Odpowiedź jest dość prosta. Tabular Mode nigdy nie zastąpi w 100% silnika multidimensional, chociażby ze względu na ograniczone możliwości w zakresie funkcji, takich jak: agregacje, tłumaczenia, akcje. Szczegóły można odszukać w Tabeli 1.

  Multidimensional Tabular  
Akcje Tak Nie  
Agregacje Tak Nie  
Miary wyliczalne Tak Tak  
Biblioteki zewnętrzne Tak Nie  
Zliczanie wartości unikalnych Tak Tak (via DAX)  
Drillthrough Tak Tak  
Hierarchie Tak Tak  
KPI Tak Tak  
Relacje wiele do wielu Tak Nie  
Hierarchie nadrzędny-podrzędny Tak Tak (via DAX)  
Partycje Tak Tak  
Perspektywy Tak Tak  
Miary Semi-additive Tak Tak  
Tłumaczenia Tak Nie  
Hierarchie użytkowników Tak Tak  
Opcja „Writeback” Tak Nie  

Tabela 1. Zestawienie funkcjonalności SSAS Multidimensional vs Tabular.

Warto również dodać, że w przypadku wykorzystania najnowszych rozwiązań do wizualizacji danych – PowerView, niezbędne jest wykorzystanie właśnie modelu danych, wdrożonego na instancji Analysis Services Tabular Mode.

Oczywiście, bardzo istotnym elementem, wpływającym bezpośrednio na decyzję o wyborze rozwiązania, jest wydajność, jednakże, aby jednoznacznie określić ten aspekt należy dokładnie przetestować oba modele. Dodatkowo, elementem ułatwiającym dokonanie wyboru może być zestawienie zawarte w Tabeli 2.

  Tabular Model Multidimensional Model
Zalety
  • w większości przypadków bardziej wydajny od OLAP,
  • prostszy w rozwijaniu niż Mulidimensional,
  • technologia z potencjałem,
  • wsparcie dla PowerView.
  • technologia sprawdzona i stabilna,
  • skalowalny, dedykowany do obsługi bardzo dużych wolumenów danych,
  • duże możliwości w zakresie definicji relacji (M:N), agregacji.
Wady
  • produkt nowy, nie do końca poznany,
  • ograniczony wydajnościowo do wielkości RAM-u,
  • brak zaawansowanych elementów, charakterystycznych i dostępnych dzięki MDX.
  • nie można wykorzystać z PowerView,
  • technologia już nierozwijana,
  • większa złożoność projektów niż w Tabular Model.

Tabular model a bezpieczeństwo

Przy wszystkich rozwiązaniach jednym z kluczowych elementów jest obszar bezpieczeństwa. Trudno się tutaj dziwić – w sumie mowa jest o dostępie do danych, dostarczających bardzo często kluczowych informacji biznesowych. Dla osób znających model bezpieczeństwa rozwiązań multidimensional nie jest nowością, że cały mechanizm oparty został o role. Członkiem roli może być dowolny użytkownik lub grupa użytkowników Windows. Podobnie, jak w trybie multidimensional nie ma możliwości autentykacji w trybie innym niż Windows Authentication. Obszar zarządzania uprawnieniami jest dość prosty i intuicyjny, co sprawia, że nawet przy pierwszym jego użyciu nie ma najmniejszego problemu z konfiguracją. Twórca modelu może zdecydować o zakresie uprawnień dla tworzonej roli, wskazując predefiniowany zbór uprawnień (wybór z listy, widoczny na Rys. 5.). W przypadku definicji uprawnień, niezbędne
jest posłużenie się formułami w sposób bardziej szczegółowy (np. na poziomie wierszy).

Predefiniowane uprawnienia modelu Tabular

Rys. 5. Predefiniowane uprawnienia modelu Tabular.

Najważniejsze elementy konfiguracji i opcji bezpieczeństwa:

  • perspektywy, tabele i kolumny nie są elementami modelu bezpieczeństwa. Uprawnienia dotyczą baz danych i/lub wierszy danych,
  • brak możliwości wyświetlenia wartości wszystkich wierszy, gdy nałożono ograniczenia poprzez wskazanie pojedynczych wierszy tabeli – znana opcja Visual Totals jest zawsze włączona,
  • brak możliwości skorzystania z uprawnienia typu „Deny” – znanego z innych obszarów security, rozwiązań firmy Microsoft,
  • użytkownik z uprawnieniami do procesowania bazy danych nie może wykonać procesowania z poziomu SSMS, jedynie poprzez skrypty. Przyczyną ograniczenia możliwości procesowania przez SSMS są niewystarczające uprawnienia na poziomie metadanych bazy.

Podsumowanie

Krótkie podsumowanie to w zasadzie przegląd zalet nowego modelu:

  • rozwiązania oparte o Tabular Model są łatwiejsze i szybsze w tworzeniu niż rozwiązania multidimensional,
  • Tabular Model jest idealny dla rozwiązań typu PoC (proof-of-concept),
  • model łatwy do zmiany w przypadku rozwoju systemu lub zmiany wymagań biznesowych,
  • tworzenie nie wymaga doświadczonych programistów,
  • DAX jest o wiele prostszy w użyciu niż MDX,
  • jest na ten moment jedynym modelem wykorzystywanym przez elementy wizualizacji – PowerView.

Powyższe zestawienie pozwala stwierdzić, że nowy, młodszy brat rozwiązań multidimensional, ma bardzo duże szanse zaistnienia w projektach średnich i małych rozmiarów, gdzie potrzebne są dość proste modele danych, a potencjał technologii wskazuje kierunek rozwoju aktualnie wdrażanych rozwiązań.

Warto jednak stosować się również do zasady, że jeśli rozwiązanie multidimensional, obecnie działające, zaspakaja potrzeby użytkowników, nie warto przenosić go za wszelką cenę na tryb Tabular – może wystąpić problem z odwzorowaniem niektórych funkcjonalności. Natomiast, wszystkie nowe rozwiązania, tworzone na potrzeby użytkowników, warto przygotować w oparciu o Tabular Model – wyjątkiem są rozwiązania o złożonym modelu i logice biznesowej lub źródła danych o znaczących rozmiarach.