Blog Analityczny. Narzędzia. Techniki. Rozwiązania Analityczne.

Integracja Google Analytics 4 i BigQuery. Ile to kosztuje? Kalkulator.

12.2022 | Google Analytics 4 | Google BigQuery | Google Cloud Platform

1. BigQuery w ekosystemie Google Analytics

BigQuery to usługa bazy danych świadczona przez Google w ramach produktów Google Cloud Platform.

BigQuery to usługa bezserwerowej, skalowalnej hurtowni danych w chmurze (tzw. cloud data warehouse). Przeznaczona jest do obsługi dużych zbiorów danych wraz z dużą ilością zapytań SQL.

Charakterystyczne cechy BigQuery to wykorzystanie:

  • BI Engine - wbudowana, wydajna funkcja analizy in-memory, pozwalająca na obsługę dużych wolumenów zapytań w czasie rzeczywistym
  • BigQuery ML - funkcja uczenia maszynowego , pozwalająca na budowę modeli przy użyciu SQL-a
  • BigQuery Omni - umożliwia wywoływanie zapytań z innych baz danych, w ramach środowiska BigQuery
  • Data QnA - umożliwia tekstowe odpytywanie - zadawanie pytań - do zestawów danych
  • Connected Sheets - umożliwia budowę połączenia pomiędzy zestawem BigQuery a kopią danych w Google Sheets
  • Geospatial data - umożliwia wykorzystanie danych dla usług typu GEO

Tutaj jest film opisujący usługę:

Wraz z Google Analytics 4 została wprowadzona natywna integracja między GA4 i BigQuery. W rezultacie, wszystkie dane zebrane przez Google Analytics są przesyłane strumieniowo do bazy danych BigQuery (oczywiście jeżeli dokonamy stosownej integracji => jak to zrobić, przeczytasz tutaj).

Równocześnie Google ograniczył dostęp do Google Analytics 4 za pomocą API. Tym samym połączenie do Looker Studio za pośrednictwem konektora GA4 również będzie limitowane z uwagi na wspomniane ograniczenia.

Oznacza to, że wszystkie raporty Looker Studio powinny być przełączone na konektor BigQuery jako główne źródło zasilania raportu. Jeśli nie, możesz spodziewać się pewnych trudności w pracy z raportami Looker Studio, szczególnie jeżeli zawierają "znaczne" ilości wykresów

Więcej informacji odnośnie limitów API GA4 można znaleźć pod poniższymi adresami:

2. BigQuery. Ile to kosztuje? Zasady naliczania kosztów

Jako część Google Cloud Platform, BigQuery jest również usługą płatną.

Koszt BigQuery opierają się na dwóch głównych składnikach - ilustrujemy to na poniższym rysunku:

BigQuery

2.1. Storage: cena za magazyn (składowanie danych)

Cena za wykorzystaną powierzchnię dyskową (storage), różni się nieznacznie, w zależności od wyboru regionu / strefy (regions / zones), w której chcemy trzymać nasze dane np.

  • Przy wyborze strefy Europe (eu), koszt active local storage wynosi => 0.02 USD per GB
  • Przy wyborze strefy Zürich (europe-west6), koszt active local storage wynosi => 0.025 USD per GB
  • Przy wyborze strefy Madrid (europe-southwest1), koszt active local storage wynosi => 0.029 USD per GB
  • Przy wyborze strefy Frankfurt (europe-west3), koszt active local storage wynosi => 0.023 USD per GB

Pełny cennik za wykorzystaną przestrzeń dyskową (storage) dla strefy Frankfurt (europe-west3):

Istotny jest również podział na Active storage i Long-term storage:

  • Active storage => Obejmuje wszystkie tabele lub partycje tabeli, które zostały zmodyfikowane w ciągu ostatnich 90 dni
  • Long-term storage => Obejmuje wszystkie tabele lub partycje tabeli, które nie były modyfikowane przez 90 kolejnych dni.

Co istotne - nie ma różnicy, w wydajności, ani dostępności między pamięcią aktywną a długoterminową.

Przykładowa kalkulacja kosztu pojemności

Spróbujmy zatem wykonać kalkulację kosztu BigQuery (koszt per miesiąc) dla kilku wybranych pojemności (dla strefy Europe - EU):

  • za 100 MB na pół miesiąca, płacisz $0.001
  • za 500 GB na pół miesiąca, płacisz $5
  • za 1 TB na cały miesiąc, płacisz $20
  • za 10 TB na cały miesiąc, płacisz $200
  • za 100 TB za cały miesiąc, płacisz $2000

Case study 1

Google Analytics w serwisie generuje 15 000 000 zdarzeń per miesiąc. Rozpisz estymację kosztu powierzchni (storage) BigQuery na najbliższy rok.

Przykład kalkulacji kosztu storage dla serwisu, generującego 15 000 000 zdarzeń per miesiąc:

Number of month Amount storage GB Price in USD
Month 1 25.00 0.57
Month 2 50.00 1.15
Month 3 75.00 1.72
Month 4 100.00 2.30
Month 5 125.00 2.88
Month 6 150.00 3.45
Month 7 175.00 4.02
Month 8 200.00 4.60
Month 9 225.00 5.17
Month 10 250.00 5.75
Month 11 275.00 6.32
Month 12 300.00 6.90

A zatem roczny koszt powierzchni (składowania danych => storage) wyniesie około 44.85 USD.

Case study 2

Google Analytics w serwisie generuje 150 000 000 zdarzeń per miesiąc. Rozpisz estymację kosztu powierzchni (storage) BigQuery na najbliższy rok.

Przykład kalkulacji dla serwisu, generującego 150 000 000 zdarzeń per miesiąc:

Number of month Amount storage GB Price in USD
Month 1 250.00 5.75
Month 2 500.00 11.50
Month 3 750.00 17.25
Month 4 1000.00 23.00
Month 5 1250.00 28.75
Month 6 1500.00 34.50
Month 7 1750.00 40.25
Month 8 2000.00 46.00
Month 9 2250.00 51.75
Month 10 2500.00 57.50
Month 11 2750.00 63.25
Month 12 3000.00 69.00

A zatem roczny koszt dla storage wyniesie 448.5 USD.


Kalkulator kosztu pojemności (storage)

Podaj miesięczną liczbę requestów w Google Analytics:

Gdzie znajdę miesięczną liczbę requestów?

  • Universal Analytics: Admin => Property Settings
  • Google Analytics 4: Reports => Engagement => Events


2.2. Analysis Pricing: cena za wykonane zapytania/operacje do bazy

Cena za wykonane zapytania analityczne => co to znaczy?

Analysis pricing to koszt przetwarzania zapytań, w tym zapytań SQL, funkcji zdefiniowanych przez użytkownika, skryptów oraz niektórych instrukcji klasyfikowanych jako DML i/lub DDL, które skanują tabele.

A zatem jest to koszt, który jest wprost proporcjonalnie zależny od naszej aktywności analitycznej - im więcej odpytujemy zbiór danych, tym większy będzie ten koszt.

Google Cloud Platform daje możliwość wyboru dwóch alternatywnych podejść cenowych:

  • Model 1 => On-demand pricing (koszt zmienny, liczony za zadane zapytania)
  • Model 2 = > Flat-rate pricing (koszt stały tzn. stała stawka - cena za rezerwację zasobu)

2.2.1. On-demand pricing => Cena za zadane zapytania

W tym modelu cenowym, opłaty są naliczane, za liczbę bajtów przetworzonych przez każde zapytanie. Pierwszy 1 TB wykorzystanych danych jest bezpłatny w każdym miesiącu.

Opłata może się różnić w zależności od regionu / strefy.

  • Koszt 1 TB wynosi 5 USD dla regionu Europe EU
  • Koszt 1 TB wynosi 6.50 USD dla regionu Frankfurt (europe-west3)
  • Koszt 1 TB wynosi 7 USD dla regionu Zürich (europe-west6)

Ważne jest, aby podkreślić, że ten koszt jest płacony za zapytania o dane. Tak więc, jeśli nie wykonujesz żadnych prac (zapytań) z danymi, nie ma żadnych kosztów. Co więcej - przed każdym zapytaniem do bazy - możesz sprawdzić koszt takiego zapytania, a następnie zrezygnować (zmodyfikować), jeśli widzisz, że koszt jest zbyt duży.

Wyciąg z dokumentacji Google BigQuery dla regionu Frankfurt (europe-west3):

Przykładowa kalkulacja kosztu wg kalkulatora zamieszczonego na stronie Google:

https://cloud.google.com/products/calculator#id=023b45c8-46d2-468d-b580-df2dc334a237

Kalkulacja dla regionu Frankfurt (europe-west3):

Jeżeli wykonamy zapytania, które łącznie pobierają 2 TB danych to nasz koszt per miesiąc wyniesie:

  • 6,50 USD per month (płacimy efektywnie za 1 TB, bo pierwsze 1 TB jest za darmo)

Jeżeli wykonamy zapytania, które łącznie pobierają 10 TB danych to nasz koszt per miesiąc wyniesie:

  • 58,50 USD per month (płacimy efektywnie za 9 TB, bo pierwsze 1 TB jest za darmo)

2.2.2. Flat-rate pricing => Cena za rezerwację stałego zasobu obliczeniowego

W tym modelu cenowym kupujesz Sloty.

Czym jest slot?

Slot to pojęcie stosowane w kontekście usługi BigQuery.

Jest to jednostka mocy obliczeniowej, która jest wykorzystywana podczas wykonywania zapytań w BigQuery. Sloty są przydzielane do zapytań w zależności od ich złożoności i wymagań dotyczących mocy obliczeniowej. Im więcej slotów jest przydzielonych do zapytania, tym szybciej jest ono wykonywane.

Minimalny rozmiar zobowiązania to 100 slotów lub wielokrotność (200, 300, …, 1000 etc.). Nie ma ograniczeń co do liczby zobowiązań, które możesz mieć.

Sloty mogą być zakupione jako nastepujące plany (zobowiązania):

A. Flat-rate pricing. Plan Flex => jest to zobowiązanie krótkoterminowe nawet na 60 sekund

Przykład wyceny planu Flex dla Frankfurt (europe-west3):

=> 5,2 USD za godzinę działania, dostępne 100 slotów

B. Monthly flat-rate commitment => jest to zobowiązanie miesięczne

W przypadku zobowiązania miesięcznego płacisz za określoną liczbę slotów przez jeden miesiąc, a następnie za każdą sekundę, dopóki nie usuniesz zobowiązania lub nie przekształcisz go w roczny plan zobowiązań.

Cennik dla zobowiązania miesięcznego, w strefie Frankfurt (europe-west3) wynosi:

Istotne jest to, że:

Nie można skasować (odwołać) planu zobowiązania miesięcznego przed upływem 30 dni od momentu, gdy plan (zobowiązanie) stanie się aktywne.

Jednak po 30 dniach, dostajemy już możliwość usunięcia w dowolnym momencie, a opłata zostanie naliczona tylko za sekundy, w których nasze zobowiązanie było aktywne.

Jeżeli nie dokonamy zamknięcia (usunięcia) planu, to będzie on kontynuowany w modelu rozliczenia per sekunda (plan - zobowiązanie - Flex, opisane wyżej).

C. Annual flat-rate commitment => jest to zobowiązanie roczne (365 dni)

Przy rocznym zobowiązaniu płacimy za określoną liczbę slotów przez jeden rok.

Cennik miesięczny, przy planie rocznym, dla lokalizacji Frankfurt (europe-west3):

Po upływie roku zobowiązanie roczne jest domyślnie przekształcane w zobowiązanie miesięczne (Monthly flat-rate commitment), aczkolwiek możemy zdefiniować inny typ przekształcenia np. dalej w plan roczny lub w zobowiązanie typu Flex.

Czy opłaca się korzystać ze zobowiązań długoterminowych?

W przypadku planów miesięcznych i rocznych otrzymujesz niższą cenę w zamian za długoterminowe zobowiązanie dotyczące wydajności. Widać to np. porównując koszt miesiąca w zobowiązaniu miesięcznym oraz rocznym.