DynamoDB CRUD-operationer och Query vs Scan
Använda datalagringstjänster i AWS
Dunieski Otano
AWS Solutions Architect
Det kostsamma misstaget
Utvecklaren använder Scan för att hitta en användare
Läser hela tabellen med 1 miljon poster
Kostnad: 500 dollar för en enda sökning
Query hade kostat 0,01 dollar
CRUD-operationer i DynamoDB
PutItem
: Skapa eller ersätt en post
GetItem
: Läs post via primärnyckel
UpdateItem
: Ändra specifika attribut
DeleteItem
: Ta bort en post
Query
: Hämta poster via partitionsnyckel (effektivt)
Scan
: Läs hela tabellen (kostsamt)
Query vs Scan: den avgörande skillnaden
Query
: Kräver partitionsnyckel, läser specifika poster
Snabb, effektiv och billig
Scan
: Läser hela tabellen och filtrerar efteråt
Långsam, kostsam – undvik när möjligt
Regel: Känner du till nyckeln? Använd Query. Annars – se över din design.
Förhindra race conditions med villkorliga uttryck
Problem: Två användare uppdaterar samma post samtidigt
Lösning: Villkorliga uttryck
Exempel: Uppdatera endast om aktuellt värde matchar förväntat
UpdateItem-uttryck: ändra attribut
SET
: Sätt attributvärde eller skapa nytt attribut
ADD
: Öka/minska tal, lägg till i mängder
REMOVE
: Ta bort attribut från en post
DELETE
: Ta bort element från mängder
Paginering med Query och Scan
Problem
: Stora resultatsätt överstiger 1 MB-gränsen
Lösning
: Paginering med
LastEvaluatedKey
Limit
: Styr antal poster per sida
Fortsätt tills
LastEvaluatedKey
är null
Nu kör vi en övning!
Använda datalagringstjänster i AWS
Preparing Video For Download...