Operacje CRUD i Query vs Scan w DynamoDB
Korzystanie z magazynów danych w AWS
Dunieski Otano
AWS Solutions Architect
Kosztowny błąd
Programista używa Scan, by znaleźć jednego użytkownika
Odczytuje całą tabelę z milionem rekordów
Rachunek: 500 USD za jedno wyszukanie
Query kosztowałoby 0,01 USD
Operacje CRUD w DynamoDB
PutItem
: tworzy lub zastępuje rekord
GetItem
: odczytuje rekord po kluczu głównym
UpdateItem
: modyfikuje wybrane atrybuty
DeleteItem
: usuwa rekord
Query
: pobiera rekordy po kluczu partycji (wydajne)
Scan
: odczytuje całą tabelę (kosztowne)
Query vs Scan: kluczowa różnica
Query
: wymaga klucza partycji, pobiera konkretne rekordy
Szybkie, wydajne, tanie
Scan
: odczytuje całą tabelę, filtruje po fakcie
Wolne, kosztowne — stosuj tylko w ostateczności
Zasada: znasz klucz → użyj Query. Nie znasz → przemyśl projekt tabeli.
Zapobieganie wyścigom przy użyciu wyrażeń warunkowych
Problem: dwóch użytkowników aktualizuje ten sam rekord jednocześnie
Rozwiązanie: wyrażenia warunkowe
Przykład: aktualizuj tylko wtedy, gdy bieżąca wartość jest zgodna z oczekiwaną
Wyrażenia UpdateItem: modyfikowanie atrybutów
SET
: ustawia wartość atrybutu lub tworzy nowy atrybut
ADD
: zwiększa/zmniejsza liczby, dodaje elementy do zbiorów
REMOVE
: usuwa atrybuty z rekordu
DELETE
: usuwa elementy ze zbiorów
Paginacja z Query i Scan
Problem
: duże wyniki przekraczają limit 1 MB
Rozwiązanie
: paginacja z użyciem LastEvaluatedKey
Limit
: określa liczbę rekordów na stronę
Kontynuuj, aż LastEvaluatedKey będzie null
Czas na praktykę!
Korzystanie z magazynów danych w AWS
Preparing Video For Download...