Spis treści
Dane to nowe złoto – zdają sobie z tego sprawę firmy i organizacje nastawione na rozwój. Świadome biznesy prowadzą analizę istniejących procesów, wprowadzają zmiany i ulepszenia na podstawie liczb. Niektóre idą dalej – korzystając z możliwości, jakie daje technologia, przewidują trendy, prawdopodobne zmiany na rynku, skutki jeszcze niepodjętych decyzji biznesowych.
Wraz z rozwojem biznesu poszerzają się zbiory danych – gigabajty zamieniają się w terabajty czy petabajty. By zachować odpowiedni poziom kosztów utrzymania narzędzia analitycznego oraz niedługi czas generowania raportów, należy zadbać o odpowiedni dobór technologii. Z nieocenioną pomocą przychodzi BigQuery – usługa dedykowana prowadzeniu analiz Big Data, napędzająca wiele narzędzi analitycznych, między innymi popularne Google Analytics.
Co to jest BigQuery od Google?
To usługa bezserwerowej, skalowalnej hurtowni danych w chmurze (cloud data warehouse). Pozwala obsłużyć miliony zapytań (query) oraz prowadzić zaawansowaną analizę petabajtów danych w języku SQL, bez konieczności zamartwiania się kosztownym utrzymaniem zaawansowanej infrastruktury, skalowaniem czy równoważeniem ruchu.
BigQuery jest jedną z usług dostępnych w Google Cloud. Przechowywanie oraz procesowanie zestawów danych odbywa się w chmurze, na stabilnej, bezpiecznej i skalowalnej infrastrukturze Google Cloud (tutaj dowiesz się więcej o tym, co to jest chmura Google). Z pomocą usługi można stworzyć własne narzędzie analityczne – na przykład hurtownię danych – które posłuży śledzeniu rozwoju, procesów czy zachodzących zmian wewnątrz firmy lub wokół niej. BigQuery posiada wbudowane mechanizmy uczenia maszynowego (ML – machine learning), co pozwala rozbudować system o możliwości prowadzenia predykcji czy symulację różnych scenariuszy biznesowych.
Bezserwerowa technologia
BigQuery jest bezserwerową usługą, co oznacza, że procesy utrzymaniowe są poddane automatyzacji. Jako użytkownik nie musisz prowadzić konserwacji fizycznych maszyn, aktualizacji oprogramowania, ustawiać reguł skalowania, równoważenia ruchu czy skomplikowanych zasad bezpieczeństwa. O te elementy dba dostawca usług – Google Cloud – a Ty możesz skupić się na prowadzeniu analityki bez dodatkowych rozpraszaczy. Według badań ESG, total cost of ownership (TCO) bezserwerowej usługi BigQuery jest o 26-34% niższy w skali trzech lat w porównaniu do innych dostępnych rozwiązań analitycznych.
Szybka analiza pokładów danych
Hurtownie danych (warehouses) w odróżnieniu od baz danych (databases) są w stanie przeanalizować ogromne składy informacji i przeprowadzić kompleksową analizę, kiedy bazy danych wydajniej działają w modelu małe zapytanie/szybka odpowiedź. Przetworzenie terabajtów danych zajmuje BigQuery sekundy, a jednego petabajta – około 3 minut. Oznacza to, że mając pokłady danych bieżących i historycznych, przeprowadzenie analizy w BigQuery może zająć do kilku minut, kiedy inne systemu hurtowni mogą potrzebować nawet kilku godzin.
Brak ingerencji w kod źródłowy
Żeby korzystać z BigQuery, nie ma potrzeby wprowadzania dużych zmian czy przepisywania kodu źródłowego. To dzięki temu, że BigQuery wspiera standard ANSI SQL:2011 oraz zapewnia bezpłatnie interfejsy programowania ODBC i JDBC.
Automatyczna kopia zapasowa
Narzędzie wykonuje automatyczną kopię zapasową oraz przechowuje historię zmian przez 7 dni. Dzięki temu można łatwo porównać wyniki z poprzednim okresem lub przywrócić dane.
Analiza danych z różnych źródeł
Za pomocą BigQuery można prowadzić analizę danych pochodzących z różnych źródeł – z Google Marketing Platform, Google Analytics, YouTube oraz setek zewnętrznych aplikacji SaaS. Dane można zaimportować manualnie lub zbudować pipeline, który automatycznie będzie pobierał, ujednolicał i przesyłał dane do usługi.
Analityka multi-cloud z BigQuery Omni
BigQuery Omni umożliwia analizowanie danych z innych chmur publicznych bez opuszczania interfejsu usługi. Więcej o tej usłudze przeczytasz w artykule: BigQuery Omni. Hurtownia danych w modelu multi-cloud
Wbudowane modele machine learningu (ML)
Jedną z dostępnych funkcji jest BigQuery ML, dedykowana tworzeniu i rozwijaniu możliwości uczenia maszynowego przy użyciu standardowych zapytań SQL. BigQuery ML zwiększa szybkość rozwoju produktów uwzględniających machine learning, ograniczając przy tym wymagania dotyczące pisania kodu źródłowego i przenoszenia danych. Usługę można zintegrować również z platformą Vertex AI oraz TensorFlow, by tworzyć i trenować własne modele uczenia maszynowego.
Wsparcie Business Intelligence (BI)
BigQuery BI Engine to wbudowana funkcja analizy in-memory, która umożliwia prowadzenie analizy dużych zestawów lub wycinków danych niemal w czasie rzeczywistym. BI Engine jest zintegrowane z narzędziem wizualizacji danych Data Studio, by BigQuery jest doskonałym narzędziem Business Intelligence, wspierającym podejmowanie decyzji biznesowych. Posiada BigQuery BI Engine – wbudowany mechanizm analizy in-memory, który umożliwia prowadzenie analizy dużych zestawów danych niemal w czasie rzeczywistym. BI Engine jest zintegrowane z narzędziem wizualizacji danych Data Studio, by przedstawiać wyniki na czytelnych dashboardach. Usługa wspiera też prowadzenie raportów ad hoc, czyli takich, które obejmują pewien wycinek danych i nie wymagają angażowania działu analitycznego czy IT do przygotowania podsumowania.
Zobacz też:
- Cloud SQL, czyli baza danych w chmurze. Czym jest i dlaczego warto z niej korzystać?
- Cloud Storage od Google Cloud – magazyn w chmurze Google Cloud
- Tworzenie własnego programu do backupu bazy danych MySQL na Google Cloud [Node.js + cron]
Przykłady użycia BigQuery wśród firm
Oto przykłady, jak znane firmy wykorzystują możliwości BigQuery:
- UPS zbiera codziennie dane na temat setek tysięcy przesyłek – między innymi o ich wadze, wymiarach, lokalizacji. Dzięki wykorzystaniu możliwości machine learningu i analizy danych, firma jest w stanie bezbłędnie określić, jak załadować samochody dostawcze czy kontenery, by zapewnić najwyższą efektywność. System pozwala też przygotować się do okresów zwiększonego ruchu – na przykład wokół Świąt;
- 20th Century Fox korzysta z usług Google Cloud, w tym BigQuery i możliwości machine learning. Tworzy wzorce preferencji widzów i poddaje analizom zwiastuny filmów, by określić, jaką szansę powodzenia wśród odbiorców będzie miała dana produkcja;
- Safari Books Online to internetowa biblioteka z milionami użytkowników, składająca się z ponad 30 tysięcy książek i filmów. Safari Books Online korzysta z BigQuery, by obsłużyć już posiadane dane oraz by w jak najlepszy sposób dopasować propozycje tytułów i najlepsze oferty pod konkretnych czytelników;
- Dow Jones (DJIA) to jeden z największych indeksów giełdowych, w skład którego wchodzą takie spółki jak Apple, Amazon czy Boeing. Dow, wykorzystując BigQuery i ML, tworzy platformę Data, News & Analytics Platform (DNA), która pozwala firmom prowadzić symulacje scenariuszy i przewidywać, jakie zmiany na giełdzie mogą wywołać różne wydarzenia (na przykład katastrofy naturalne jak powodzie czy huragany);
- Spotify, z pomocą BigQuery sprawia, że każdy użytkownik (a miesięcznie z platformy korzysta ponad 400 mln osób) otrzymuje propozycje spersonalizowanych playlist, które mogą zmienić się w ciągu godzin – w zależności od słuchanych kawałków.
Koszt BigQuery – ile kosztuje usługa analizy w chmurze?
Standardowy model płatności za usługi chmurowe to pay-as-you-use, czyli płatność za rzeczywiste zużycie. Na cenę BigQuery składają się dwa główne elementy: koszt analizy i koszt przechowywania danych.
W przypadku kosztów analizy użytkownik ma do wyboru dwa modele rozliczeń:
- on-demand – elastyczny model bazujący na zużyciu, który obejmuje liczbę przetworzonych bajtów. Analiza pierwszego terbajta danych w miesiącu jest bezpłatna, następnie rozliczenie odbywa się według stawki 5 USD za 1 TB danych. To propozycja dla osób, które planują nieregularnie prowadzić analitykę;
- flat-rate – model, w którym z góry kupuje się sloty i rezerwuje określone zasoby vCPU, które następnie wykorzystuje się do powadzenia analizy. Można zobowiązać się do pracy usługi przez minimum 60 sekund (flex plan), przez 30 dni w ciągu miesiąca (monthly plan) lub przez 365 dni w ciągu roku (annual plan), a im większa rezerwacja z góry, tym niższa cena za usługę. To rozwiązanie dla firm, które mają w planach częste lub nieprzerwane korzystanie z usługi. Koszt usługi w modelu flat-rate jest uzależniony od czasu trwania zobowiązania oraz liczby zarezerwowanych slotów. Więcej informacji o rozliczeniu można znaleźć w dokumentacji Google Cloud.
Przechowywanie danych w usłudze również odbywa się w dwóch modelach:
- active storage – dla tabel i partycji, które były modyfikowane w okresie ostatnich 90 dni. Pierwsze 10 GB w miesiącu jest bezpłatne, regularna cena to 0,020 $ za GB;
- long-term storage – dla tabel i partycji, które nie były modyfikowane w ciągu ostatnich 90 dni. Przechowywanie w tym modelu jest o 50% tańsze niż w modelu active storage – 0,010 $ a GB, pierwsze 10 GB miesięcznie za darmo. Klasa przechowywania zmienia się automatycznie na long-term po 90 dniach bez ingerencji w dane.
Dodatkowe koszty mogą obejmować ładowanie danych, eksportowanie poza usługę, przesyłanie pomiędzy lokalizacjami lub dostęp przez Storage Read API.Żeby uzyskać dokładną estymację, można posłużyć się kalkulatorem kosztów lub zagłębić się w dokumentację Google Cloud.
Tutoriale BigQuery
Pierwsze kroki w usłudze
Żeby zacząć korzystać z BigQuery, musisz posiadać konto na Google Cloud (tutaj znajduje się poradnik, jak założyć i skonfigurować konto na Google Cloud). Potrzebna jest Ci też znajomość SQL.
Wejdź na stronę konsoli Google.
Wybierz projekt, na którym będziesz pracować. Lista projektów znajduje się w rozwijanym menu obok nagłówka Google Cloud.
Po wybraniu projektu włącz Cloudshell w prawym górnym rogu.
Otrzymasz taki widok:
Aby sprawdzić, jak wygląda baza danych oraz przejrzeć ogólne informacje (schemat, ilość wierszy, wagę w bajtach), użyj poniższej komendy:
bq show bigquery-public-data:samples.shakespeare
Tak będzie wyglądał rezultat wywołania:
W komendach bq będziemy używać flagi –use_leagcy_sql – ustawia ona standardowy SQL jako język zapytań.
Aby zwalidować i sprawdzić zapytanie (query), wystarczy dodać flagę dry_run. Tak wygląda przykładowe zapytanie z użyciem tej flagi:
bq query --use_legacy_sql=false --dry_run \ 'SELECT word FROM `bigquery-public-data`.samples.shakespeare LIMIT 5'
Jeśli zapytanie wysłane do bazy danych jest prawidłowe, można zobaczyć jego efekt usuwając flagę –dry_run
bq query --use_legacy_sql=false \ 'SELECT word FROM `bigquery-public-data`.samples.shakespeare LIMIT 5'
Tak wygląda przykładowy wynik takiego zapytania:
Aby wyodrębnić konkretne dane z rekordów, można użyć klauzuli where, która prowadzi selekcję według konkretnej wartości, reguły lub wyrażenia regularnego. Jeśli chcemy wyodrębnić z bazy tylko rekordy, które zawierają w kolumnie word słowo raising, wystarczy użyć poniższego zapytania:
bq query --use_legacy_sql=false --dry_run \ 'SELECT word FROM `bigquery-public-data`.samples.shakespeare WHERE word = raising LIMIT 5'
W pierwszej kolejności należy przeprowadzić walidację zapytania.
Następnie odpalić poniższą komendę, bez –dry_run:
bq query --use_legacy_sql=false \ 'SELECT word FROM `bigquery-public-data`.samples.shakespeare WHERE word = raising LIMIT 5'
Jeśli chcemy sprawdzić, ile takich rekordów jest w bazie, należy użyć funkcji agregującej COUNT(rekord, który chcemy zliczyć). Zapytanie powinno wyglądać następująco:
bq query --use_legacy_sql=false \ 'SELECT COUNT(word) as num_of_words FROM `bigquery-public-data`.samples.shakespeare WHERE word = raising’
Każdej tabeli można dodać własną nazwę używając słowa kluczowego as. W tym przypadku mamy nazwę opisującą, co zostało zagregowane w danej kolumnie. Wynik zapytania wygląda następująco:
Załóżmy, że chcemy znaleźć wszystkie pozycje, które zawierają w sobie wyraz raisin. W tym przypadku należy użyć słowa kluczowego LIKE, które pomoże szukać według podanego klucza.
Jeśli przed szukanym wyrazem postawimy znak %, system uwzględni też wyniki z prefiksem, np. dispraisin. Jeśli dodamy znak z obu stron, np. %raisin%, dostaniemy wyniki uwzględniające prefiks i sufiks, np. dispraisingly.
Gdy posiadamy więcej niż jedną kolumnę z funkcją agregującą, musimy wskazać polecaniem GROUP BY, według której kolumny chcemy grupować wiersze.
bq query --use_legacy_sql=false \ 'SELECT word, COUNT(word_count) AS count FROM `bigquery-public-data`.samples.shakespeare WHERE word LIKE raising GROUP BY word'
Wynik zapytania wygląda następująco:
BigQuery w marketingu – analiza danych z Google Analytics 4
Przemysław Modrzewski – analityk z Google Cloud i autor kursu “Analityka internetowa z Google Analytics 4” – opublikował tutorial wideo prezentujący, jak połączyć Google Analytics z BigQuery, bo pogłębić analizę danych marketingowych. W filmie uwzględnił między innymi praktyczne aspekty łączenia dwóch usług, wyciąganie danych o liczbie odwiedzin z tabeli GA w usłudze czy tworzenie zestawień danych dotyczących źródeł odwiedzin.
Przetestuj BigQuery za darmo
O potencjale BigQuery najlepiej przekonać się w praktyce. Jeśli chcesz dowiedzieć się, jakie możliwości Tobie oraz Twojemu biznesowi dają rozwiązania Google Cloud (w tym opisywana usługa analityczna), skontaktuj się z certyfikowanym Google Cloud Premier Partner.
Specjaliści FOTC pomogą Ci odkryć potencjał BigQuery i wesprą w prowadzeniu analizy danych firmowych w chmurze.