DynamoDB-CRUD en Query vs. Scan
Dataopslagdiensten gebruiken in AWS
Dunieski Otano
AWS Solutions Architect
De dure fout
Developer gebruikt Scan om één user te vinden
Leest hele tabel met 1 miljoen items
Rekening: $500 voor één lookup
Query had $0,01 gekost
CRUD-bewerkingen in DynamoDB
PutItem
: item maken of vervangen
GetItem
: item lezen op primaire sleutel
UpdateItem
: specifieke attributen wijzigen
DeleteItem
: item verwijderen
Query
: items op partition key ophalen (efficiënt)
Scan
: hele tabel lezen (duur)
Query vs. Scan: het cruciale verschil
Query
: vereist partition key, leest gerichte items
Snel, efficiënt, lage kosten
Scan
: leest hele tabel, filtert achteraf
Traag, duur, vermijd indien mogelijk
Regel: ken je de sleutel? Gebruik Query. Anders: herzie je ontwerp.
Race conditions voorkomen met voorwaardelijke expressies
Probleem: twee gebruikers updaten tegelijk hetzelfde item
Oplossing: voorwaardelijke expressies
Voorbeeld: update alleen als huidige waarde overeenkomt
UpdateItem-expressies: attributen wijzigen
SET
: attribuut instellen of nieuw attribuut maken
ADD
: getallen verhogen/verlagen, aan sets toevoegen
REMOVE
: attributen uit item verwijderen
DELETE
: elementen uit sets verwijderen
Pagineren met Query en Scan
Probleem
: grote resultaten overschrijden 1MB-limiet
Oplossing
: paginering met LastEvaluatedKey
Limit
: aantal items per pagina bepalen
Ga door tot LastEvaluatedKey null is
Laten we oefenen!
Dataopslagdiensten gebruiken in AWS
Preparing Video For Download...