Strona główna

10 sposobów na optymalizację kosztów BigQuery

10 sposobów na optymalizację kosztów BigQuery

Optymalizacja kosztów BigQuery
Google BigQuery to potężne narzędzie, które pomóc Ci uzyskać cenne informacje z Twoich danych. Należysz jednak pamiętać, że BigQuery może być również kosztowne, jeśli nie będziesz go używać w sposób zoptymalizowany.
W Bigglo zetknęliśmy się z wieloma projektami, które były inicjacyjnie tworzone przez agencje marketnigowe lub firmy oferujące usługi analityki internetowej. Niestety większośc z tych firm nie ma certyfikowanycchh inżynierów rozumiejących jak dobrze zoptymalizować koszty BigQuery co naraziło ich klientów na olbrzymie i zbędne wydatki.
Optymalizacja kosztów BigQuery polega na stosowaniu różnych strategii, które pomogą Ci zmniejszyć koszt bez utraty funkcjonalności i wydajności. Dzięki optymalizacji możesz zaoszczędzić znaczną ilość pieniędzy, które możesz przeznaczyć na inne cele biznesowe.
Gotowy na obniżenie kosztów BigQuery? Skorzystaj z naszych praktycznych porad!

Rozumienie Kosztów BigQuery

Koszt BigQuery składa się z trzech głównych elementów:
Jako, że ten artykuł jest skoncentrowany na optymalizacji i redukcji kosztów BigQuery nie będę opisywać się w nim o kosztach oraz cenach. Przejdź tutaj, aby dowiedzieć się więcej za co i ile zapłacisz w BigQuery.

Techniki optymalizacji kosztów w BigQuery

Wraz ze wzrostem ilości oraz rodzajów danych jakie twoja firma ładuje oraz przechowuje oraz przetwarza w hurtowni danych pojawią się też większe koszty ich magazynowania.
Szczęśliwie, są pewne techniki, które pomogą je zoptymalizować. Poniżej znajdziesz te, które uważam za najistotniejsze z punktu widzenia finalnego wpływu na koszt:

1. Mądre zarządzanie cyklem życia danych

Tutaj chodzi głównie o to aby nie magazynować danych bez sensu. Upewnij się, że koszty za aktywne przetrzymywanie danych są zredukowane do minimum regularnie usuwając niepotrzebne dane bądź archiwizując je do przechowywania długoterminowego.
Jeśli wiesz, że tworzysz tymczasowe tabele do analitycznego zadania ad-hoc, zawsze zdefiniuj odpowiednią długość życia danej tabeli.
→ Wpływ na koszt przechowywania danych.

2. Partycjonowanie tabel

Jednym z najpotężniejszych narzędzi optymalizacji kosztów Google BigQuery jest partycjonowanie tabel. Partycjonowanie polega na podziale tabel na mniejsze zgodnie z wartościami przybranymi w wierszach konkretnej kolumny daty bądź czasu.
Dzięki takiemu podejściu BigQuery będzie skanować tylko dane, które spełniają wymogi w filtrach dat naszego zapytania co może drastycznie obniżyć koszt jego egzekucji.
→ Wpływ na koszt procesowania danych.
Choć teoretycznie w BigQuery możemy partycjonować tylko po polach daty i czasu, są też pewne triki aby partycjonować po wymiarach przybierających inne typy danych i nie jest to klastrowanie 😉

3. Klastrowanie Tabel

Mechanizm klastrowania tabeli jest bardzo podobny do partycjonowania ale możesz go zastosować na kolumnie o dowolnym typie. Sens klastrowania ma wtedy jeśli często segmentujesz swoje dane i filtrujesz według pewnych wymiarów (np. Nazwa kraju, kontynentu, nazwa produktu czy segment użytkownika). Segmenty też powinny być na tyle duże aby był sens po nich klastrować dane.
→ Wpływ na koszt procesowania danych.

4. Przetwarzanie wsadowe a strumieniowanie danych

Przetwarzanie wsadowe ma jedną ogromna zaletę nad strumieniowaniem- jest zupełnie darmowe. Co do zasady w sytuacji, w której dla biznesu nie jest krytycznym posiadanie dostępu do danych w trybie rzeczywistym powinieneś korzystać z przetwarzania wsadowego.
→ Wpływ na koszt strumieniowania danych.

5. Strategia Inkrementacji danych

Dzięki wykorzystaniu takich narzędzi jak Dataform czy Dbt możesz zaoszczędzić wiele kosztów związanych z dodawaniem, i nadpisywaniem Twoich rekordów zgodnie ze strategią inkrementacji danych w Twoich tabelach. W swoich procesach transformacyjnych staraj się używać metody insert_overwrighth lub merge. Podobną strategię możesz stosować używając natywnej opcji zaplanowanych zapytań.
→ Wpływ na koszt procesowania danych.

6. Materializacja wyników zapytania w etapach

Jeśli zapytanie jest duże i składa się z wielu podzapytań, zapisanie każdego etapu do tabeli docelowej skutecznie buforuje wyniki każdego etapu, zmniejszając ilość odczytywanych danych. Dodatkowe koszty przechowywania wyników pośrednich będą prawie zawsze znacznie niższe niż koszty wielokrotnego uruchamiania całego zapytania.
→ Wpływ na koszt procesowania danych.

7. Widoki, zmaterializowane widoki i tabele

Widoki, zmaterializowane widoki oraz tabele to trzy różne metody “przetrzymywania” danych w Twoich zbiorach danych. Decydując się na to z jakiej formy będziesz konkretnie korzystać w danym scenariuszu wpłyniesz zarówno na koszt związany z przetrzymywaniem danych jak i ich przetwarzaniem.
Dla przykładu widok nie będzie generował kosztów za przetrzymywanie danych gdyż nie zajmuje on fizycznych bajtów na dysku. Zbyt częste jednak wykorzystywanie go w zapytaniu lub za pomocą narzędzia BI wygeneruje znacznie większy koszt procesowania danych aniżeli wykorzystanie Tabeli lub zmaterializowanego widoku.
Inną sprawą jest, że widoki oraz zmaterializowane widoki mają wiele ograniczeń, których zwykłe tabele posiadać nie będą.
→ Wpływ na koszt przechowywania i procesowania danych.

8. Optymalizacja kodu SQL

Jest wiele technik, których uważają eksperci manipulacji danych SQL mających na celu optymalizację działania zapytania pod kątem jego szybkości egzekucji oraz liczby przeprocesowanych bajtów w celu osiągnięcia konkretnego rezultatu biznesowego.
Poniżej zebrałem te, które powinny być stosowane przez Was w celu optymalizacji czasu oraz kosztów procesowania danych przez BigQuery.
→ Wpływ na koszt procesowania danych.

9. Architektura wielowarstwowa

W zasadzie to jedno z głównych konceptów nie tylko optymalizacji kosztów ale też lepszego zarządzania nimi. Dzięki rozdzieleniu zadań replikacyjnych, transformacyjnych oraz analitycznych możesz zaoszczędzić ogrom pieniędzy związanych z nieoptymalnym wykorzystaniem Twoich tabel przez analityków oraz Twoje narzędzia Business Intelligence.
Taka architektura pomoże Ci też lepiej analizować koszty w podziale na Data Sciencie, Data Engineering oraz Business Intelligence i zapewnia większą kontrolę nad dostępem do Twoich danych oraz ich finalnym bezpieczeństwem.
W Bigglo mamy doświadczenie z tworzeniem wielowarstwowej architektury platformy analitycznej wraz z możliwością rozbudowy do architektury i filozofii Data Mesh.

10. Monitorowanie kosztów BigQuery

Ciężko będzie Ci zoptymalizować koszt BigQuery jeśli go nie mierzysz. Dlatego istotne jest aby w pierwszej kolejności zaimplementować narzędzia umożliwiające Ci monitorowanie oraz alertowanie w momencie pojawienia się sytuacji nadzwyczajnych z użyciem Twojej hurtowni danych.
Jest wiele możliwości implementacji takiego narzędzia. Możesz wykorzystać Billing API, ustawiając eksport danych dotyczących kosztów związanych z BigQuery i za pomocą języka SQL tworzyć tabelę, która przetrzyma całą historię dziennych kosztów związanych z BigQUery, a jej rezultat pokazać w Looker Studio.
Jeśli jesteś jednak zainteresowany analizą na poziomie zapytań, jobów i użytkowników możesz skorzystać z eksportu logów do “zlewu” i zapisanie bezpośrednio ich w BigQuery lub odpytania tabeli INFORMATION_SCHEMA.JOBS.
Aby przeliczyć koszt związany przechowywaniem danych polecam Ci skorzystanie z INFORMATION_SCHEMA.PARTITIONS. Po połączeniu danych z obecnym cennikiem będziesz mógł dokładnie oszacować koszt przechowywania każdej z tabel w Twoich zbiorach danych.

Podsumowanie

Optymalizacja kosztów BigQuery to niełatwe i wielopoziomowe zadanie. Sprowadza się do współpracy inżynierów danych oraz analityków na co dzień pracujących z danymi. W grę wchodzi stworzenie idealnego balansu pomiędzy częstotliwością odświeżania danych ze źródła a faktyczną potrzebą biznesową i analityczną.
Dodatkowo bardzo istotnym elementem są umiejętności pisania zapytań SQL, które nie tylko generują oczekiwany rezultat, ale także robią to w najtańszy i najszybszy sposób. Do tego potrzebne są lata praktyki pisania zapytań SQL oraz dokładne zrozumienie działania BigQuery.
Kuszące może być zlecenie takiego projektu agencji marketingowej lub takiej, która specjalizuje się w analityce internetowej. W rzeczywistości może to firmie przynieść nie tylko ogromne koszty BigQuery ale również błędne rezultaty wykonywanych przez nich modeli i zapytań.
W Bigglo zatrudniamy certyfikowanych inżynierów Google Cloud, którzy na bieżąco śledzą wszystkie nowinki i zmiany w BigQuery, dzięki czemu gwarantują wysokie kompetencje tworzenia architektury hurtowni danych, jej bezpieczeństwa oraz optymalizacji kosztów związanych z jej utrzymaniem.
Chcesz zmniejszyć koszty BigQuery?
SPIS TREŚCI
Ikona plików cookies

Ustawienia plików cookies

Używamy plików cookies, aby zapewnić Ci najlepsze wrażenia z korzystania z naszej strony. Możesz wybrać, które pliki cookies chcesz zaakceptować.
Ikona plików cookies

Informacje o plikach cookies

Szanujemy Twoją prywatność

Używamy plików cookies lub podobnych technologii w celu zapewnienia Ci dostępu do serwisu, usprawniania jego działania, profilowania i wyświetlania treści dopasowanych do Twoich potrzeb. W każdej chwili możesz zmienić ustawienia plików cookies lub podobnych technologii poprzez zmianę ustawień prywatności w przeglądarce bądź aplikacji lub zmianę swoich preferencji w zakładce Ustawienia cookies w stopce strony. Pamiętaj, że zmiana ta może spowodować brak dostępu do niektórych funkcji serwisu.
Dane osobowe dotyczące korzystania z serwisu, w tym zapisywane i odczytywane z plików cookies lub podobnych technologii będą przetwarzane w celu zapewnienia dostępu do serwisu, w celach marketingowych, w tym profilowania, w celach wewnętrznych związanych ze świadczeniem usług oraz prowadzeniem działalności gospodarczej, w tym dowodowych, analitycznych i statystycznych, wykrywania i eliminowania nadużyć oraz w celu wykonywania obowiązków wynikających z przepisów prawa.
Przysługuje Ci prawo do dostępu do danych, ich usunięcia, ograniczenia przetwarzania, przenoszenia, sprzeciwu, sprostowania oraz cofnięcia zgód w każdym czasie. Szczegółowe informacje dotyczące przetwarzania danych oraz przysługujących Ci uprawnień, informacje dotyczące plików cookies lub podobnych technologii, w tym dotyczące możliwości zarządzania ustawieniami prywatności, znajdują się w Polityce Prywatności.