Eine Orders DynamoDB-Tabelle verwendet OrderID als Partition Key (ohne Sort Key) und enthält über 100.000 Elemente. Sie müssen alle Bestellungen effizient abrufen, deren Attribut OrderSource gleich 'MobileApp' ist. Welches ist das effizienteste Design zur Verbesserung der Benutzererfahrung?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Erstellen Sie einen globalen sekundären Index (GSI) mit OrderSource als Partition Key und fragen Sie dann den GSI mit MobileApp als Schlüssel ab..
Warum dies die Antwort ist
Die effizienteste Lösung ist die Erstellung eines Global Secondary Index (GSI) mit OrderSource als Partition Key. Dies ermöglicht es Ihnen, den GSI direkt nach allen Bestellungen mit OrderSource = 'MobileApp' abzufragen, was eine schnelle und kostengünstige Operation ist. Ein Scan der Tabelle ist ineffizient, da er alle 100.000 Elemente liest und dann filtert, was bei großen Tabellen teuer und langsam ist. Ein Local Secondary Index (LSI) kann OrderSource nicht als Partition Key verwenden, da der Partition Key eines LSI immer der gleiche sein muss wie der der Basistabelle (OrderID). Ein GSI, der OrderSource als Sort Key verwendet, würde immer noch einen Scan des GSI erfordern, um alle Elemente mit einem bestimmten OrderSource-Wert zu finden, es sei denn, er wird mit einem anderen Partition Key kombiniert, der für die Abfrage nützlich ist.
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