DynamoDB CRUD işlemleri ve Query vs Scan
AWS'de Veri Depolarını Kullanma
Dunieski Otano
AWS Solutions Architect
Pahalı bir hata
Geliştirici tek bir kullanıcıyı bulmak için Scan kullandı
1 milyon öğelik tablonun tamamını okudu
Fatura: Tek bir sorgu için $500
Query ile maliyet $0.01 olurdu
DynamoDB'de CRUD işlemleri
PutItem
: Öğeyi oluştur veya değiştir
GetItem
: Birincil anahtarla öğe oku
UpdateItem
: Belirli özellikleri değiştir
DeleteItem
: Öğeyi sil
Query
: Bölüm anahtarıyla getir (verimli)
Scan
: Tüm tabloyu oku (pahalı)
Query vs Scan: kritik fark
Query
: Bölüm anahtarı ister, belirli öğeleri okur
Hızlı, verimli, düşük maliyet
Scan
: Tüm tabloyu okur, sonra filtreler
Yavaş, pahalı; mümkünse kaçının
Kural: Anahtarı biliyorsanız Query. Bilmiyorsanız tasarımı gözden geçirin.
Koşullu ifadelerle yarış durumlarını önleme
Sorun: İki kullanıcı aynı öğeyi aynı anda güncelliyor
Çözüm: Koşullu ifadeler
Örnek: Yalnızca mevcut değer beklenenle eşleşirse güncelle
UpdateItem ifadeleri: özellikleri değiştirme
SET
: Özellik değerini ayarla veya yeni özellik oluştur
ADD
: Sayıları artır/azalt, kümelere ekle
REMOVE
: Öğeden özellik sil
DELETE
: Kümelerden öğe sil
Query ve Scan ile sayfalama
Sorun
: Büyük sonuçlar 1MB sınırını aşar
Çözüm
: LastEvaluatedKey ile sayfalama
Limit
: Sayfa başına öğe sayısını belirle
LastEvaluatedKey null olana kadar devam et
Haydi pratik yapalım!
AWS'de Veri Depolarını Kullanma
Preparing Video For Download...