DynamoDB işlemleri destekler mi?

Evet. DynamoDB, TransactWriteItems ve TransactGetItems üzerinden ACID işlemlerini destekler. Her işlem, aynı hesap ve bölgedeki bir ya da daha fazla tablo genelinde 100'e kadar eylemi, toplamda 4 MB boyut sınırıyla, tek bir ya-hep-ya-hiç işlemde gruplar. Herhangi bir eylem başarısız olursa hiçbiri uygulanmaz.

İki işlem API'si

  • TransactWriteItemsPut, Update, Delete ve ConditionCheck eylemlerini atomik olarak yığınlar. Eşzamanlı ve idempotenttir.
  • TransactGetItems — birden çok öğeyi tek bir atomik, tutarlı anlık görüntüde okur.

Kurallar ve sınırlar

  • İşlem başına, bir ya da daha fazla tablo genelinde 100 öğeye kadar.
  • Tüm tablolar aynı hesap ve bölgede olmalıdır.
  • Birleşik öğe boyutu 4 MB'ı aşamaz.
  • Tek bir işlemde aynı öğeyi iki kez hedefleyemezsiniz.
  • Global tablolarda ACID garantileri yalnızca işlemin çalıştığı bölge içinde geçerlidir — değişiklikler işlendikten sonra diğer bölgelere çoğaltılır ve çoklu bölge güçlü tutarlılık (MRSC) modundaki global tablolar işlem API'lerini hiç desteklemez.

Atomiklik neye mal olur

Aynı öğe, iki yol, ReturnConsumedCapacity açıkken:

PutItem, one 920-byte item                 ConsumedCapacity 1
TransactWriteItems, the same single Put    ConsumedCapacity 2

İşlemsel bir yazma iki yazma kadar kapasite, işlemsel bir okuma da iki okuma kadar kapasite tutar. Sürekli hâlde bu ikiye katlanma ödünleşimin tamamıdır: 1 KB'lık öğelerde saniyede 100 yazma, us-east-1 talep üzerine modda ayda $164.25 tutar; her biri bir işlemden geçerse $328.50. Fiyatlandırma hesaplayıcısında tam da bu karşılaştırma için bir işlemsel tutarlılık ayarı var.

İki kez uygulanmayan yeniden deneme

Zaman aşımına uğrayan bir işlem yine de işlenmiş olabilir; dolayısıyla tehlikeli kısım işlem değil yeniden denemedir. Yeniden denemeyi güvenli kılan şey ClientRequestToken'dır. Aynı ADD counter :one işlemini tek bir belirteç altında iki kez göndermek:

TransactWriteItems  (token order-4711)     200
TransactWriteItems  (token order-4711)     200
GetItem counter                            {"N": "1"}

Her iki çağrı da başarılı oldu ve sayaç bir kez hareket etti. Belirteç, ilk istek bittikten sonra 10 dakika geçerli kalır; onu daha sonra yeniden kullanırsanız ikinci çağrı yeni bir işlemdir, dolayısıyla sayaç yeniden hareket eder. Onu pencere içinde başka bir parametre değişmiş hâlde yeniden kullanırsanız DynamoDB IdempotentParameterMismatch döndürür.

İşlem ile toplu işlem karşılaştırması

Her öğeyi kendi başına uygulayan (bazı yazmalar tutarken bazıları başarısız olabilir) BatchWriteItem'ın aksine, bir işlem ya-hep-ya-hiçtir — kısmi uygulamanın verinizi bozacağı durumlarda kullanın.

Daha derine inin

Desenleri DynamoDB işlemleri sayfasında öğrenin ve dayandıkları koşul ifadelerini Expression Builder ile kurun. Öğe düzenlemelerinizi gözden geçirilebilir farklar olarak hazırlamak ve hepsini birlikte işlemsel bir yığın olarak işlemek için DynoTable'ı indirin.

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı; 100 eylem sınırı ve 10 dakikalık idempotentlik penceresi 2026-07-28 tarihinde yeniden kontrol edildi.

ConsumedCapacity değerleri ve idempotent yeniden oynatma 2026-07-28 tarihinde @aws-sdk/client-dynamodb 3.1095.0 üzerinden DynamoDB Local 3.3.0'a karşı yeniden üretildi; aylık maliyetler, eşitlenmiş AWS fiyatlandırma tablomuzdaki us-east-1 talep üzerine yazma isteği birimi fiyatından hesaplandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.