Dwie duże tabele, sales_transaction_header i sales_transaction_line, są ściśle powiązane, niezmienne po załadowaniu i często łączone. Jak należy je modelować w BigQuery, aby zoptymalizować wydajność analizy?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Utwórz tabelę sales_transaction, która będzie przechowywać informacje sales_transaction_header jako wiersze, a wiersze sales_transaction_line jako zagnieżdżone i powtarzające się pola..
Dlaczego to jest odpowiedź
Poprawna odpowiedź to zagnieżdżone i powtarzające się pola. BigQuery jest zoptymalizowane pod kątem pracy ze zdenormalizowanymi danymi. Zagnieżdżanie danych w ten sposób minimalizuje liczbę skanowanych bajtów i operacji I/O, ponieważ wszystkie powiązane dane są przechowywane razem, co jest kluczowe dla wydajności zapytań analitycznych. Duplikowanie danych nagłówka (druga opcja) zwiększa rozmiar tabeli i koszty, a także utrudnia aktualizacje, choć dla niezmiennych danych problem aktualizacji jest mniejszy. Użycie typu danych JSON (trzecia opcja) jest mniej wydajne niż natywne zagnieżdżone pola, ponieważ wymaga parsowania. Oddzielne tabele (czwarta opcja) wymagają kosztownych operacji JOIN, co jest mniej wydajne niż zagnieżdżanie, zwłaszcza przy dużych zbiorach danych.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana