DynamoDB GraphQL destekler mi?

Evet, AWS AppSync üzerinden. AppSync, AWS'nin yönetilen GraphQL hizmetidir ve DynamoDB onun yerel veri kaynaklarından biridir: çözümleyiciler her GraphQL sorgusunu ya da mutasyonunu GetItem, Query veya PutItem gibi bir DynamoDB işlemine eşler. DynamoDB'nin kendisinde GraphQL uç noktası yoktur — GraphQL katmanı onun önünde çalışır.

Eşleşme nasıl çalışır

AppSync'te bir DynamoDB tablosunu veri kaynağı olarak kaydeder, sonra GraphQL şemanızın her alanına bir çözümleyici iliştirirsiniz. Çözümleyicinin istek işleyicisi, gelen GraphQL argümanlarını bir DynamoDB çağrısına çevirir; yanıt işleyicisi de DynamoDB'nin döndürdüğü öğe(leri) GraphQL yanıtına dönüştürür. AWS, tam da bu desen nedeniyle DynamoDB'nin sunucusuz entegrasyonları arasında AppSync'i ilk sırada listeler.

Neden yaygın bir yığın

Her iki yarı da sunucusuzdur: AppSync API katmanını ölçeklerken DynamoDB depolamayı ve verimliliği ölçekler; iki tarafta da sunucu yoktur. Gerçek zamanlı GraphQL abonelikleri, DynamoDB'nin tek haneli milisaniyelik yazmalarıyla doğal olarak eşleşir.

İç içe tek bir alan neye mal olur

Alan başına bir çözümleyici, alan başına bir DynamoDB isteği demektir. posts { author { name } } listeyi bir kez çözümler, sonra gönderi başına bir kez author'ı çözümler ve bunların her biri ayrı faturalanır.

Tek bir öğe koleksiyonunda 25 gönderi ve 25 yazar öğesi tutan, her biri yaklaşık 920 bayt olan bir tabloya karşı ReturnConsumedCapacity ile ölçüldü:

Query, the 25 posts                        ConsumedCapacity 3.0
25 GetItem calls, one author each          ConsumedCapacity 12.5
1 BatchGetItem, the same 25 author keys    ConsumedCapacity 12.5

İç içe alan, listeyi üreten sorgunun dört katından fazlasına mal oluyor. Yığınlamak bunu değiştirmez: BatchGetItem (başlı başına bir AppSync çözümleyici işlemidir, çağrı başına 100 anahtar ve 16 MB ile sınırlıdır) 25 gidiş-dönüşü tek bir çağrıya indirir, ama yine 25 öğe okur ve 25 okuma faturalandırır. Kapasite değil, gecikme satın alır.

Saniyede bu GraphQL sorgularından on tanesinde bu, us-east-1 talep üzerine modda ayda $50.92'lik okuma isteği birimi eder ve bunun $41.06'sı tek başına author alanıdır — fiyatlandırma hesaplayıcısı aynı aritmetiği kendi sayılarınız üzerinde çalıştırır.

Çözümün çözümleyicide değil anahtar tasarımında olmasının nedeni de budur. İç içe alanın döndürdüğü şeyi üst öğeye ya da bir GSI'ye yansıtın; böylece liste sorgusu onu zaten taşır ve alt çözümleyicinin getireceği hiçbir şey kalmaz.

Alternatif: kendi sunucunuzu getirin

Hiçbir şey AppSync'i zorunlu kılmaz — herhangi bir GraphQL sunucusu (Apollo, Yoga ve diğerleri), tıpkı başka bir arka ucu çağıracağı gibi, alanları AWS SDK üzerinden DynamoDB'yi çağırarak çözümleyebilir. Ödünleşim, GraphQL katmanını kendinizin işletmesidir.

Daha derine inin

GraphQL çözümleyicileri de aynı erişim deseni kurallarına çarpar — veri modelleme kılavuzu sorgularınıza hizmet edecek anahtarların nasıl tasarlanacağını anlatıyor, ifade oluşturucusu altta yatan koşul sözdizimini üretiyor ve DynoTable çözümleyicilerinizin gerçekte ne yazdığını incelemenizi sağlıyor.

Kaynaklar

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

Kapasite değerleri 2026-07-28 tarihinde @aws-sdk/client-dynamodb 3.1095.0 üzerinden Node 24.18.0 üzerinde DynamoDB Local 3.3.0'a karşı ölçüldü; yukarıdaki ConsumedCapacity değerleri motorun kendisine aittir. Maliyetler, eşitlenmiş AWS fiyatlandırma tablomuzdaki us-east-1 talep üzerine istek 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.