CRUD operace v DynamoDB a Query vs Scan

Využití datových úložišť v AWS

Dunieski Otano

AWS Solutions Architect

Drahá chyba

  • Vývojář použije Scan k nalezení jednoho uživatele
  • Přečte celou tabulku s milionem položek
  • Účet: 500 $ za jediné vyhledání
  • Query by stálo 0,01 $

chyba

Využití datových úložišť v AWS

CRUD operace v DynamoDB

  • PutItem: Vytvoří nebo nahradí položku
  • GetItem: Načte položku podle primárního klíče
  • UpdateItem: Upraví konkrétní atributy
  • DeleteItem: Odebere položku
  • Query: Načte položky podle partition key (efektivní)
  • Scan: Přečte celou tabulku (nákladné)

operace

Využití datových úložišť v AWS

Query vs Scan: zásadní rozdíl

  • Query: Vyžaduje partition key, čte konkrétní položky
    • Rychlé, efektivní, levné
  • Scan: Přečte celou tabulku, filtruje až poté
    • Pomalé, nákladné, vyhýbej se mu
  • Pravidlo: Znáš-li klíč, použij Query. Jinak přehodnoť návrh.

scan

Využití datových úložišť v AWS

Předcházení race conditions pomocí podmíněných výrazů

  • Problém: Dva uživatelé aktualizují stejnou položku zároveň
  • Řešení: Podmíněné výrazy
  • Příklad: Aktualizace proběhne jen tehdy, pokud aktuální hodnota odpovídá očekávané

souběh

Využití datových úložišť v AWS

Výrazy UpdateItem: úprava atributů

  • SET: Nastaví hodnotu atributu nebo vytvoří nový atribut
  • ADD: Zvýší/sníží čísla, přidá do množin
  • REMOVE: Odstraní atributy z položky
  • DELETE: Odebere prvky z množin

výrazy

Využití datových úložišť v AWS

Stránkování s Query a Scan

  • Problém: Velké sady výsledků překračují limit 1 MB
  • Řešení: Stránkování pomocí LastEvaluatedKey
  • Limit: Určuje počet položek na stránku
  • Pokračuj, dokud LastEvaluatedKey není null

stránkování

Využití datových úložišť v AWS

Pojďme cvičit!

Využití datových úložišť v AWS

Preparing Video For Download...