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

hata

AWS'de Veri Depolarını Kullanma

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ı)

işlemler

AWS'de Veri Depolarını Kullanma

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.

tara

AWS'de Veri Depolarını Kullanma

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

yarış

AWS'de Veri Depolarını Kullanma

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

ifadeler

AWS'de Veri Depolarını Kullanma

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

sayfalama

AWS'de Veri Depolarını Kullanma

Haydi pratik yapalım!

AWS'de Veri Depolarını Kullanma

Preparing Video For Download...