Apakah DynamoDB mendukung GraphQL?

Ya, lewat AWS AppSync. AppSync adalah layanan GraphQL terkelola milik AWS, dan DynamoDB adalah salah satu sumber data native-nya: resolver memetakan setiap query atau mutation GraphQL ke sebuah operasi DynamoDB seperti GetItem, Query, atau PutItem. DynamoDB sendiri tidak punya endpoint GraphQL — lapisan GraphQL-nya berjalan di depannya.

Cara pasangan ini bekerja

Di AppSync Anda mendaftarkan tabel DynamoDB sebagai sumber data, lalu melekatkan sebuah resolver ke setiap field pada schema GraphQL Anda. Request handler resolver menerjemahkan argumen GraphQL yang masuk menjadi panggilan DynamoDB, dan response handler-nya membentuk item yang dikembalikan DynamoDB menjadi respons GraphQL. AWS menempatkan AppSync di urutan pertama di antara integrasi serverless DynamoDB justru untuk pola ini.

Mengapa ini stack yang umum

Kedua paruhnya serverless: AppSync menskalakan lapisan API sementara DynamoDB menskalakan penyimpanan dan throughput, tanpa server di kedua sisi. Subscription GraphQL real-time berpasangan alami dengan penulisan DynamoDB yang berlatensi milidetik satu digit.

Berapa biaya satu field bersarang

Satu resolver per field berarti satu permintaan DynamoDB per field. posts { author { name } } me-resolve daftarnya sekali, lalu me-resolve author sekali per post, dan masing-masing ditagih terpisah.

Diukur dengan ReturnConsumedCapacity terhadap tabel berisi 25 post dalam satu item collection dan 25 item author, masing-masing sekitar 920 byte:

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

Field bersarang itu berbiaya lebih dari empat kali query yang menghasilkan daftarnya. Batching tidak mengubah itu: BatchGetItem (sebuah operasi resolver AppSync tersendiri, dibatasi 100 key dan 16 MB per panggilan) meringkas 25 perjalanan bolak-balik menjadi satu, tetapi ia tetap membaca 25 item dan menagih 25 pembacaan. Ia membeli latensi, bukan kapasitas.

Pada sepuluh query GraphQL semacam itu per detik, jumlahnya $50.92 sebulan untuk read request unit di us-east-1 on-demand, $41.06 di antaranya hanya dari field authorkalkulator harga menjalankan aritmetika yang sama pada angka Anda sendiri.

Itulah sebabnya perbaikannya ada di desain key dan bukan di resolver. Proyeksikan apa yang dikembalikan field bersarang itu ke dalam item induknya atau ke dalam sebuah GSI, supaya query daftarnya sudah membawanya dan resolver anak tidak punya apa pun untuk diambil.

Alternatifnya: bawa server Anda sendiri

Tidak ada yang mengharuskan AppSync — server GraphQL mana pun (Apollo, Yoga, dan lainnya) bisa me-resolve field dengan memanggil DynamoDB lewat AWS SDK, persis seperti ia memanggil backend lain. Kompromi-nya adalah Anda mengoperasikan sendiri lapisan GraphQL-nya.

Pelajari lebih lanjut

Resolver GraphQL tetap tunduk pada aturan pola akses yang sama — panduan pemodelan data menjelaskan cara merancang key yang melayani query Anda, expression builder menghasilkan sintaks kondisi yang mendasarinya, dan DynoTable memungkinkan Anda memeriksa apa yang sebenarnya ditulis resolver Anda.

Referensi

Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.

Angka kapasitas diukur 2026-07-28 terhadap DynamoDB Local 3.3.0 via @aws-sdk/client-dynamodb 3.1095.0 pada Node 24.18.0; nilai ConsumedCapacity di atas adalah milik engine itu sendiri. Biaya dihitung dari harga request unit on-demand us-east-1 dalam tabel harga AWS yang kami sinkronkan.

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.