W ramach testowania różnych rozwiązań do analizy dużej ilości danych podłączyłem się do Google BigQuery. Narzędzie działa wyjątkowo prosto, model cenowy jest atrakcyjny nawet w porównaniu do rozwiązań na darmowych wersjach hadoop, głównie z uwagi na koszy sprzętu. Cennik zawiera 2 elementy:
- przechowywanie danych 80$/TB miesięcznie
- zapytania SQL 35$ za każdy przetworzony TB
Wrzucanie danych jest darmowe do stycznia 2014, potem będzie kosztowało 0.01$ za każde 10 000 wierszy. To są ceny cennikowe. Dodatkowo Google oferuje pakiety największy z nich przy ilości 4000TB (4PB), obniża cenę do 25$/TB miesięcznie.
Największe bazy danych, z którymi miałem do czynienia zawierały ~20TB danych/rocznie. Koszt inicjalny sprzętu, oprogramowania, konfiguracji w opcji hadoop to jakieś 300k$. Maintenance zapewne będzie droższy niż koszt samego przechowywania danych w BigQuery.
BigQuery można odpytywać w 2 trybach: intaraktywnym i batchowym, w pierwszym przypadku wyniki zapytania zwracane są natychmiast w drugim zapytanie wykonywane jest z mniejszym priorytetem (wyniki zwracane są w czasie 30min-3godz). Zaletą tego drugiego trybu jest niższa cena za przetworzone TB (20$).
Wyniki zapytań są cacheowane, co jest przyjeme bo drugie zapytanie do tej samej bazy wyświetla wyniki natychmiast, szczególnie robi to wrażenie przy bazach zawierających olbrzymie ilości rekordów.
Składnia SQL zaimplementowana w BigQuery zawiera podstawowe elementy klauzuli SELECT wspiera podstawowe funkcje agregujące np COUNT, wyrażenia arytmetyczne, operacje na stringach itp. W zupełności wystarcza do zadawania podstawowych zapytań do dużych zbiorów danych, których wyniki można potem dalej przetwarzać. Pełen opis składni można znaleźć tu: https://developers.google.com/bigquery/query-reference
Google podpiął kilka testowych baz danych np dotyczących urodzin (147mln rekordów), czy analizy pogody. Do bazy da się bez problemu podłączyć z interfejsu TABLEAU, wcześniej trzeba zainstalować sterownik ODBC stworzony przez firmę SIMBA (http://www.simba.com/). Samo podłączenie nie wymaga konfiguracji ODBC.
Odpytywanie bazy danych zawierającej ~150mln rekordów odbywa się w czasie prawie rzeczywistym, zapytanie zwraca wyniki w czasie <5s.
W ramach testów zrobiłem dashboard analizujący wystąpienia słów w sztukach napisanych przez Williama Shakespearea z bazy umieszczonej w BigQuery. Przy okazji jest to jeden z niewielu przypadków, kiedy wykorzystałem wizualizację typu word cloud.
KOMENTARZE