Eine 10 PB große BigQuery-Tabelle mit Bestelldaten wird nach country_name und username (beides Strings) gefiltert; Dashboard-Abfragen sind langsam, wenn Filter angewendet werden. Wie sollten Sie die Tabelle für einen schnelleren Zugriff neu gestalten?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Clustern Sie die Tabelle nach country_name und username..
Warum dies die Antwort ist
Die beste Lösung ist, die Tabelle nach countryname und username zu clustern. Clustering organisiert die Daten physisch auf der Festplatte basierend auf den angegebenen Spalten, was die Abfrageleistung erheblich verbessert, wenn diese Spalten in der WHERE-Klausel verwendet werden. Da die Dashboard-Abfragen nach diesen beiden Feldern filtern, ermöglicht Clustering BigQuery, nur die relevanten Datenblöcke zu scannen, anstatt die gesamte 10 PB-Tabelle. Das Clustern nach countryname und Partitionieren nach username ist weniger effizient, da Partitionierung für sehr große, diskrete Datasets besser geeignet ist und username zu viele eindeutige Werte haben könnte, um eine effektive Partitionierung zu ermöglichen. Das Partitionieren nach beiden Spalten würde wahrscheinlich zu einer übermäßigen Anzahl kleiner Partitionen führen, was die Abfrageleistung beeinträchtigen kann. Das Partitionieren nach Ingestion-Zeit (PARTITIONTIME) würde die Filterung nach countryname und username nicht verbessern, da diese Spalte nicht in den Abfragen verwendet wird.
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