BigQuery – ce este și cum să începeți? [Tutorial]

11/06/2020

Datele reprezintă noul aur – companiile și organizațiile orientate spre dezvoltare sunt conștiente de acest lucru. Companiile conștiente analizează procesele existente, fac modificări și îmbunătățiri pe baza cifrelor. Unii merg mai departe – profitând de oportunitățile oferite de tehnologie, anticipează tendințele, posibilele schimbări de pe piață, efectele deciziilor de afaceri care încă nu au fost luate.

Pe măsură ce afacerea crește, seturile de date se extind – gigaocteții se transformă în teraocteți sau petaocteți.  Pentru a menține un nivel adecvat al costurilor de întreținere a instrumentului de analiză și un timp relativ scurt de generare a rapoartelor, trebuie să faceți alegerea corectă în ceea ce privește tehnologia. În ajutor vă vine BigQuery – un serviciu dedicat efectuării de analize BigData, care angrenează multe instrumente de analiză, printre altele, popularul Google Analytics.

Ce este BigQuery de la Google?

Acesta este un depozit de date scalabil în cloud (cloud data warehouse).  El permite deservirea a milioane de interogări (query) și efectuarea de analize avansate de petabytes de date în limbajul SQL, fără a fi nevoie să vă faceți griji cu privire la întreținerea costisitoare a unei infrastructurii avansate.

BigQuery este unul dintre serviciile disponibile în Google Cloud Platform (GCP). Stocarea și procesarea seturilor de date se desfășoară în cloud, pe o infrastructură GCP stabilă, sigură și scalabilă (aici veți afla mai multe despre ce este Google Cloud Platform și cum suportă afacerile).

Cu ajutorul serviciului, puteți crea propriul instrument de analiză pentru a urmări dezvoltarea, procesele sau modificările în curs – de exemplu, în interiorul sau în jurul companiei. În combinație cu învățarea automatizată (ML – machine learning), permite construirea unui sistem care, de exemplu, va anticipa apariția diverșilor factori și va lua în considerare efectele lor potențiale. BigQuery vă poate ajuta, de asemenea, să optimizați performanța și costurile de întreținere ale unui sistem de analiză BigData existent.

Tehnologie fără servere

BigQuery este un depozit de date în cloud. Utilizând serviciile Google Cloud Platform, vă puteți concentra pe scalarea afacerii și pe extragerea din analiză a ceea ce este mai bun. Nu trebuie să petreceți timp suplimentar și buget pentru menținerea infrastructurii, efectuarea actualizărilor sau asigurarea unui nivel adecvat de securitate a serverelor.

Analiză instantanee

Pentru prelucrarea a terabytes de date BigQuery are nevoie de câteva secunde, iar pentru un petabyte – de aprox. 3 minute. Depozitele (warehouses) procesează seturi mari de date de câteva zeci de ori mai rapid decât sistemele de baze de date. Acest lucru vă permite să efectuați analize chiar și în timp real și să observați modificările „pe viu”.

Costuri flexibile

Costul serviciului BigQuery se ajustează la cerințele curente ale afacerii dvs. Ca și în cazul GCP, se plătește în funcție de consum. Costul de stocare a datelor (data storage) este de 20 USD/TB. Dacă datele nu sunt prelucrate timp de 90 de zile sau mai mult, pachetul se modifică în stocare pe termen lung, iar prețul serviciului scade cu 50%. Prelucrarea datelor costă 5 USD/TB, iar primul terabyte în fiecare lună este gratuit.

Această metodă de tarifare se traduce într-un TCO (total cost of ownership) mai mic în medie cu o 30% pe parcursul a trei ani decât în cazul altor soluții de analiză BigData. 

Fără interferențe în codul sursă

Pentru a utiliza BigQuery, nu este nevoie să efectuați modificări majore sau să rescrieți codul sursă. Asta pentru că BigQuery acceptă ANSI SQL:2011 și oferă interfețe software gratuite ODBC și JDBC.

Copie de rezervă automată

Instrumentul efectuează o copie de rezervă automată și stochează istoricul modificărilor timp de 7 zile. Acest lucru facilitează compararea rezultatelor cu perioada anterioară sau restabilirea datelor.

Analiza datelor din diferite surse

Cu BigQuery, puteți analiza date provenite dintr-o varietate de surse – din Google Marketing Platform, Google Analytics, YouTube și sute de aplicații externe SaaS. De asemenea, puteți muta datele în BigQuery din alte soluții de infrastructură decât GCP.

Suport pentru machine learning (ML)

Una dintre funcțiile disponibile este BigQuery ML, dedicată pentru crearea și dezvoltarea capacității de învățare automatizată folosind interogări SQL standard. BigQuery ML îmbunătățește viteza de dezvoltare a produselor care acceptă învățarea automatizată, reducând în același timp cerințele pentru scrierea codului sursă și mutarea datelor.

Analize de afaceri (BI)

BigQuery este un instrument excelent pentru efectuarea de analize de afaceri (BI – business intelligence).  Serviciul permite analizarea unor seturi uriașe de date și crearea de rapoarte extinse în câteva secunde. În același mod, sprijină crearea de rapoarte „ad hoc” – adică rapoarte care includ un set definit de date și nu necesită implicarea departamentului de analize sau IT pentru a pregăti un sumar.

În ambele cazuri, rapoartele pot fi prezentate utilizând instrumente de vizualizare a datelor, cum ar fi Google Data Studio, Looker și Tableau.

Exemple de utilizare BigQuery

Iată câteva exemple de utilizare a capacităților BigQuery de către companii bine-cunoscute:

  • UPS colectează zilnic date despre sute de mii de expedieri – inclusiv greutatea, dimensiunile, locația acestora. Prin utilizarea capacităților de învățare automatizată și de analiză a datelor, compania este capabilă să determine exact cum să încarce mașinile de livrare și containerele pentru a crește cât mai mult eficiența. Sistemul permite, de asemenea, pregătirea pentru perioade de trafic crescut – de exemplu, în preajma Crăciunului;
  • 20th Century Fox utilizează serviciile Google Cloud, inclusiv BigQuery și capacitățile machine learning. Creează modele de preferințe ale vizitatorilor și analizează clipurile promoționale ale filmelor pentru a determina cât succes va avea o anumită producție;
  • Safari Books Online este o bibliotecă online cu milioane de utilizatori care constă din peste 30000 de cărți și filme. Safari Books Online folosește BigQuery pentru a gestiona datele pe care le deține deja și pentru potrivi cel mai bine sugestiile de titluri și cele mai bune oferte pentru cititori;
  • Dow Jones (DJIA) este unul dintre cei mai mari indici bursieri care include companii precum Apple, Amazon si Boeing. Folosind BigQuery și ML, Dow creează platforma Data, News & Analytics Platform (DNA) care permite companiilor să analizeze efectele evenimentelor – de exemplu, ce schimbări au fost cauzate la bursă de uraganul Irma;
  • Spotify, cu ajutorul BigQuery, aduce utilizatorului melodia aleasă în câteva momente după apăsarea butonului de redare play  Nu ar fi fost nimic neobișnuit dacă platforma nu ar fi fost folosită de mai mult de 200 de milioane de utilizatori, iar în fiecare zi sunt adăugate 40.000 de melodii și înregistrări noi.

Cum să încep cu BigQuery? Ghid pas cu pas

Pentru a începe utilizarea BigQuery, trebuie să aveți un cont pe Google Cloud Platform. De asemenea, trebuie să cunoșteți limbajul SQL.

Accesați site-ul consolei Google.  

Selectați proiectul la care veți lucra. Lista de proiecte se află în meniul vertical de lângă titlul Google Cloud Platform.

jak zaczac z BigQuery krok 1

După ce ați selectat un proiect, activați Cloudshell în colțul din dreapta sus..

jak zaczac z BigQuery krok 2

Veți obține această vizualizare:

jak zaczac z BigQuery krok 3

Pentru a vedea cum arată baza de date și pentru a revizui informațiile generale (schemă, număr de rânduri, dimensiuni în octeți), utilizați următoarea comandă:

bq show bigquery-public-data:samples.shakespeare

Rezultatul interogării va arăta astfel:

jak zaczac z BigQuery krok 4

În comenzile bq, vom folosi steagul –use_leagcy_sql – acesta setează SQL standard drept limbă de interogare.

Pentru a valida și a verifica interogarea (query), este îndeajuns să adăugați un steag dry_run. Iată cum arată un exemplu de interogare cu acest steag:

bq query --use_legacy_sql=false --dry_run \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
LIMIT 5'

jak zaczac z BigQuery krok 5

Dacă interogarea trimisă către baza de date este corectă, puteți vedea răspunsul acesteia eliminând steagul –dry_run

bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
LIMIT 5'

Acesta este un exemplu de rezultat al unei astfel de interogări:

jak zaczac z BigQuery krok 6

Pentru a extrage anumite date din înregistrări, poate fi utilizată clauza where care selectează datele în funcție de o anumită valoare, regulă sau expresie regulată. Dacă doriți să extrageți din baza de date numai înregistrările care conțin în coloana word cuvântul raising, este îndeajuns să utilizați următoarea interogare:

bq query --use_legacy_sql=false --dry_run \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"
LIMIT 5'

Mai întâi, validați interogarea.

jak zaczac z BigQuery krok 7

Apoi, efectuați comanda de mai jos, fără –dry_run:

bq query --use_legacy_sql=false \
'SELECT
word
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"
LIMIT 5'

jak zaczac z BigQuery krok 8

Dacă doriți să aflați câte asemenea înregistrări sunt în baza de date, utilizați funcția de agregare COUNT (înregistrarea pe care doriți să o numărați). Interogarea ar trebui să arate în modul următor:

bq query --use_legacy_sql=false \
'SELECT
COUNT(word) as num_of_words
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word = "raising"’


Fiecărui tabel i se poate adăuga propria denumire folosind cuvântul cheie as. În acest caz, avem un nume care descrie ce a fost agregat în coloana dată. Rezultatul interogării arată după cum urmează:

jak zaczac z BigQuery krok 9

Să presupunem că doriți să găsiți toate pozițiile care conțin cuvântul raisin. În acest caz, utilizați cuvântul cheie LIKE care vă va ajuta să căutați după cuvântul-cheie specificat.

Dacă plasați semnul % înaintea cuvântului de căutare, sistemul va include, de asemenea, rezultate cu prefix, de exemplu, dispraisin.  Dacă adăugați acest caracter în ambele părți, de exemplu, %raisin%, veți obține rezultate care includ prefix și sufix, de exemplu, dispraisingly%

Când aveți mai multe coloane cu o funcție de agregare, trebuie să indicați comanda GROUP BY care va defini în funcție de ce coloane doriți să grupați rândurile.

bq query --use_legacy_sql=false \
'SELECT
word,
COUNT(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'

Rezultatul interogării este după urmează:

jak zaczac z BigQuery krok 10

Aflați posibilitățile GCP și BigQuery

Potențialul BigQuery poate fi descoperit cel mai bine în practică. Dacă doriți să aflați ce posibilități oferă soluțiile Google Cloud (inclusiv serviciul de analiză descris) companiei dvs., contactați un partener certificat Google Cloud Premier Partner.  

Veți primi un voucher în valoare de 500 USD pentru primele activități pe Google Cloud Platform, iar specialiștii Fly On The Cloud vă vor ajuta să descoperiți potențialul BigQuery.