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

misstag

Använda datalagringstjänster i AWS

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)

operationer

Använda datalagringstjänster i AWS

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.

scan

Använda datalagringstjänster i AWS

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

race

Använda datalagringstjänster i AWS

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

uttryck

Använda datalagringstjänster i AWS

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

paginering

Använda datalagringstjänster i AWS

Nu kör vi en övning!

Använda datalagringstjänster i AWS

Preparing Video For Download...