2.3.2022

Raporty Google BigQuery i Google Data Studio

Google BigQuery a Reporty v Google Data Studio

Jak już wiesz z naszego poprzedniego wpisu na blogu, Daktela oferuje szeroki zakres narzędzi do raportowania. Dla uproszczenia można powiedzieć, że Daktela ma dwie grupy narzędzi – narzędzia do raportowania i narzędzia analityczne:

  1. Statystyki i analizy dostępne w aplikacji internetowej Daktela
  2. Rozwiązanie Google

Choć Daktela jest złożoną aplikacją internetową i zawiera solidne narzędzia analityczne, w niektórych przypadkach warto skorzystać z usług zewnętrznych. Warto rozważyć skorzystanie z takiego rozwiązania, zwłaszcza jeśli:

  • Posiadasz duże ilości danych
  • Używasz kilku central telefonicznych
  • Potrzebujesz łączyć tabele
  • Potrzebujesz zaawansowanego filtrowania danych w raportach
  • Martwisz się o obciążenie centrali
  • Wymagają szybszego czasu ładowania

Nowoczesne i wydajne rozwiązanie Google jest idealnym kandydatem do tych celów. W tym artykule przyjrzymy się mu pokrótce.

Ogólnie rzecz biorąc, rozwiązanie to jest połączeniem magazynu danych (Google BigQuery), narzędzia do raportowania (Google Data Studio), usług powiązanych (Google Cloud Platform – bezpieczeństwo, zarządzanie, utrzymanie, monitorowanie) oraz przepływów danych (Daktela), tworzących portfolio ETL i BI.

Niewątpliwą zaletą jest to, że rozwiązanie jest dostępne za pomocą przeglądarki internetowej. Nie jest potrzebne żadne dedykowane oprogramowanie; wszystko jest dostępne z dowolnego komputera przy użyciu konta Google z odpowiednimi uprawnieniami. Funkcjonalność systemu zależy tylko od szybkości połączenia internetowego.

Daktela – automatyczna synchronizacja

Na stronie bigquery.daktela.com skonfigurowane są okresowe zadania, które w regularnych odstępach czasu przekształcają dane z central i ładują je do BigQuery (BQ). Skrypty uruchamiające są napisane w języku Java.

Interwał synchronizacji wynosi 120 minut i 24 godziny. Dane są ładowane cyklicznie co 2 godziny, a na koniec każdego dnia o północy ładowana jest kolejna partia konsolidacyjna, aby zapewnić integralność danych. W wybranych centralach możliwe jest skrócenie interwału do 1 godziny.

W pojedynczych przypadkach w BQ mogą zostać utworzone pozornie zduplikowane wpisy. Skrypt uruchomieniowy szuka duplikatów, jego wynik jest monitorowany, a powiadomienia są wysyłane do oprogramowania monitorującego. Duplikaty są automatycznie usuwane podczas codziennej synchronizacji. Oznacza to, że nie trzeba wykonywać żadnych dodatkowych czynności, aby zachować aktualność danych sprawozdawczych.

Ponieważ skrypty uruchomieniowe wszystkich projektów podłączonych do BQ są uruchamiane na serwerze bigquery.daktela.com, są one planowane w różnych godzinach, dzięki czemu nie konkurują ze sobą i zasoby systemowe są efektywnie wykorzystywane. Przyczynia się to również do stosunkowo krótkiego czasu przetwarzania. Etap synchronizacji (załadowanie godzinnego lub dziennego wsadu dla wszystkich instancji projektu) to kwestia od kilku do kilkudziesięciu minut – zwykle 10-30 minut, a w skrajnych przypadkach do 60-90 minut. Synchronizację można także uruchomić ręcznie w przypadku usuwania błędów.

Wszystkie skrypty generują log w pliku tekstowym.

Dostęp do serwera bigquery.daktela.com jest zabezpieczony za pomocą klucza SSH. Serwer jest w całości zarządzany przez administratorów IT Dakteli, którzy zarządzają również dostępem użytkowników.

Google BigQuery

BigQuery to w pełni zarządzana, bezserwerowa hurtownia danych (DWH), która umożliwia skalowalną analizę bardzo dużych ilości danych (rzędu petabajtów: 1PB ≈ 1024 TB ≈ 1 mln GB). To Platforma jako usługa, która obsługuje zapytania przy użyciu ANSI SQL.

Google udostępnia również funkcje powiązane, takie jak uczenie maszynowe, narzędzia geolokalizacyjne, narzędzia analityczne i statystyczne oraz zarządzanie dostępem i prawami użytkowników.

Architektura BigQuery jest w całości zarządzana przez Google, co oznacza, że użytkownicy nie muszą się martwić o takie rzeczy jak skalowalność, dystrybucja mocy obliczeniowej, tworzenie kopii zapasowych, konserwacja itp. Rozwiązanie jest wyjątkowe, ponieważ jego konstrukcja pozwala na otrzymywanie wyników zapytań dotyczących terabajtów danych w ciągu sekund, a petabajtów w ciągu minut.

Pozwala to na ładowanie raportów oraz interaktywne filtrowanie i sortowanie danych w czasie rzeczywistym.

BigQuery to nie tylko baza danych – to nierelacyjny system bazodanowy do przetwarzania analitycznego online, zoptymalizowany pod kątem odczytu
i analizy. Możliwe jest również wstawianie danych i łączenie BQ z zewnętrznymi źródłami danych.

Jego kluczowymi właściwościami są skalowalność, niezawodność, dostępność, niskie koszty eksploatacji, możliwość samonaprawy i zdecentralizowana architektura. Alternatywami DWH dla BQ są np. Amazon Redshift i Microsoft Azure SQL.

Dane w BQ są zorganizowane w zbiory danych (podobne do bazy danych) składające się z tabel, widoków i innych elementów, takich jak modele uczenia maszynowego. Uprawnienia do dostępu, edycji, usuwania itp. można ustawić dla całego zbioru danych lub dla poszczególnych tabel, które są jego częścią.

Do zarządzania kontami użytkowników wykorzystywana jest platforma Google Cloud, a użytkownicy muszą mieć aktywne konto Google, aby móc pracować z BQ. Wszystkie dostępy są zarządzane i sprawdzane przez administratorów Dakteli.

Więcej informacji można znaleźć na oficjalnej stronie Google Cloud.

Quoty i limity

Google ogranicza maksymalne obciążenie systemu, ustalając limity i quoty na dany okres czasu (np. liczba zapytań, wielkość przesyłanych danych itp.) BQ jest przeznaczony dla dużych projektów z ogromną ilością danych, a z perspektywy big data nawet największe i najbardziej złożone centrale Daktela są małym i prostym zbiorem danych.

Więcej informacji o kwotach i limitach można znaleźć na oficjalnej stronie Google.

Google Data Studio

Google Data Studio (DS) to narzędzie do wizualizacji danych i raportowania podobne do Microsoft Power BI lub Tableau. Jest to aplikacja internetowa
z przyjaznym dla użytkownika interfejsem, w której można tworzyć raporty przez dodawanie tabel i wykresów oraz uzupełniać je tekstem i elementami wizualnymi.

Data Studio może być używane do:

  • Tworzenia i edycji pojedynczych raportów
  • Zarządzania raportami, do których użytkownik ma dostęp
  • Przeglądania raportów
  • Tworzenie i edytowanie źródeł danych oraz zarządzanie nimi
  • Zarządzanie dostępem do tych raportów i źródeł danych

Każdy raport składa się z:

  • Źródła danych
  • Zawartość
  • Ustawienia dostępu

Wiele raportów może korzystać z tego samego źródła danych, a jeden raport może korzystać z kilku różnych źródeł danych.

Uprawnienia dostępu są przyznawane w środowisku Google oddzielnie dla każdej usługi:

  • Uprawnienia i dostępy do BigQuery można skonfigurować dla każdej z nich:
    • Projekt (dostępy wewnętrzne Dakteli)
  • Data Studio uprawnienia i dostępy można skonfigurować dla każdego z nich:
    • Współdzielone źródło danych

Zarówno w BQ, jak i DS użytkownik widzi tylko te elementy, do których ma prawa dostępu. Nie ma możliwości poznania elementów innych użytkowników (zbiorów danych, tabel, źródeł danych, raportów), dopóki nie spróbuje uzyskać do nich dostępu za pośrednictwem adresu sieci Web.

DataStudio – źródła danych

Termin Źródło danych odnosi się zbiorczo do:

  • Konfiguracji połączenia źródła danych
  • Przekształcanie i formatowanie otrzymanych danych
  • Częstotliwość synchronizacji danych
  • Prawa dostępu

Wszystkie te elementy składają się na element Google DS, z którym użytkownik może pracować. Element ten nie jest źródłem danych, lecz raczej modelem lub schematem danych. Można o niej również myśleć jako o łączniku do źródła danych, zazwyczaj DWH.

Studio danych Google może używać połączenia do źródła danych w celu łączenia się z różnymi rodzajami DWH, od natywnych Google (Google BQ, Google Sheets, Google Analytics, Google Ads, Google Surveys, Google Cloud itd.) przez powszechnie używane (Microsoft SQL Server, MySQL, PostgreSQL, pliki CSV itd.) po konektory innych firm. Pełna lista konektorów jest dostępna na stronie internetowej Google.

Podłączenie źródła danych powoduje utworzenie nowej jednostki. Określa ona:

  • Połączenie do BigQuery lub źródła danych
  • Zapytaną tabelę lub specyfikację SQL
  • Formatowanie wymiarów
  • Metrykę zagregowaną
  • Parametry – zazwyczaj okres czasu dla danych
  • Dostęp – którzy użytkownicy mogą edytować źródło danych i/lub edytować jego definicję
  • Częstotliwość synchronizacji danych („świeżość danych”) – typowo 1 godzina, w zakresie od 1 minuty do 12 godzin
  • Współdzielenie źródła danych – ograniczone do bieżącego raportu lub dozwolone współdzielenie w wielu raportach

Istnieją inne sposoby zawężania danych w raporcie niż bezpośrednio w źródle danych. Można użyć „kontrolek” i „ukrytych filtrów”, które opisano poniżej. Możliwe jest także łączenie poszczególnych źródeł danych („mieszanie danych”), co umożliwia złożoną agregację danych, która w przeciwnym razie byłaby trudna do osiągnięcia dla użytkowników nieposiadających dobrej znajomości języka SQL.

Każde żądanie danych z raportu jest tłumaczone na zapytanie SQL. Jego wynik jest tymczasowo zapisywany (buforowany) na czas określony w opcji „świeżość danych”, co zapewnia niemal natychmiastowy czas odpowiedzi i niskie koszty pojedynczego zapytania.

Właściciel raportu automatycznie staje się właścicielem źródła danych, które zostało utworzone w raporcie. Możliwe jest dodawanie współdzielonych źródeł danych z własnych raportów do innych raportów, których właścicielem jest użytkownik. Aby korzystać ze źródeł danych należących do innych użytkowników i edytować je, należy poprosić właściciela o zgodę, a właściciel musi jej udzielić.

Usunięcie wbudowanego źródła danych z raportu spowoduje jego usunięcie. Usunięcie udostępnionego źródła danych z raportu nie spowoduje jego usunięcia.

DataStudio – raporty

Po skonfigurowaniu źródła danych można utworzyć raport, dodając wykresy, w których można wybrać wymiar i/lub metrykę ze źródła danych.
Aby układ raportu był jak najbardziej przejrzysty, można dodać wiele stron raportu oraz inne elementy, takie jak tekst i obrazy.

Pola

Pole to kolumna danych. Istnieją dwa różne typy: wymiary i metryki. Wymiary zawierają kategorie lub jednostki, które chcesz mierzyć. Metryki opisują wymiary za pomocą liczb.

Oprócz pól automatycznie ładowanych ze źródła danych, można tworzyć własne pola poprzez:

  • Łączenie wymiarów w celu utworzenia nowego wymiaru
  • Łączenie metryk ze sobą lub z wymiarem w celu utworzenia nowej metryki

Wymiary

Wymiar jest kategorią informacji lub danych, a dokładniej macierzą danych. Na przykład podczas pomiaru ruchu na stronie internetowej wymiarami mogą być: przeglądarka, strona WWW, język itp. Jeśli używasz źródła danych opartego na bazie danych lub tabeli, wymiar reprezentuje kolumnę tabeli.

W systemie DS można zmienić tytuł, typ danych (tekst, liczba, data itp.) oraz opis każdego wymiaru.

Metryki

Metryka to zagregowane obliczenie lub operacja zastosowana do zbioru danych, np. liczba wpisów, suma, maksimum, minimum, średnia itp. Jest ona analogiczna do funkcji agregującej w zapytaniu SQL.

Na wykresach i w tabelach można łączyć wymiary i metryki.

Wykresy

Dostępne są następujące opcje:

  • Tabele (zwykłe i przestawne)
  • Wykresy
  • Karty wyników – elementy z pojedynczą metryką

Filtry

Filtrowanie w DS jest interpretowane w tle jako edycja kodu SQL źródła danych. W związku z tym użytkownik otrzyma te same dane niezależnie od tego, czy zastosuje filtr w momencie wprowadzania danych do DS (definicja zapytania SQL), czy na poziomie elementu raportu (filtr ukryty wykresu lub tabeli), czy też zastosuje go osoba przeglądająca raport (filtr użytkownika = element kontrolny). W BQ filtry zawsze będą tłumaczone na zapytania SQL.

Poprawne zastosowanie filtrów pozwala jednak uzyskać szybsze czasy ładowania. Zaleca się zdefiniowanie konkretnego zapytania SQL dla całego źródła danych i otrzymywanie tylko istotnych danych, zamiast żądania całej tabeli i filtrowania na poziomie raportu. Pozwala to również zaoszczędzić czas podczas wczytywania i zarządzania dostępnymi komponentami podczas edycji raportu.

Inne elementy

Inne elementy, które można dodawać do raportów:

  • Linki
  • Obrazy
  • Zawartość zewnętrzna – osadzony adres URL
  • Parametry (okres czasu, adres e-mail odwiedzającego, własne parametry)

Ponieważ raporty znajdują się pod określonym adresem URL, możliwe jest osadzenie raportów w dokumentach online, na stronach internetowych itp.

DataStudio – dostępy

Istnieją dwa różne rodzaje dostępów:

  1. Widok
  2. Edycja

Użytkownicy z dostępem do Widoku nie mogą wprowadzać żadnych zmian w układzie lub ustawieniach raportu. Mogą oni jedynie wchodzić
w interakcje z raportem i zazwyczaj eksportować go do pliku PDF, drukować lub tworzyć kopię (którą mogą następnie edytować, tj. dowiedzieć się, jak została utworzona).

Użytkownicy z dostępem Edycja mogą edytować zawartość raportu i zmieniać jego ustawienia. Właściciel raportu może zarządzać innymi właściwościami dostępu, takimi jak uniemożliwienie innym użytkownikom dodawania kolejnych użytkowników

Można także zezwolić na dostęp za pomocą łącza. Spowoduje to zmianę powyższego na:

  1. Udostępnianie łączy wyłączone – dostęp będą mieli tylko określeni użytkownicy
  2. Włączone udostępnianie łączy – dostęp mają określeni użytkownicy oraz dodatkowo:
    • 2.1. Każdy użytkownik z grupy, w której znajduje się łącze, może je przeglądać (np. tylko użytkownicy w Twojej firmie)
    • 2.2. Każdy użytkownik w grupie z łączem może edytować
    • 2.3. Każdy, kto posiada łącze, może przeglądać
    • 2.4. Każda osoba z linkiem może edytować
    • 2.5. Każda osoba w Internecie może znaleźć raport i go obejrzeć (nawet bez łącza)
    • 2.6. Każda osoba w Internecie może znaleźć raport i go edytować (nawet bez łącza)

Aby uniknąć konieczności konfigurowania różnych poziomów dostępu do raportów, można ustawić opcję 2.3 lub 2.5, ale nie zalecamy tego, jeśli raporty zawierają poufne informacje. Nie jest możliwe wyświetlenie ruchu w poszczególnych raportach – Google Analytics wyświetli tylko informacje zanonimizowane.

Dostęp do danych źródłowych opisano powyżej.

Aby uzyskać dostęp do bieżącej i interaktywnej wersji raportu, użytkownik musi znać albo:

  1. jego adres URL, lub
  2. dokładny tytuł raportu i jego właściciela. Opcjonalnie raport w formacie PDF może zawierać łącze do wersji online lub osadzonej raportu.

Jeśli użytkownik zna adres URL raportu i ma do niego dostęp, przeglądarka go wyświetli. Jeśli nie ma dostępu, zostanie otwarte okno dialogowe
z informacją, że musi poprosić właściciela o dostęp. Użytkownik może wybrać rodzaj dostępu, o który chce poprosić. Właściciel otrzyma powiadomienie, a po przyznaniu dostępu użytkownik będzie mógł otworzyć raport. Jeśli użytkownik nie zna adresu URL raportu, musi skontaktować się z właścicielem raportu w inny sposób. Właściciel raportu będzie musiał ręcznie odnaleźć raport i przyznać użytkownikowi dostęp do niego.

Raporty w formacie PDF mogą być chronione hasłem, ale można je udostępniać jak każdy inny typ pliku. Aby zapobiec nieuprawnionemu udostępnianiu, właściciel raportu może uniemożliwić innym użytkownikom eksportowanie raportu do formatu PDF. Powoduje to również wyłączenie opcji Drukowanie i kopiowanie.

Ponadto można również korzystać z funkcji rozproszonego udostępniania raportów za pomocą okresowo wysyłanych, automatycznie generowanych wiadomości e-mail, które zawierają:

  • Łącze do aktualnej wersji raportu
  • Podgląd raportu (zazwyczaj kilka pierwszych stron)
  • Załącznik z kopią raportu w formacie PDF z danymi z dnia wysłania raportu

Odbiorcy końcowi mogą przekazać tę wiadomość innym osobom. Jeśli któryś z użytkowników nie ma dostępu do raportu, po otwarciu adresu URL raportu będzie mógł zażądać dostępu. Nadal będą mogli otworzyć raport w formacie PDF.

Ta metoda może być jednak przydatna w przypadku konieczności dystrybucji raportu do osób spoza organizacji.