Twee grote tabellen, sales_transaction_header en sales_transaction_line, zijn sterk gekoppeld, onveranderlijk na het laden en worden frequent gejoind. Hoe modelleer je deze in BigQuery om de analyseprestaties te optimaliseren?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Maak een sales_transaction-tabel die de sales_transaction_header-informatie als rijen en de sales_transaction_line-rijen als geneste en herhaalde velden bevat..
Waarom dit het antwoord is
De correcte optie is het maken van één tabel met geneste en herhaalde velden. BigQuery is geoptimaliseerd voor het verwerken van grote, geneste structuren. Door de salestransactionline gegevens als geneste en herhaalde velden (RECORD en REPEATED) binnen de salestransactionheader te plaatsen, vermijd je dure JOIN-operaties, wat de queryprestaties aanzienlijk verbetert, vooral omdat de gegevens onveranderlijk zijn en vaak samen worden opgevraagd. De optie om header-gegevens te dupliceren leidt tot veel redundantie en hogere opslagkosten. Het opslaan als JSON is minder efficiënt voor query's dan BigQuery's native geneste typen, omdat het parsen van JSON tijdens elke query extra overhead veroorzaakt. Afzonderlijke tabellen met JOINs zijn suboptimaal, omdat JOINs in BigQuery, hoewel mogelijk, duurder zijn dan het direct opvragen van geneste gegevens, vooral bij veelvuldig gebruik.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig