Microsoft Analysis Services od lat stanowi fundament analityki korporacyjnej w ekosystemie SQL Server. Gdy przychodzi moment wyboru między modelem tabularnym a wielowymiarowym (Multidimensional), działy IT stają przed decyzją o dalekosiężnych konsekwencjach — architektonicznych, wydajnościowych i kosztowych. Rok 2026 przyniósł wyraźne przesunięcie akcentów. Multidimensional, choć wciąż wspierany, znalazł się w trybie konserwacyjnym. Tabular — napędzany silnikiem VertiPaq — przejął palmę pierwszeństwa i stał się domyślną rekomendacją dla nowych wdrożeń. Poniższy przewodnik porównuje oba podejścia w kluczowych wymiarach: architektury, wydajności, języka zapytań, zarządzania, bezpieczeństwa i ścieżki migracji do chmury.
Architektura przechowywania danych — MOLAP kontra VertiPaq
Model wielowymiarowy opiera się na sprawdzonej, lecz dojrzałej architekturze MOLAP (Multidimensional OLAP). Kostki przechowują dane w postaci zagregowanych, wielowymiarowych struktur plikowych bezpośrednio na dysku instancji SSAS. Każdy wymiar, hierarchia i miara istnieją jako odrębna jednostka fizyczna. Daje to przewidywalną wydajność odczytu dla zapytań typu slice-and-dice, ale jednocześnie wymusza kosztowne procesy przetwarzania (processing) — pełne lub przyrostowe — które przy dużych kostkach mogą trwać godziny i blokować dostęp do danych.
Model tabularny od wersji SQL Server 2012 korzysta z silnika VertiPaq — kolumnowej, kompresyjnej bazy danych w pamięci. Dane z tabel faktów i wymiarów są kompresowane algorytmem opartym na kodowaniu wartości oraz kodowaniu słownikowym, a następnie przechowywane w pamięci RAM serwera. Kompresja sięga typowo 10–15 razy względem oryginalnego rozmiaru źródła relacyjnego, co pozwala zmieścić miliardowe zbiory w pamięci operacyjnej. Przetwarzanie tabularne jest zwykle szybsze niż w kostce — nie wymaga budowania struktur agregacyjnych na dysku, a operacja Process Full lub Process Data odczytuje dane bezpośrednio z widoków SQL i ładuje je do pamięci.
W 2026 roku dominuje tryb Import, ale DirectQuery zyskał na dojrzałości. W DirectQuery zapytania DAX są tłumaczone na zapytania SQL wykonywane bezpośrednio na źródle relacyjnym — przydatne przy danych zmieniających się w czasie rzeczywistym lub zbyt dużych na RAM. Hybrydowe Composite Models, dostępne od SQL Server 2022 i dojrzałe w Power BI Premium, łączą tabele Import z DirectQuery w jednym modelu, co w Multidimensional nie ma bezpośredniego odpowiednika.
Język zapytań — MDX kontra DAX
Multidimensional komunikuje się wyłącznie przez MDX (Multidimensional Expressions). MDX został zaprojektowany jako język nawigacyjny po wymiarach — zapytania odwołują się do osi (COLUMNS, ROWS), krotek, zbiorów i hierarchii. Jego składnia, choć potężna w rękach doświadczonych analityków, ma stromą krzywą uczenia się. Typowe zapytanie MDX wymaga jawnego definiowania przekrojów (slicerów) i potrafi być rozwlekłe.
W modelu tabularnym językiem natywnym jest DAX (Data Analysis Expressions). DAX wywodzi się z formuł Excela, co znacząco obniża próg wejścia dla analityków biznesowych. Funkcje takie jak CALCULATE, FILTER, SUMX czy RANKX dają elastyczność analityczną przy zwięzłej składni. Kluczową przewagą DAX nad MDX jest kontekst wiersza i kontekst filtru — koncepcje paradoksalnie trudniejsze do opanowania na poziomie zaawansowanym, ale oferujące nieporównywalną elastyczność przy miarach dynamicznych, takich jak analiza year-to-date, semi-addytywne sumy zapasów czy zaawansowana analityka koszykowa.
Od Power BI po Excel, DAX stał się lingua franca analityki Microsoftu w 2026 roku. Co więcej, narzędzia takie jak Tabular Editor 3 (komercyjny) i opensource'owy DAX Studio 3.x oferują zaawansowane debugowanie, skrypty automatyzacji (C# Script) i możliwość pracy zespołowej z modelem przez format BIM (JSON). MDX, choć wciąż działa w kostkach, nie otrzymuje już nowych funkcji od ponad pięciu lat.
Wydajność zapytań — preagregacja czy kompresja?
Wielowymiarowe kostki osiągają szybki czas odpowiedzi dzięki preagregacjom. Podczas projektowania kostki definiuje się agregacje — podsumowania na przecięciach wymiarów — które odpowiadają na zdecydowaną większość zapytań bez potrzeby skanowania danych źródłowych. Agregacje budowane są w trakcie procesu przetwarzania i przechowywane w strukturach MOLAP. Wadą jest eksplozja ich liczby: przy 10 wymiarach i 4 poziomach na każdy, liczba kombinacji rośnie wykładniczo. Agregacje oparte na użyciu (Usage-Based Optimization) pomagają, ale wymagają ciągłego strojenia.
VertiPaq w modelu tabularnym działa inaczej: zamiast budować agregacje, kompresuje i indeksuje każdą kolumnę osobno, a następnie wykonuje skanowanie w pamięci z prędkością miliardów wartości na sekundę. Skanowanie to jest jednak wysoce zoptymalizowane — silnik wykorzystuje statystyki kolumnowe, hierarchię wartości (value encoding) oraz eliminację segmentów na podstawie filtrów. W praktyce, dla zapytań analitycznych obejmujących wiele wymiarów, tabularny VertiPaq w trybie Import dorównuje, a często przewyższa kostkę MOLAP — szczególnie gdy w Multidimensional zabraknie odpowiednich agregacji.
Słabością modelu tabularnego pozostaje DirectQuery na dużych zbiorach bez odpowiednich indeksów columnstore w źródle. Tu kostka MOLAP, z preagregacjami niezależnymi od źródła, może okazać się szybsza. Jednak w scenariuszach 2026 roku takie przypadki rozwiązuje się przez Composite Models — warstwę Import dla danych historycznych z DirectQuery dla najnowszych transakcji.
Bezpieczeństwo — role i dynamiczne maskowanie
Oba modele oferują mechanizm ról bezpieczeństwa definiowanych na poziomie serwera SSAS, a od SQL Server 2016 również na poziomie wiersza (Row-Level Security, RLS). W Multidimensional bezpieczeństwo wymiarowe (Dimension Security) pozwala ograniczać dostęp do konkretnych członków hierarchii — np. menedżer widzi tylko swój region i podległe mu kraje. Bezpieczeństwo komórki (Cell Security) umożliwia ukrywanie wartości konkretnych miar dla wybranych użytkowników. Konfiguracja odbywa się przez MDX lub XMLA.
W modelu tabularnym RLS realizuje się przez filtry DAX. Filtr w roli może odwoływać się do tabel z uprawnieniami oraz dynamicznie pobierać nazwę użytkownika przez USERNAME() lub CUSTOMDATA(). Jest to podejście bardziej elastyczne — umożliwia np. filtrowanie według wielu atrybutów jednocześnie, także tych nietworzących tradycyjnych hierarchii. Bezpieczeństwo na poziomie obiektów (Object-Level Security, OLS) ukrywa całe tabele lub kolumny przed wybranymi rolami — wprowadzone w Power BI Premium, obsługiwane od SSAS 2022.
W 2026 roku powszechną praktyką jest łączenie RLS w modelu danym z Entra ID (dawniej Azure Active Directory). Tabular, przez integrację z Power BI Service, umożliwia automatyczne dziedziczenie grup zabezpieczeń Entra ID, co eliminuje konieczność zarządzania użytkownikami bezpośrednio w rolach SSAS. Multidimensional wymaga tu ręcznego mapowania użytkowników Windows lub własnej logiki w warstwie aplikacyjnej.
Zarządzanie i narzędzia programistyczne
Projektowanie kostki wielowymiarowej wymaga SQL Server Data Tools (SSDT) — rozszerzenia Visual Studio — lub jego następcy w Visual Studio 2022 z odpowiednim workloadem. Deweloper definiuje źródła danych (Data Source View), kostki, wymiary, miary, hierarchie, akcje, perspektywy i translacje w kreatorach i edytorach graficznych. Kod źródłowy kostki przechowywany jest w formacie XML (pliki .cube, .dim, .dsv). Zarządzanie wersjami — ze względu na rozproszenie definicji między wiele plików XML — bywa uciążliwe.
Model tabularny od wersji SQL Server 2016 (SSAS Tabular 1200) używa formatu JSON (BIM) jako pojedynczego pliku źródłowego. Zmiana ta wprowadziła zgodność z narzędziem Tabular Model Scripting Language (TMSL) — następcą XMLA w wariancie JSON — które umożliwia tworzenie, zmianę i przetwarzanie modeli za pomocą skryptów. Plik .bim można edytować w Visual Studio, SSDT, a od 2020 roku także bezpośrednio w Tabular Editor — lekkim narzędziu, które stało się de facto standardem branżowym.
W 2026 Tabular Editor 3 (wersja komercyjna) oferuje debugowanie zapytań DAX krok po kroku, analizę zależności między miarami, zaawansowane refaktoryzacje, makra C# oraz integrację z repozytoriami Git przez Azure DevOps i GitHub. Cały cykl życia modelu — od developmentu, przez CI/CD (DevOps pipelines), po publikację w serwisie Power BI — można zautomatyzować. Dla Multidimensional równie zaawansowana automatyzacja nie istnieje; zmiany w kostkach wdraża się głównie ręcznie lub przez XMLA.
Proces przetwarzania i odświeżanie danych
W Multidimensional przetwarzanie kostki (Process Full / Process Incremental) jest operacją zasobochłonną. Przy pełnym przetwarzaniu SSAS odczytuje dane ze źródła, buduje struktury wymiarów, a następnie oblicza agregacje. W dużych kostkach (rzędu setek GB) może to wymagać okna serwisowego — dane są niedostępne do momentu zakończenia procesu. Process Update pozwala odświeżyć dane bez przebudowy struktur, ale nie dodaje nowych członków wymiarów. Przyrostowe przetwarzanie partycji (Process Add) wymaga ręcznego definiowania zakresów danych.
Model tabularny w trybie Import również wymaga przetwarzania, ale architektura VertiPaq jest tu łaskawsza. Process Data ładuje dane do pamięci bez ponownego obliczania hierarchii i relacji (te są odświeżane osobno przez Process Recalc). Partycje tabularne pozwalają na podział tabel faktów na mniejsze fragmenty (np. po miesiącach) i niezależne przetwarzanie tylko ostatniej partycji — znacząco skracając okno odświeżania. Od Power BI Premium i SSAS 2022 odświeżanie automatyczne (Scheduled Refresh) z poziomu portalu i API REST zastępuje joby SQL Agent używane przy kostkach.
Dodatkowo, Tabular oferuje przetwarzanie za pomocą pipeline'ów XMLA w Power BI Premium i Azure Analysis Services. Umożliwia to wykonywanie operacji Create, Alter, Delete oraz Refresh przez punkty końcowe HTTPS — co jest istotnym ułatwieniem w środowiskach bez bezpośredniego dostępu RDP do serwera.
Migracja do chmury i przyszłość obu technologii
Wielowymiarowy SSAS jest technologią on-premises. Microsoft nie udostępnił natywnego hostingu kostek Multidimensional w chmurze Azure — ani przez Azure Analysis Services, ani przez Power BI Premium. Istniejąca oferta Azure Analysis Services, publicznie dostępna do 2023 roku, wspierała wyłącznie modele tabularne. Obecnie, od 2025 roku, nowe zasoby Azure Analysis Services nie mogą być już tworzone — Microsoft przekierowuje klientów do Power BI Premium i Microsoft Fabric, które również bazują wyłącznie na modelach tabularnych.
Brak ścieżki do chmury dla kostek wielowymiarowych to w 2026 roku najpoważniejszy argument za migracją do Tabular. Organizacje utrzymujące infrastrukturę on-premises mogą nadal korzystać z Multidimensional na SQL Server 2022 (wsparcie mainstream do października 2028), ale wszelkie inicjatywy analityczne w chmurze wymagają modeli tabularnych. Aby wypełnić tę lukę, Microsoft opublikował narzędzie SSAS Migration Assistant, które analizuje kostkę MDX i generuje szkielet modelu tabularnego z mapowaniem miar i wymiarów.
Migracja nie jest jednak bezproblemowa: miary obliczane MDX muszą zostać przepisane na DAX, hierarchie rodzic-dziecko wymagają specjalnych wzorców (funkcje PATH, PATHITEM), a akcje typu Drillthrough trzeba zastąpić stronami szczegółów w raportach Power BI. Organizacje decydujące się na migrację zwykle realizują ją etapami — przenosząc poszczególne obszary biznesowe stopniowo, równolegle utrzymując stare kostki.
Analiza kosztów — licencjonowanie i infrastruktura
SQL Server Analysis Services w trybie Multidimensional wymaga licencji SQL Server Enterprise Edition lub wyspecjalizowanej licencji Business Intelligence (Server + CAL). Roczne koszty utrzymania (Software Assurance) dla Enterprise Edition są znaczące — szczególnie przy klastrach wysokiej dostępności i katastroficznego odzyskiwania (HA/DR).
Model tabularny dostępny jest na tych samych zasadach licencyjnych, ale — i to kluczowa różnica — może być wdrożony w ramach Power BI Premium na użytkownika (Premium Per User, PPU) lub pojemności Premium (Premium Capacity). PPU kosztuje około 20 USD za użytkownika miesięcznie i oferuje pełną funkcjonalność modelu tabularnego, włącznie z odświeżaniem, RLS i XMLA endpoints. Organizacje posiadające już licencje Office 365 E5 mogą uznać to za marginalny koszt dodatkowy.
Infrastrukturalnie, Multidimensional faworyzuje serwery z szybkim dyskiem lokalnym (NVMe/SSD) i wielordzeniowymi procesorami — processing kostki mocno obciąża I/O dyskowe. Tabular jest przede wszystkim głodny RAM — model VertiPaq, po kompresji, wymaga pamięci operacyjnej proporcjonalnej do rozmiaru danych, z marginesem minimum 30–50% na operacje zapytań. W 2026 roku standardem są maszyny wirtualne Azure z serii E (Ebsv5) lub M (Msv2) z 512–1024 GB RAM, które bez trudu mieszczą wieloterabajtowe modele.
Kiedy Multidimensional ma jeszcze sens?
Mimo wyraźnego trendu na korzyść Tabular, istnieją niszowe scenariusze, gdzie Multidimensional zachowuje przewagę:
- Hierarchie parent-child — w modelu tabularnym wymagają ręcznej denormalizacji (funkcje
PATH), podczas gdy w MDX są natywne i zoptymalizowane. - Semi-addytywne miary (np. zapasy na koniec okresu, saldo konta) — Multidimensional obsługuje je przez typy miar LastNonEmpty, ByAccount itp. automatycznie. W DAX wymagają pisania wyrażeń
LASTDATE/LASTNONBLANK, co przy wielu miarach i hierarchiach bywa podatne na błędy. - Writeback komórek — scenariusz do planowania budżetu, gdzie użytkownicy zapisują wartości bezpośrednio w kostce. Tabular nie wspiera natywnego writebacku; obejścia wymagają oddzielnych tabel zapisu i logiki w warstwie raportowej.
- Duże, stabilne aplikacje legacy — organizacje, które zainwestowały setki tysięcy złotych w raporty MDX, arkusze Excel z zapytaniami kostkowymi i integracje z systemami trzecimi, mogą słusznie odraczać migrację do końca wsparcia SQL Server 2022.
W każdym innym przypadku — a więc dla przytłaczającej większości nowych projektów i modernizacji — model tabularny jest wyborem racjonalnym i zgodnym z kierunkiem rozwoju platformy Microsoft.
Narzędzia klienckie i ekosystem analityczny
Multidimensional komunikuje się ze światem zewnętrznym przez dostawcę MSOLAP (OLE DB for OLAP). Excel, Tableau, Qlik i inne narzędzia BI łączą się z kostką, wysyłając zapytania MDX. Excel 2024 i Microsoft 365 nadal obsługują kostki, ale rozwój funkcji — takich jak dynamiczne macierze czy Power Query — koncentruje się na źródłach relacyjnych i modelach Power BI.
Tabular używa dostawcy MSOLAP w trybie tabularnym do połączeń z Power BI Desktop, ale natywnym standardem stał się protokół XMLA Over HTTP. Umożliwia to bezpośrednie łączenie narzędzi takich jak DAX Studio, Tabular Editor, ALM Toolkit czy nawet prostych skryptów PowerShell z modelem — bez potrzeby instalowania sterowników OLE DB.
W 2026 roku analitycy biznesowi korzystają najczęściej z Power BI jako warstwy raportowej, ale Excel pozostaje kluczowym klientem. Połączenie Excela z modelem tabularnym przez Power BI Service (lub bezpośrednio z SSAS) udostępnia tabele przestawne bez potrzeby definiowania kostki — użytkownik widzi po prostu tabele i miary ze zdefiniowaną nazwą biznesową. To diametralnie upraszcza samoobsługę analityczną w porównaniu z Excelem połączonym z kostką MDX, gdzie użytkownik musi rozumieć pojęcia wymiarów, hierarchii i miar w terminologii OLAP.
Częste pytania
Czy SQL Server 2026 będzie jeszcze wspierał Multidimensional?
Tak, SQL Server 2022 (ostatnia wydana wersja w momencie pisania, w pełni wspierana) zawiera SSAS Multidimensional. Microsoft nie ogłosił daty zakończenia wsparcia dla tego komponentu, ale nie rozwija już nowych funkcji — tryb jest wyłącznie konserwacyjny. Nowe inwestycje w Multidimensional należy traktować jako ryzyko technologiczne.
Czy DAX jest trudniejszy od MDX?
DAX ma łagodniejszy początek (przypomina formuły Excela), ale zaawansowana analityka — kontekst filtru, iteratory, tabele wirtualne — wymaga zrozumienia koncepcji, które w MDX nie występują. Dla analityka z doświadczeniem w MDX istnieje krzywa przejścia, ale dostępność narzędzi edukacyjnych i debugerów w 2026 roku czyni ją łatwiejszą niż pięć lat temu.
Czy mogę uruchomić kostkę Multidimensional w chmurze Azure?
Nie natywnie. Azure nie oferuje hostingu SSAS Multidimensional. Można uruchomić SQL Server na maszynie wirtualnej Azure (IaaS) z zainstalowanym SSAS, ale nie jest to usługa zarządzana (PaaS). Power BI Premium i Microsoft Fabric wspierają wyłącznie modele tabularne.
Ile RAM potrzebuje model tabularny?
Szacunkowo: rozmiar źródła danych × współczynnik kompresji (0,05–0,15) × margines 1,3–1,5 na operacje. Dla miliarda wierszy tabeli faktów z 20 kolumnami liczbowymi i tekstowymi można spodziewać się 20–40 GB RAM po kompresji, plus zapas na zapytania — razem około 64 GB. Im więcej unikalnych wartości w kolumnach tekstowych (wysoka kardynalność), tym gorsza kompresja.
Czy partycje tabularne działają tak samo jak w kostce?
Koncepcja partycjonowania jest podobna — dzielenie tabeli na fragmenty według zakresu (np. daty) — ale implementacja różni się. W Multidimensional partycje są elementem kostki, przetwarzanym sekwencyjnie lub równolegle. W Tabular partycje to obiekty TMSL w ramach tabeli, które można przetwarzać niezależnie i — od SQL Server 2022 — współbieżnie, co skraca całkowity czas odświeżania.
Jak przenieść istniejącą kostkę do Tabular?
Microsoft udostępnia SSAS Migration Assistant (bezpłatne narzędzie CLI), które analizuje strukturę kostki i generuje model tabularny w formacie BIM. Narzędzie nie tłumaczy automatycznie wyrażeń MDX na DAX — robi to częściowo dla prostych miar — ale mapuje tabele, kolumny, hierarchie i relacje. Pozostałą pracę (przepisanie miar, testy wydajności) należy wykonać ręcznie. Jeśli szukasz gotowych rozwiązań przyspieszających migrację danych między różnymi środowiskami bazodanowymi, warto sprawdzić ofertę narzędzi dostępnych w serwisie KluczeSoft.
Czy Power BI zastępuje SSAS?
Power BI zawiera wbudowany silnik Analysis Services Tabular — każdy raport Power BI Desktop ma swój lokalny model, a w Power BI Service modele działają jako współdzielone zestawy danych (shared datasets). Dla małych i średnich wdrożeń Power BI faktycznie zastępuje SSAS. Dla dużych korporacji SSAS wciąż oferuje lepszą kontrolę nad infrastrukturą, połączeniami sieciowymi i skalowaniem pionowym (scale-up zamiast scale-out).
Jak wygląda HA/DR dla obu modeli?
Multidimensional obsługuje klastry failover (Always On) i synchronizację kostek między instancjami przez XMLA. Tabular w scenariuszu on-premises korzysta z Windows Server Failover Cluster (WSFC), a w Azure z Azure Site Recovery i georeplikacji. Power BI Premium oferuje wbudowane przełączanie awaryjne (failover) między węzłami w ramach pojemności i geograficzne odzyskiwanie danych (BCDR).
Który model jest szybszy przy zapytaniach ad-hoc?
Przy odpowiednio zaprojektowanych agregacjach, Multidimensional radzi sobie bardzo dobrze z powtarzalnymi zapytaniami o sumy i średnie wzdłuż hierarchii. Tabular z VertiPaq błyszczy tam, gdzie agregacje nie zostały przewidziane — przy ad-hoc, kiedy użytkownik zadaje pytanie, którego developer kostki nie przewidział. W testach porównawczych z 2025 roku, dla modeli powyżej 100 GB danych bez preagregacji, Tabular odpowiadał średnio 2–4 razy szybciej przy zapytaniach przecinających wiele wymiarów jednocześnie.
Czy mogę używać AI z modelem tabularnym?
Tak — integracja Copilot w Power BI (dostępna od 2024, rozszerzona w 2026) działa wyłącznie z modelami tabularnymi. Copilot generuje miary DAX na podstawie opisów w języku naturalnym, podpowiada optymalizacje i wykrywa anomalie. Modele Multidimensional nie są wspierane przez żadną funkcję AI w ekosystemie Microsoft.
