Zwei große Tabellen, sales_transaction_header und sales_transaction_line, sind eng gekoppelt, nach dem Laden unveränderlich und werden häufig verknüpft. Wie sollten Sie diese in BigQuery modellieren, um die Analyseleistung zu optimieren?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Erstellen Sie eine sales_transaction-Tabelle, die die sales_transaction_header-Informationen als Zeilen und die sales_transaction_line-Zeilen als verschachtelte und wiederholte Felder enthält..
Warum dies die Antwort ist
Die Modellierung mit verschachtelten und wiederholten Feldern in BigQuery ist ideal für eng gekoppelte Daten wie Header- und Positionsinformationen. Dies reduziert die Notwendigkeit von Joins, was die Abfrageleistung erheblich verbessert und die Kosten senkt, da weniger Daten gescannt werden müssen. Da die Daten nach dem Laden unveränderlich sind, gibt es keine Komplexität bei der Aktualisierung verschachtelter Strukturen. Die Duplizierung von Header-Daten in jeder Zeile (zweite Option) führt zu Datenredundanz und erhöht die Speicherkosten. Das Speichern als JSON (dritte Option) erfordert das Parsen der JSON-Daten bei jeder Abfrage, was die Leistung beeinträchtigt. Separate Tabellen mit Joins (vierte Option) sind weniger effizient als verschachtelte Felder, insbesondere bei häufigen Joins, und die Reihenfolge der WHERE-Klausel beeinflusst die Join-Leistung nicht direkt so stark wie die Datenmodellierung selbst.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich