DynamoDB bir anahtar-değer deposu mu?

Evet — DynamoDB bir anahtar-değer deposudur, aynı zamanda bir doküman deposudur. Her öğe birincil anahtarıyla (bir bölüm anahtarı, isteğe bağlı olarak bir sıralama anahtarıyla) alınır ve bu da hızlı, anahtar tabanlı aramalar verir. Ayrıca doküman türlerini — iç içe list ve map'leri — destekler; dolayısıyla hem anahtar-değer hem de doküman veritabanı olarak çalışır.

Anahtar-değer modeli

Her öğenin onu benzersiz olarak tanımlayan bir birincil anahtarı vardır. O anahtar üzerinde bir GetItem, doğrudan, tek haneli milisaniyelik bir aramadır — tarama yok. Bu klasik anahtar-değer erişim desenidir.

Doküman tarafı

Anahtarın ötesinde değerler zengin dokümanlar olabilir: 400 KB'lık öğe sınırı içinde, 32 seviyeye kadar iç içe geçen map'ler (nesneler) ve list'ler (diziler). Bu da DynamoDB'yi JSON benzeri doküman değerlerine sahip bir anahtar-değer deposu yapar.

Doküman yarısı nerede durur

32 seviye üst sınırı gerçektir (33. seviye düpedüz reddedilir, tam hatası burada), ama canınızı yakan nadiren derinliktir. Adresleme yakar.

Alana göre değil, anahtara göre okursunuz. Bir ProjectionExpression, DynamoDB'nin ne okuduğunu değil, telden ne geçtiğini daraltır. Uzun bir bio ve 100 elemanlı bir tags listesi tutan ~30 KB'lık tek bir öğede, güçlü tutarlı bir GetItem üç şekilde de aynı faturayı çıkarır:

İstekDönenConsumedCapacity
GetItem, öğenin tamamıher şey8
ProjectionExpression: 'status'6 baytlık tek değer8
ProjectionExpression: 'profile.tags[0]'tek liste elemanı8

Dokümanları bir anahtar-değer deposunda saklayarak kabul ettiğiniz takas budur: erişimin ve faturalamanın birimi öğenin tamamıdır. Bir öznitelik sürekli okunuyorsa ve komşuları büyükse, farklı öğelere aittirler.

Anahtar neden bu kadar önemli

Okumalar anahtarlı olduğu için, verimli bir arama tek bir bölüm anahtarı değerini sabitlemekle başlar. İyi anahtar tasarlamak DynamoDB modellemesinin özüdür.

Yalnızca anahtarı değil, değeri de boyutlandırın

Anahtar-değer hızı, değerin erişim desenine sığdığını varsayar. 400 KB'lık bir öğeyi okumak, tek bir alanı da tüm dokümanı da projekte etseniz aynı maliyettedir — yukarıdaki bölümdeki tablo ~30 KB'lık bir öğe için zaten 8 kapasite birimi göstermişti. Dokümanın yalnızca bir kısmı sıcaksa, büyük blob'ları S3'te tutun ve DynamoDB'de bir işaretçi bırakın.

Öğe boyutu hesaplayıcısı, attribute adlarını ve değerlerini DynamoDB'nin faturalandırdığı şekilde toplar.

DynoTable'da: USER#123 gibi bileşik partition anahtarları ızgarada çözülür, böylece varlık önekini bir bakışta okuyabilirsiniz; Satır Hızlı Görünümü (Space) ise yerinizi kaybetmeden tam dokümanı açar. Bkz. Tabloları sorgulama.

Daha derine inin

Anahtarları DynamoDB bileşik birincil anahtar ve DynamoDB bölüm anahtarları nasıl çalışır sayfalarında anlayın. Anahtara göre sorgulamak için DynoTable'ı indirin.

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Kapasite rakamları 2026-07-28 tarihinde @aws-sdk/client-dynamodb 3.1095.0 üzerinden DynamoDB Local 3.3.0'a (amazon/dynamodb-local:latest) karşı ölçüldü, tahmin edilmedi.

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.