PowerPivot's Blog Techniczny blog na temat PowerPivot

26Oct/110

Columnstore index–nowość SQL Server 2012, czyli trochę o VertiPaq

Blog o PowerPivot, a post o Columnstore… Tak dokładnie. Takie miałem zamierzenie. PowerPivot był nowością wprowadzającą w rozwiązaniu SQL Server jako pierwsze mechanizm VertiPaq. Przy nowej edycji SQL Server 2012 – o nazwie kodowej Denali powstaje cała ścieżka rozwiązań BI bazująca lub wykorzystująca mechanizm VertiPaq:

  • Model BISM (Business Intelligence Semantic Model) w którym możemy projektować rozwiązania BI
  • PowerPivot w wersji 2 (w tym Analysis Services Integreted dla SharePoint 2010 czyli PowerPivot dla SharePoint))
  • PowerView (znany pod nazwą kodową Projekt Crescent) – nowoczesne narzędzie do wizualizacji danych (w tym danych z PowerPivot i BISM)
  • SQL Server Analysis Services Tabular Mode
  • Nowe indeksy w SQL Server 2012Columnstore Index (projekt Apollo)

Za całą pewnością właśnie te tematy będą gościć na tym blogu. Na pierwszy ogień na moim blogu biorę właśnie nowe indeksy w SQL Server 2012. Jestem pod wrażeniem tego mechanizmu i chciałem się tym podzielić z moimi czytelnikami.

Wprowadzenie do indeksów Columnstore

Dotychczasowo wszystkie dane SQL Server przechowywał na stronach wierszami, ostatnich wersjach SQL Server  2008/2008R2 umożliwiał już kompresję danych, co dawało bardzo często dobre efekty. W rozwiązaniu VertiPaq wymyślono, iż dane będą przechowywane nie wierszami, ale kolumnami Co to daje? Otóż jeżeli posiadamy miliony rekordów dotyczących np.: ceny sprzedaży, albo ilości sprzedaży można sobie wyobrazić jak często się te wartości powtarzają, ponadto należą do tego samego typu przez co można wykonać o wiele bardziej efektywną kompresję tych danych. Kolejną zaletą jest fakt, iż w danych analitycznych rzadziej pobieramy pojedyncze wiersze, a częściej wykonujemy różnego rodzaju agregaty właśnie na poszczególnych kolumnach.

Wszystkie dane silnik SQL Server umieszcza na stronach wierszami
image

w przypadku COLUMNSTORE (czyli wykorzystując mechanizm VertiPaq) dane umieszczone są kolumnami:
image

Co jeszcze daje nam taka zmiana? Po pierwsze zmniejsza nam ilość operacji I/O zarówno ze względu na wielkość danych, po drugie pobiera jedynie te kolumny, które akurat potrzebuję do danego zapytania, ale także ze względu na fakt, iż SQL Server odczytuje dane pewnym obszarami (w przypadku COLUMNSTORE mówi się segmentami) i ze względu na sposób położenia informacji SQL Server ma lepszą ilość trafień w zaczytanych danych z pewnym wyprzedzeniem, niż ma to miejsce przy odczycie zwykłych stron bazy danych.

Odczyt niezbędnych kolumn, a nie całych wierszy
image

Odczyt segmentów danych
image

Jednak to nie wszystkie zalety wykorzystywania indeksów typu COLUMNSTORE. Otóż w przypadku bardzo dużych zbiorów danych , dane przechowywane w indeks COLUMNSTORE mogą być przetwarzane w sposób wsadowy (BATCH MODE), daje to pełne wykorzystanie możliwości zrównoleglenie, gdyż każdy wsad jest niezależny od pozostałych operacji.

Ograniczenia

Struktura indeksów COLUMNSTORE ma pewne ograniczenia lub restrykcje, głównie wynikające z architektury tych indeksów:

  • Dane w indeksie COLUMNSTORE nie mogą być modyfikowane!!!
  • Nie może być w tym indeksie więcej niż 1024 kolumn
  • Indeks ten jest jedynie nie klustrowanym indeksem
  • Nie może być unikalnym
  • Nie może być zakładany na widokach ani na widokach indeksowanych
  • Nie można używać kolumn typu SPARSE
  • Nie można zmieniać definicji indeksu pryz użyciu składni ALTER INDEX (można tym poleceniem jedynie przebudować i wyłączyć indeks)
  • Nie ma takich opcji jak INCLUDE, ASC, DESC
  • Nie wspiera mechanizmu SEEK (inne zastosowanie jest tego indeksu)
  • Nie mechanizmów (kompresji – posiada własną; replikacji, CHANGE DATA CAPTURE, CHANGE TRACKING – jest tylko do odczytu; FILESTREAM)

Jak widać stosując taki indeks do hurtowni danych ograniczenia te nie są straszne. Część z nich jest wręcz oczywista ze względu na omówioną wcześniej architekturę.

Podsumowanie

Jak widać mechanizm ten jest bardzo ciekawy i daje naprawdę niesamowite rezultaty. Wykonałem już pierwsze testy na różnej ilości danych.  W kolejnych postach już niebawem na tym blogu przedstawię jak tworzyć COLUMNSTORE index, oraz omówię i przedstawię rezultaty testów jakie wykonałem.

15Sep/110

MTS2011 preConf i DENALI

Już nie długo konferencja Microsoft Technology Summit – MTS2011, na której będę miał przyjemność prowadzić sesje o nowościach dla administratorów i developerów w najnowszej wersji silnika SQL Server – DENALI . Więcej na ten temat na stronach konferencji lub na moim blogu SQL Research.com.

W tym roku po raz pierwszy odbędzie się dzień wcześniej – 17 października mini konferencja nazywana preConf dla około 120 osób w siedzibie Microsoft. Więcej szczegółów na stronach konferencji MTS2011, WSS lub TimeForSharePoint. Będę na tej mini konferencji miał możliwość przedstawić sesje dotyczącą nowości w Denali dotyczących SharePoint 2010. Więc będzie można między innymi zapoznać się z nowym projektem nazywanym Crescent, alertami w Reporting Services. Poza moją sesją kilka bardzo ciekawych wystąpień na różne tematy nie tylko SQL Server i SharePoint Uśmiech 

Wszystkich zainteresowanych serdecznie zapraszam.

22Jul/110

PowerPivot Denali CTP3 – w jakim kierunku zmierza Microsoft ze swoim Business Intelligence

PowerPivot jedno z najmłodszych dzieci produktów powiązanych z SQL Server po nie całych 2 latach od publicznej premiery pierwszego CTP w wersji SQL Server 2008R2, później premiery w 2010 roku wówczas w wersji darmowej dla programu Excel jak i wersji integrującej się z środowiskiem SharePoint 2010. W tym roku doczekało się kolejnych zmian. Program rozrasta się w niesamowitym tempie jeszcze bardziej spotykając się z produktem pierwotnym czyli z SQL Server a dokładnie z częścią dotyczącą Business Intelligence (Analysis Servcies, Reporting Services) i ich konsolidacji w SharePoint. Już teraz namacalnie wraz z wersją SQL Server DENALI CTP3 (którego premiera i dostępność publiczna była 12 lipca o czym trochę więcej można przeczytać na moim drugim blogu SQL Research) wiemy jak wielkie zmiany w Business Intelligence poczynił Microsoft od ostatniej pełnej wersji SQL Server. Zmiany zaszły nie tylko w rozwiązaniu, ale także w architekturze i koncepcji. Bez obaw to co było dobre i znane nam pozostało, ale powstał przed laty właśnie PowerPivot jako przedsmak nowego co powstaje. Właśnie PowerPivot pierwszy wykorzystywał VertiPaq nowy mechanizm o zmienionej filozofii przetwarzania danych w pamięci. O czym na pewno więcej napiszę na blogu. Po drugie to mechanizmy wykorzystane w PowerPivot dla SharePoint (integreted mode – vertipaq mode) są podstawą najnowszej wersji SQL Server Analysis Services DENALI (obecnie CTP3). Otóż instalując SSAS DENALI mamy do wyboru 2 tryby pracy, jeden dobrze nam znany gdzie projektujemy klasyczne już kostki wielowymiarowe, a drugi nazwany TABULAR bazujący właśnie na mechanizmach znanych bardzo dobrze wszystkim użytkownikom PowerPivot. Właśnie projekty realizowane w ten sposób są bazą do nowej wizualizacji danych zrealizowanych w projekcie Crescent (o którym już troszkę pisałem i z całą pewnością wiele jeszcze powiem i pokaże). To niw wszystko mechanizm wykorzystywany jako VertiPaq posłużył jako bazę nowej filozofii zbudowania indeksów w SQL Sevrer mających znacznie przyspieszyć zapytania realizowane w dużych hurtowniach danych. Projekt ten się nazywa Apollo, właśnie dzięki niemu powstała nowa metoda budowania indeksów nazywana columnstore. Temat bardzo ciekawy o którym opowiem w oddzielnych postach na którymś z moich blogów. Team SQL i BI nie zapomniał o PowerPivot w tej wersji. Produkt się bardzo rozwinął. Zapraszam do zapoznania się ze skrótem zmian, które są już dostępne w wersji SQL Server DENALI CTP3.

Wspominając o blogach chciałem jedną rzecz uporządkować. Przez jeszcze większą integracje PowerPivot, SSAS, SSRS, Crescent.. postanowiłem o wszystkich tematach związanych z Business Intelligence pisać na tym blogu, natomiast reszta tematów dotycząca SQL Server na SQL Research. Gorzej z tematami dotyczącymi SharePoint i konferencji. Te tematy pewnie będą się przewijać przez oba blogi. Myślę że taki podział będzie dobry.

 

Instalacja

Instalacja nowej wersji PowerPivot dla Excel jest bardzo prosta. Jeżeli mamy zainstalowaną którąś wcześniejszą wersje zalecałbym odinstalować (Ci co pierwszy raz instalują to ciekawe narzędzie odsyłam do postów na blogu dotyczących instalacji i przypominam iż jest niezbędny Excel w wersji 2010 Puszczam oczko ), następnie pobieramy odpowiednią wersje z tego miejsca PowerPivot dla Excela w wersji SQl Server DENALI CTP3 (podaje odpowiednią , gdyż w zależności od środowiska musimy zainstalować wersje 32 lub 64 bitową) i możemy rozpocząć poznawanie PowerPivot Uśmiech

 

Nowosci w PowerPivot DENALI CTP3 (11.0.1440.19)

Jest cały szereg nowych rzeczy część z nich była już dostępna w poprzednich CTP, pozostałe dopiero od wersji CTP3 oto większość z nich w dużym skórcie:

  • KPI Key Performance Indicator – kluczowe wskaźniki – będące specjalnymi formułami automatycznie wyliczanymi, które w  różny ciekawy sposób można wizualizować na różnego rodzaju daschboardach, kokpitach, raportach. Dobrze znane wszystkim użytkownikom SSAS
  • Perspektywy – czyli specjalne metadane pozwalające tworzyć zbiory danych najczęściej podyktowane potrzebami biznesowym czyli wycinki, obszary danych ułatwiające ich dalszą analizę
  • Hierarchie – element bardzo dobrze znany wszystkim użytkownikom danych wielowymiarowych. Potężne narzędzie analityczne w każdej kostce.
  • Diagramy (widok diagramów) – diagram wizualizujący dane w PowerPivot
  • Zarządzanie relacjami w graficznym widoku do diagramów
  • Multiple Relationship – element którego brakowało przy imporcie projektów baz danych relacyjnych
  • Dodatkowa zakładka Advanced (na razie są tam głównie perspektywy Uśmiech i właściwości raportowania)
  • Reporting properties niezbędne ustawienia przydatne klientom raportowania w tej chwili np Crescent z tego korzysta
  • Grid dla miar czyli oddzielne okno w którym widzimy wszystkie miary utworzone w projekcie
  • Wsparcie dla danych BLOB – w tej chwili PowerPivot pozwala przechowywać w kolumnie dane binarne przechowujące np. bitmapy przydatne później w procesie wizualizacji np przy użyciu Crescent. Należy tutaj dodać iż PowerPivot sam potrafi rozpoznać że to są tego typu dane przechowywane.
  • Możliwość sortowania danej kolumny według danych w innej kolumnie
  • Możliwość predefiniowania formatu danych w poszczególnych kolumnach co potem może mieć odzwierciedlenie w raporcie
  • Możliwość dodawania opisowych danych do kolumn ułatwiające później pracę przy tworzeniu raportów poprzez podpowiedzi
  • Rozszerzenia języka DAX:
    • Funkcja SWITCH()
    • Funkcje filtrujące: ALLSELECTED, Context-Examination, HASONEVALUE,
    • Informacyjne: LOOKUPVALUE, zespół funkcji działających na hierarchii na zasadzie Parent-Child
    • Statystyczne: DISTINCTCOUNT, CROSSJOIN, GENERATE, GENERATEALL, RANK.EQ, RANKX, STDEV.S, STDEV.P, STDEVX.S, STDEVX.P, SUMMARIZE, ROW, ADDCOLUMNS, TOPN, VAR.S, VAR.P, VARX.S, VARX.P
    • CURRENCY
    • USERRELATIONSHIP
  • Nowe formatowanie danych
  • Możliwość dodawania danych do wierszy i kolumn
  • Drobne zmiany we wstążce i układzie niektórych funkcji

Widać iż tego jest trochę. Pewnie całą jesień mamy co robić by w pełni poznać nowe możliwości PowerPivot, Crescent, Apollo, Juneau, oraz samego SQL Server DENALI CTP3. Ja postaram się wszystkim zainteresowanym to troszkę ułatwić na moich blogach. Zapraszam do lektury i SQL Research’u Puszczam oczko

28Apr/110

PowerPivot– SQL Server 2008R2 SP1 CTP

Dostępna jest już najnowszą wersja PowerPivot (SQL Server 2008R2 SP1 CTP – 10.50.2425.0) zarówno dla systemów 64 jak i 32 bitowych. Można pobrać ją ze strony  Microsoft® SQL Server® 2008 R2 SP1 Community Technology Preview Feature Pack

image

4Apr/110

Blogowanie..

Miałem chwilkę przestoju z blogowaniem na temat PowerPivot. Dostaje pytania dotyczące języka DAX. Potwierdzam, wracam do blogowania na temat PowerPivot i języka DAX. W ostatnim czasie miałem bardzo mało czasu – między innymi próbowałem swoich sił na egzaminie MCM z SQL Server o czym więcej na SQLResearch.com, artykuły na TechNet, uczestniczylem i uczestniczę w licznych projektach, wykonuje wiele szkoleń i warsztatów autoskich z tematyki BI I SQL Server, przygotowałem i prowadzę szkolenie z PowerPivot

Obecnie z ciekawych rzeczy (poza tematami zawodowymi) piszę rozdział do książki “SQL Server MVP Deep Dive vol.2”. Pojawię się ze swoimi sesjami na konferencjach 2nd Silesian CodeCamp – już 2 kwietnia, oraz TimeForShrePoint 2011 – 16 maja.

Więc już za kilka dni kolejne części dotyczące jezyka DAX! Zapraszam już teraz do lektury.

Better Tag Cloud