czwartek, 22 czerwca 2017

Rusza Tableau 10.4 Beta

Właśnie ruszył program betatestów kolejnej wersji oprogramowania Tableau. Co nowego czeka nas tym razem?

  • System rekomendacji i certyfikacji opublikowanych źródeł danych (tableau server)
  • Dashboard spacing - funkcja umożliwiająca precyzyjną kontrolę nad formatowaniem naszego dashboardu (dotyczy głównie pustych przestrzeni, tzw. "white spaces")
  • Dalsze usprawnienia w web authoringu - tym razem dodano m.in możliwość edycji osi, filtrów, aliasów i grup (kolejny krok w kierunku przeniesienia najważniejszych funkcji desktopa do wersji online)
  • Poprawa geocodingu i garść nowych konektorów (to już standard)
  • Wsteczna kompatybilność przy publikowaniu na starszą wersję tableau server (do 10.2 włącznie)
  • Zupełnie nowy system komentowania dashboardów (z poprzedniego chyba nikt nie korzystał)
  • Integracja z Matlabem
  • Wprowadzenie funkcji geometrii liniowej umożliwiająca wizualizację sieci połączeń


Według informacji zamieszczonej na stronie producenta, program beta potrwa do połowy sierpnia. Tradycyjnie odsyłam do pełnej listy zmian na stronie producenta.

czwartek, 8 czerwca 2017

Tableau Performance Tuning - część II

W ostatnim artykule poświęconym Performance Tuningowi dashboardów prayglądaliśmy się wszystkim czynnikom na poziomie środowiska oraz źródła danych, które mogą poważnie wpłynać na wydajność naszych raportów. Tym razem pora zastanowić się nad konkretnymi działaniami oraz tzw. dobrymi praktykami, które możemy zastosować w trakcie tworzenia dashboardów aby przyśpieszyć ich działanie.

Wyłącz automatyczną aktualizację danych


Jeśli pracujemy z wyjątkowo dużym zbiorem danych w trybie live, warto rozważyć tymczasowe zablokowanie automatycznych update'ów (pause auto updates) do czasu dodania wszystkich dodatkowych miar i wymiarów - dzięki temu unikniemy niezwykle irytującego oczekiwania na wyrenderowanie się widoku przy każdej modyfikacji. Po zakończeniu całej operacji wystarczy ponownie włączyć opcję "resume auto updates" lub wymusić ręczny update poprzez użycie kolejnego buttona "Run Update" (również dostępny po wciśnięciu F9).

Opcje Pause Auto Updates i Run Update


Połączenie ze źródłem danych


Staraj się nie korzystać z Custom SQL, jeśli nie jest to absolutnie konieczne. Pozwoli to uniknąć kosztownych podzapytań generowanych przez Tableau. Generalnie dobrą praktyką jest używanie jak najmnijeszej liczby źródeł danych (jakkolwiek trywialnie by to nie zabrzmiało) i usuwanie na bieżąco niepotrzebnych połączeń, które mogą się stać dodatkowym obcążeniem.


Filtry kontekstowe


Nie wahaj się korzystać z filtrów kontekstowych (context filters) jeśli wiesz, że dany worksheet potrzebuje jedynie małego fragmentu całego zbioru danych np. ściśle sprecyzowanego okresu czasu, produktu czy klienta. Złota reguła mówi, że jeśli na dzień dobry musimy odfiltrować 90% naszych danych, to użycie filtra kontekstowego powinno znacznie przyśpieszyć całą operację (szczególnie, jeśli mamy do czynienia z tzw. "slow changing dimensions").

Opcja użycia filtra kontekstowego

Kolejny sposób na wykorzystanie filtrów kontekstowych w celu poprawy wydajności to zastosowanie pozornie bezsensownego filtra typu "include all" w celu zmateralizowania joinów wykonywanych przez Tableau. Dzięki takiemu prostemu zabiegowi zostanie stworzona tableau tymczasowa, która powinna kilkukrotnie przyśpieszyć dostęp do danych (pod warunkiem, że korzystamy z joinów w tableau). Jak stworzyć taki filtr? Najprościej wykorzystać Exclude none :)

teoretycznie nieistniejący filtr, czyli "exclude none"


Ekstrakty


O ekstraktach i wszystkich pozytywnych aspektach ich wykorzystywania pisaliśmy w jednym z poprzednich artykułów. Warto pamiętać o tym, że ekstrakty w Tableau są niezwykle wydajne i pozwalają w znaczny sposób przyśpieszyć dostęp do największych źródeł danych. Wyjątkowo przydatne opcję, które możemy wykorzystać przy tworzeniu ekstraktu to:

  • Hide All Unused Fields - pozwala wykluczyć wszystkie nieużywane pola w celu "odchudzenia" ekstraktu i znacznego wzrostu wydajności
  • Aggregate data for visible dimensions - czyli agregacja danych na poziomie wykorzystywanym przez wizualizację (szczególnie przydatne przy pracy z danymi transakcyjnymi )


Filtry


Istnieją pewne sytuacje, w których zwykłe filtry potrafią w znacząc sposób wpłynąc na wydajność naszego workbooka.

Staraj się unikać opcji Exclude - w przypadku zastosowania tej opcji Tableau musi każdorazowo przeskanować wszystkie dane. Dodatkowo można wtedy zapomnieć o wszystkich korzyściach związanych z wykorzystaniem indeksów na poziomie bazy danych!

Fltrowanie wymiaru czasu po indywidualnych datach (Individual dates and times) również nie jest najlepszym pomysłem w przypadku pracy z wielomilionową tabelą - zdecydowanie lepiej zastosować filtrowanie kaskadowe (np. rok, miesiąc, dzień) i wyświetlić tylko cześć danych, która nas interesuję. W celu ograniczenia dużych zbiorów danych można też wykorzystać tzw. relative date filters (np ostatni dzień, miesiąc, rok).

Opcja Only Relevant Values dostępna w przypadku quick filters powinna być wykorzystywana z rozwagą i jedynie wtedy, gdy jest naprawdę wymagana. Jej wykorzystanie może drastycznie wpłynąć na szybkość działania dashboardu!

W większości przypadków filtering dashboard actions są szybsze, niż quick filters. Wynika to z tego, że w przypadku tych drugich tableau jest zmuszone do każdorazowego skanowania całego wymaru przed wyśwetleniem listy dostępnych wartości. W przypadku dashboard actions nie jest to wymagane, ponieważ filtry te wykorzystują wyrenderowane wizualizację, które posiadają już taką informację. Warto również zwrócić uwagę na to, co ma się dziać z widokiem bo resecie selekcji (opcja "clearing the selection will" w menu Dashboard->Actions). Jeśli pracujemy z wyjątkowo dużym zbiorem danych, zaleca się wykorzystanie opcji "Exclude all values" w celu uniknięcia wyświetlania dużych ilość danych w trybie "defaultowym".

Edytowanie dashboard action


W kolejnym artykule z tej serii postramy się przyjrzeć dobrym praktykom związanym z tworzeniem kalkulacji w Tableau, dzięki którym możemy bezpośrednio wpłynąć na wzrost wydajności całego dashboardu. Do zobaczenia następnym razem!

środa, 31 maja 2017

Tableau Performance Tuning - część I

Szybkość działania jest jedną z najważniejszych cech każdego rozwiązania w IT - nie inaczej jest z raportami w Tableau. Bo niby po co komu piękne raporty odpowiadające na wszystkie pytania użytkownika jeśli w czasie ich renderowania można sobie spokojnie zaparzyć herbatę? Prawdą jest, że w dzisiejszych czasach użytkownicy oczekują błyskawicznej reakcji na swoje zapytania oraz interakcje z poszczególnymi elementami dashboardu. Z przyczyn technicznych nie zawsze jest to możliwe, jednak można śmiało stwierdzić, że w dobie dzisiejszych rozwiązań nikt nie chcę już oglądać "loading screenów" dłużej niż kilka sekund. Czas jest naszym najcenniejeszym zasobem i nie powninno nas wcale dziwić, że tak dużo mówi się dzisiaj o optymalizacji.



Tableau udostępnia moduł Performance Recording, który pozwala na analizę poszczególnych zapytań i zidentyfikowanie potencjalnych źródeł problemów z wydajności. O tym narzędziu pisaliśmy już w jednym z poprzednich artykułów. Porównywaliśmy również wszystkie zalety i wady używania ekstraktów i źródeł danych typu "live". To dobre wprowadzenie do Performance Tuningu w Tableau, jednak aby lepiej zrozumieć istotę tego zagadnienia musimy przyjrzeć się kilku podstawowym zasadom, które pozwolą nam wycisnąć z naszych workbooków jak najwięcej w jak najkrótszym czasie. W pierwszej części tego artykułu przyjrzmy się temu, co można w tej kwestii zrobić na poziomie samego środowiska i źródła danych (bazy).

Środowisko

Tableau Desktop działa zdecydowanie lepiej na maszynach z 64-bitowym systemem operacyjnym, co nie powinno nikogo dziwić. Kluczowym aspektem jest tutaj ograniczenie w pamięci operacyjnej dla systemów 32-bitowych (efektywnie jest to około 3-3,5 GB RAM), które nie pozwala Tableau rozwinąć skrzydeł, a w przypadku pracy z większymi źródłami danych kończy się znienawidzonym błędem "out of memory". Generalnie im więcej pamięci RAM, tym lepiej. Maszyna deweloperską powinna mieć przynajmniej 8GB (zaleca się 16 GB). Liczy się również szybkość taktowania pamięci i dysków twardych. Niezłym pomysłem jest wykorzystanie ciągle taniejących dysków SSD.

Te same zasady dotyczą serwera - przy instalacji nowej instacji tableau server na pewno warto zainwestować w mocny sprzęt z dużo ilością ramu i szybkim, wielordzeniowym CPU. Wiele testów pokazuję, że rówież przeglądarka ma duże znaczenie. Generalnie Chrome i Firefox wypadają lepiej niż IE. Warto oczywiście zadbać o ich najnowsze wersję biorąc pod uwagę jak szybko wypuszczane są aktualizacje do Tableau Desktop/Server.

Baza danych

W większości środowisk korporacyjnych relacyjne bazy danych stanowią główne źródło danych. Mając doświadczenia z wieloma setupami mogę stwierdzić, że najlepszą wydajność w Tableau odnotowałem pracując z bazami Teradata i Oracle. Trochę gorzej wspominam pracę z MS SQL Server i IBM DB2, ale często jest to kwestia tuningu samej bazy, która jest naszym wąskim gardłem jeśli chodzi o wydajność raportów - szczególnie warto zwrócić na to uwagę używając połączeń typu "live data connection". Oto kilka rad odnośnie tego, co warto zoptymalizować na poziomie bazy:
  • Indeksy to podstawa. Na pewno warto indeksować wszystkie kolumny wykorzystywane w operacjach join i filtrach/ dashboard actions
  • Obecność kluczy głównych i obcych we wszystkich tabelach pozwala Tableau na zignorowanie wielu "integrity checks", co znacznie przyśpiesza zadanie (weryfikacja powinna być po stronie bazy)
  • Przy dużych ilościach danych istotne jest partycjowanie danych np na poziomie daty
  • Tableau nie lubi wartości typu NULL - unikaj ich jeśli tylko masz taką możliwość!
  • jeśli potrzebujesz skomplikowanych kalkulacji, pomyśl o stowrzeniu dedykowanego widoku na poziomie bazy danych który wykona czarną robotę za Tableau - w większości przypadków system bazodanowy wykona to zadanie zdecydowanie szybciej niż Tableau!
  • Korzystaj z tabeli zagregowanych jeśli masz do czynienia wielkimi źródłami danych (o ile nie musisz prezentować danych transakcyjnych i wystarczą Ci podsumowania). Pamiętaj, że możesz również wykorzystać opcję agregacji na danym poziomie przy tworzeniu ekstraktu w Tableau!
Więcej informacji znajdziecie w kolejnej części artykułu poświęconej optymalizacji wydajności w samym Tableau!

sobota, 8 kwietnia 2017

Nowy model licencjonowania Tableau

Właściciele Tableau właśnie zakomunikowali znaczące zmiany w modelu licencjonowania ich narzędzi. Otóż od tej chwili oprogramowanie będzie można nabyć również w modelu subskrypcyjnym. W przypadku Tableau Desktop oferowane są dwa warianty:
  • Personal Edition za 35 USD miesięcznie
  • Professional Edtion za 70 USD miesięcznie
Właściciele zapewniają, że wszystkie licencje zakupione w starym systemie (perpetual) pozostaną dalej ważne, a obecny system subskrypcyjny jest tylko rozszerzeniem oferty wynikającym z bezpośrednich oczekiwań klientów. Taka strategia to zapewne efekt bardzo agresywnej konkurencji ze strony Microsofttu, który ciągle oferuję swój analogiczny produkt Power BI w żenująco niskiej cenie (10 USD/mies) oraz wyjście na przeciw obecnym trendom w branży. Według analityków Gartnera już około 65-70% dostawców oprogramowania korzysta z takiego modelu, a do końca 2020 roku ten odsetek może wzrosnąć nawet do 80%. Polecam poniższy artykuł, z którego można dowiedzieć się nieco więcej o właśnie wprowadzonym modelu sprzedaży oraz strategii nowego CEO Tableau (Adam Selipsky, były dyrektor Amazon Web Services).


https://www.information-management.com/news/new-tableau-ceo-seeks-smoother-sales-with-subscription-push

niedziela, 26 marca 2017

Tableau Beta dla wersji 10.3 już dostępna

W tym tygodniu producent Tableau rozpoczął kolejną fazę beta-testów swojego oprogramowania,  tym razem dla wersji 10.3. Wśród najciekawszych nowości znajdują się:
  • automatyczne alerty wysyłane z poziomu Tableau Server (tzw. data-driven alerts)
  • garść nowych konektorów (PDF, Dropbox, OneDrive, ServiceNow, Amazon Athena, MongoDB, Denodo)
  • Tableau Bridge dla wersji Tableau Online (możliwość bezpiecznego łączenia się z bazami danych w trybie live connection)
  • Usprawnienia i wbudowane rekomendacje dla modułu przygotowania danych (smart table & join recommendations)
  • Usprawniony Web Authoring (możliwość edycji i tworzenia stories online)
  • Dalszy rozwój API (REST API, JS API)

Pełną listę zmian znajdziecie pod tym adresem. Liczna zmian może nie poraża, ale to kolejny krok przed wypuszczeniem poełnoprawnej wersji Tableau 11, która według wielu źródeł powinna się pojawić pod koniec tego roku. Obecna faza testów potrwa do 19 maja.

wtorek, 7 marca 2017

Raport o kondycji rynku BI według Gartnera - najważniejsze funkcjonalności narzędzi Business Intelligence oraz platform analitycznych

Właśnie ukazał się szczegółowy suplement do tegorocznego raportu Gartnera dotyczący najważniejszych funkcjonalności współczesnych narzędzi Business Intelligence oraz platform analitycznych (Critical Capabilities for Business Intelligence and Analytics Platforms).

Critical Capabilities Matrix (Gartner, Marzec 2017)


Analitycy z Gartnera po raz kolejny podkreślają fundamentalną zmianę, jaka zaszła na rynku BI w ciągu ostatnich lat (przesunięcie osi ciężkości w kierunku narzędzi typu data discovery).
 Najważniejsze wnioski z tegorocznej edycji raportu są następujące:
  • tradycyjne narzędzia BI zaczynają w dużej mierze doganiać możliwości pierwotnie oferowane tylko przez grono dostawców narzędzi typu data discovery, jednak różnice w ich funkcjonalnościach są ciągle widoczne (w zależności od przyjętych kryteriów)
  • Kolejna faza innowacji produktowej już się rozpoczęła (smart data discovery) i tym razem to duże firmy są o krok przed obecnymi liderami rynku (Tableau, Qlik, PowerBI, Tibco) dzięki ogromnych nakładom na innowacje (IBM, Microsoft, Microstrategy, SAP, SAS) oraz licznym przejęciom dobrze prosperujących start-upów (Oracle, Salesforce)
  • Pomimo relatywnie dużego nasycenia rynku platform analitycznych, większość produktów cechuje pewna rożnica w funkcjonalnościach, w związku z czym każde z tych narzędzi ma nieco inne przeznaczenie/jest skierowane do innej grupy odbiorców
Kilka kluczowych rekomendacji/wniosków dla osób zastanawiających się nad wdrożeniem współczesnych narzędzi klasy Business Intelligence bądź też modernizacją obecnie wykorzystywanej technologii:
  • Rozwijaj portfolio tradycyjnych narzędzi do raportowania poprzez wykorzystanie możliwości jakie oferuje nurt data discovery
  • Dokonaj wnikliwej analizy możlwości współczesnych narzędzi BI w celu wyboru optymalnego rozwiązania w zależności od Twoich potrzeb oraz sytuacji w Twojej organizacji
  • Ustal w jakim stopniu scentralizowane zespoły IT będą w stanie wesprzeć Twoich użytkowników biznesowych w zakresie przygotowania bądź udostępnienia niezbędnych danych
  • Zostań zwolennikiem przyjaznych narzędzi zorientowanych na łatwość obługi oraz wykorzystanie metodyk zwinnych w celu wykorzystania pełnego potencjału analitycznego drzemiącego w Twojej organizacji
  • Kontroluj na bieżąco zadowolenie użytkowników biznesowych z wykorzystywanej technologii i podczas wyboru narzędzi nie kieruj się wyłącznie ewaluacją samych funkcjonalności, możliwością integracji oraz całkowitym kosztem inwestycji
Przyjżyjmy się jeszcze wizualnej reprezentacji oceny 5 najważniejszych funkcjonalności BI według Gartnera:
  1. Agile Centralized BI Provisioning
    Źródło: Gartner 2017
  2. Decentralized Analytics
    Źródło: Gartner 2017
  3. Governed Data Discovery
    Źródło: Gartner 2017
  4. OEM or Embedded BI
    Źródło: Gartner 2017
  5. Extranet Deployment Use Case
    Źródło: Gartner 2017
Jak wypadło Tabelau na tle swoich konkurentów? W ocenie pierwszych 3 "krytycznych funkcjonalności" oprogramowanie zostało wymienione w pierwszej dziesiątce rankingu, co na pewno jest wynikiem bardzo dobrym, ale nie wybitnym i pokazuje, że konkurencja nie śpi. W przypadku dwóch ostatnich cech, Tableau plasuje się mniej więcej w połowie stawki.

Równie ciekawie przedstawia się ocena cząstkowa poszczególnych funkcjonalności. Warto zauważyć, że możlwiości Tableau są oceniane bardzo podobnie zarówno przez klentów, jak i analityków którzy wzięli udział w badaniu (wykres poniżej).
Critical Capabilities Matrix - analyst opinion only (Gartner, Marzec 2017)
Zgodnie z moimi przewidywaniami, Tableau wypada znakomicie pod względem wizualizacji danych, budowy interaktywnych dashboardów, wykorzystanie plarform mobilnych, łatwość użycia oraz integracji z innymi platformami (tzw. żargonowy BI gold standard). Nieco zaskoczyła mnie wysoka ocena zdolności transformacji i przetwarzania danych (Self-Contained ETL and Data Sorage) - moim zdaniem funkcje te są na dzień dzisiejszym dosyć mocno ograniczone, ale wszystko ma się zmienić dzięki tajemniczemu projektowi Maestro, który ujrzy światło dzienne już wkrótce. Nie zaskoczyła mnie natomiast umiarkowana ocena rozwiązań cloudowych (wszak są ciągle rozwijane), zarządzania metadanymi (mimo ciągłych usprawnień od wersji 9) oraz bardzo słaba odpowiedź na rzekomy kolejny krok rewolucji - smart data discovery (przynajmniej w chwili obecnej, ponieważ deweloperzy Tableau deklarują, że cięzko pracują nad tym, żeby dogonić konkurentów pokroju IBM Watson Analytics w niedalekiej przyszłości).

Kompletnie nie zgadzam się z bardzo niską oceną zdolności do publikowania i administrowania kontentu w Tableau Server oraz zdolności szeroko rozumianej "kolaboracji". Myślę, że niska ocena tych komponentów to efekt porzucenia wielu starych, dobrych praktyk stosowanych przez tradycyjne platformy BI takie jak Cognos czy OBIEE, która przez wielu starych wyjadaczy jest ciągle uważana za "must have".

Pełny raport zawiera oczywiście dużo więcej szczegółowych informacji, w tym opis wykorzystanych kryteriów oraz ocena sytuacji każdego z zakwalifikowanych vendorów. Gorąco zachęcam do zapoznania się z jego treścią!

środa, 1 marca 2017

Tableau 10.2 już dostępny

Od wczoraj można już pobierać stabilną wersję Tableau 10.2:
https://www.tableau.com/support/releases/10.2.0



Poza całą masą zmian na poziomie przygotowania danych, najnowsza wersja oferuję przede wszystkich znaczne usprawnienia w kwestii wizualizacji danych geoprzestrzennych oraz wykorzystaniu analizy statystycznej. Szczegółowy wykaz wszystkich wprowadzonych zmian znajdziecie na oficjalnym blogu oraz w sekcji what's new na stronie producenta.