Een Orders DynamoDB-tabel gebruikt OrderID als de partitiesleutel (geen sorteersleutel) en bevat meer dan 100.000 items. Je moet efficiënt alle orders ophalen waarvan het OrderSource-attribuut gelijk is aan 'MobileApp'. Wat is het meest efficiënte ontwerp om de gebruikerservaring te verbeteren?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Maak een global secondary index (GSI) met OrderSource als de partitiesleutel en Query vervolgens de GSI met MobileApp als de sleutel..
Waarom dit het antwoord is
De meest efficiënte methode is het aanmaken van een Global Secondary Index (GSI) met OrderSource als partitiesleutel. Een GSI stelt u in staat om te zoeken op attributen die geen deel uitmaken van de primaire sleutel van de hoofdtabel. Door OrderSource als partitiesleutel te gebruiken, kunt u direct alle items opvragen (queryen) die overeenkomen met 'MobileApp', wat zeer efficiënt is, zelfs bij een groot aantal items. Een Scan uitvoeren is inefficiënt omdat het de hele tabel doorzoekt, wat kostbaar en traag is voor grote datasets. Een Local Secondary Index (LSI) kan niet worden gebruikt met OrderSource als partitiesleutel, omdat een LSI dezelfde partitiesleutel moet hebben als de hoofdtabel en alleen een andere sorteersleutel mag hebben. Een GSI met OrderSource als sorteersleutel zou nog steeds een scan vereisen over de partitiesleutel van de GSI om alle 'MobileApp' items te vinden, wat minder efficiënt is dan direct queryen op een partitiesleutel.
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