poniedziałek, 9 maja 2016

Tableau Extract vs Live Connection

Wielu użytkowników Tableau zadaje sobie to pytanie niemal codziennie. Czym jest tzw. Tableau Extract? Jak to właściwie działa i kiedy warto korzystać z tej funkcji?

Z technicznego punktu widzenia tableau extract to nic innego, niż specjalna, kolumnowa baza zoptymalizowana po kątem zapytań wewnątrz Tableau. W większości przypadków jego wykorzystanie potrafi znacznie przyśpieszyć dostęp do danych - czasami nawet stukrotnie! Sam doświadczyłem kiedyś takiego skoku wydajności pracując z bazami MS Access. Poza tym ekstratując swoje dane zyskujesz możliwość pracy offline oraz w znacznym stopniu optymalizujesz zużycie przestrzeni dyskowej - ekstrakty w Tableau są bowiem mocno skompresowane względem swoich oryginalnych źródeł danych.

Jak stworzyć ekstrakt w Tableau?

Aby stworzyć ekstrakt musisz się najpierw połączyć ze swoim źródłem danych w Tableau Desktop. Następnie wystarczy kliknąć PPM na źródle danych a następnie wybrać opcję extract data lub wejść do panelu Data i wybrać tę samą opcję.



W zależności od wielkości pliku/tabeli może to potrwać od kilku sekund do kilku minut. Po zakończeniu procesu zwróć uwagę na zmianę ikonki z jednego cylindra (live connection) na dwa cylindry, które wyraźnie wskazują na to, że pracujesz na kopii danych.


Cały proces jest oczywiście odwracalny i w dowolnym momencie możesz przełączać się pomiędzy dwoma opcjami.

Skoro wiemy już jak wykorzystać Tableau Extract, to pora przedstawić jego liczne zalety.

  Zalety Tableau Extract

 

Wydajność

  Jak już wspomniałem we wstępie, ekstrakty pozwalają w znaczny sposób przyśpieszyć dostęp do danych. Dzięki zastosowaniu technologii in-memory, Tableau jest w stanie wykorzystać dziesiątki, a nawet setki milionów wierszy bez większych opóźnień. Generalnie warto zacząć korzystać z ekstraktów jak tylko zaobserwujemy, że nasze połączenie "live" zaczyna lagować, a my nie musimy pokazywać danych w czasie rzeczywistym.

Dostęp do danych w trybie offline i ułatwiona dystrybucja raportów


Formaty plików Tableau extract (.tde) i Tableau packaged workbook (.twbx) zawierają wszystkie dane wykorzystane w projekcie, więc nic nie stoi na przeszkodzie, żeby korzystać z nich poza firmową siecią, czy też w miejscach bez dostępu do sieci (na bezludnej wyspie albo w samolocie). Pozwala to również na łatwą dystrybucję raportów wśród użytkowników. Co więcej, użytkownicy nieposiadający licencji Tableau Desktop mogą otworzyć w pełni interaktywny raport za pomocą darmowego Tableau Reader'a!

 Bezpieczeństwo i kontrola dostępu użytkowników


Dzięki Tableau Extract możesz w łatwy sposób ograniczyć dostęp do danych użytkownikom. Jednym ze sposobów jest tzw. ukrycie wszystkich danych nie wykorzystanych na danym dashboardzie.


To bardzo ciekawa funkcja, która pozwoli Ci w łatwy sposób kontrolować ilość udostępnionych danych - jeśli w trakcie prac nad swoim raportem nie wykorzystałeś pewnych miar lub wymiarów, to nie będą one po prostu dostępne dla użytkowników Tableau Desktop. Nieco bardziej wyszukany sposób na kontrolę dostępu to tzw. row level security. Tableau posiada bowiem kilka przydatnych funkcji, które pozwalają nam wykorzystać dodatkowe kryteria dostępu do poszczególnych danych np. na podstawie przynależności do wcześniej zdefiniowanych grup użytkowników, ale to temat na osobny artykuł.

Podwójna agregacja


Kolejna ciekawa funkcja, która pozwala na dodatkową agregację uprzednio zagregowanych danych. Wiem, że brzmi to dziwnie, ale pozwala to uzyskać często bardzo cenny, dodatkowy poziom agregracji, czyli np. średnią miesięczną z danych zagregowanych w obrębie dni.


Publikowanie na Tableau Public


Tableau Public nie pozwala na publikowanie dashboardów wykorzystujących live connection. Jeśli chcesz podzielić się swoim dashboardem z innymi użytkownikami w sieci, musisz użyć ekstraktu swoich danych.

  Wady Tableau Extract

 

 Jak każde rozwiązanie, ekstrakty Tableau mają również wady. Najpoważniejsza z nich to oczywiście brak możliwości odświeżania danych w czasie rzeczywistym, ale powiedzmy sobie szczerze - jak często stajemy przed takim wymaganiem w przypadku budowy raportów?

  • Ze względu na swoją strukturę danych, większość tzw. wielowymiarowych kostek danych (cubes) nie pozwala na stworzenie ekstraktu. Jednym z wyjątków jest tutaj SAP BW.
  • Każda zmiana struktury danych w oryginalnym źródle może sprawić, że nasz ekstrakt stanie się bezużyteczny i będzie go trzeba stworzyć od nowa, co może być dosyć czasochłonne.
  • Ekstrakty Tableau nie pozwalają na użycie funkcji z grupy RAWSQL oraz pisania custom sql, które w niektórych przypadkach mogą się okazać bardzo przydatne.
  • Odświeżanie największych ekstraktów potrafi być bardzo długie. Jeśli operacja jest wykonywana bezpośrednio z serwera Tableau, to w sposób oczywisty będzie wpływać na jego wydajność.

Mimo tych wszystkich wad w większości przypadków okazuję się, że warto korzystać z ekstraktów choćby dla nieporównywalnie większej wydajności zapytań. Oczywiście każdy przypadek może być nieco inny, więc zawsze warto rozważyć wszystkie za i przeciw. Jeśli poruszona tematyka okazała się dla Ciebie interesująca, to polecam zapoznanie się z tym kompendium Alana Eldrige'a oraz wieloma artykułami porównawczymi dostępnymi w sieci.