Bisakah Anda menjalankan DynamoDB secara lokal?
Ya. AWS menyediakan DynamoDB Local, versi DynamoDB gratis yang bisa diunduh dan berjalan di mesin Anda sendiri sebagai image Docker, executable Java, atau dependency Apache Maven. Ia memaparkan API yang sama seperti layanan web-nya, jadi Anda bisa mengembangkan dan menguji secara offline, lalu tinggal mengarahkan kode Anda ke AWS.
Tiga cara menjalankannya
- Image Docker — pilihan paling umum: satu
docker rundan endpoint-nya hidup di sebuah port lokal. - Arsip yang bisa diunduh — aplikasi Java yang Anda jalankan langsung (butuh JRE).
- Dependency Apache Maven — sematkan di test suite JVM.
Mengapa mengembangkan secara lokal
Database-nya berdiri sendiri di komputer Anda, jadi Anda menghemat biaya throughput, penyimpanan data, dan transfer data — dan Anda tidak butuh koneksi internet selama mengembangkan. Ketika siap men-deploy, Anda menghapus endpoint lokal dari kodenya dan ia mengarah ke layanan web DynamoDB.
Perhatikan perbedaannya
DynamoDB Local mengemulasi API-nya, tetapi ia bukan mesin produksinya — AWS mendokumentasikan perbedaan perilaku di catatan penggunaannya (throughput tidak ditegakkan, misalnya). Perlakukan ia sebagai pengganti dev/test yang fungsional, bukan model performa.
Tiga penyimpangan yang kami ukur
Kami menjalankan sebuah container DynamoDB Local terus-menerus untuk mereproduksi error yang dikutip di halaman error kami, yang berarti kami rutin menabrak tepinya. Tiga di antaranya layak diketahui sebelum Anda memercayai tes lokal yang hijau.
Provisioned throughput sama sekali tidak ditegakkan. Kami membuat tabel pada 1 RCU, mem-put satu item 3,5 KB, lalu membacanya kembali secara strongly consistent dalam sebuah loop dengan percobaan ulang SDK dimatikan (maxAttempts: 1):
reads=5000 ok=5000 errors=0 elapsed=2.5s rate=1997/sLima ribu pembacaan, nol throttle, kira-kira 2.000 unit baca per detik secara berkelanjutan terhadap tabel yang diprovisioning untuk satu unit. Loop yang sama terhadap layanan live melempar ProvisionedThroughputExceededException pada pembacaan ke-49. Bug kapasitas tidak bisa gagal secara lokal.
Satu error berganti nama. Jalankan INSERT PartiQL yang sama dua kali dan DynamoDB Local menjawab DuplicateItem dengan pesan Duplicate primary key exists in table. Layanan sungguhannya menjawab DuplicateItemException dengan There was an attempt to insert an item with the same primary key as an item that already exists in the DynamoDB table. Penanganan error yang bercabang berdasarkan nama akan lolos secara lokal dan meleset di produksi.
Sebagian API memang tidak ada. ExportTableToPointInTime menjawab:
UnknownOperationException: An unknown operation was requested.Itu bukan error yang dikembalikan layanan untuk panggilan yang sama, jadi jalur kode yang berjaga pada PointInTimeRecoveryUnavailableException juga tidak bisa diuji secara lokal.
Pelajari lebih lanjut
Panduan DynamoDB Local menelusuri penyiapannya langkah demi langkah, dan panduan koneksi local & LocalStack menunjukkan cara mengarahkan sebuah GUI ke sana — DynoTable terhubung ke endpoint lokal persis seperti ia terhubung ke AWS. Uji query pertama Anda dengan expression builder.
Referensi
- Setting up DynamoDB local (downloadable version) — Amazon DynamoDB Developer Guide
- DynamoDB local usage notes — Amazon DynamoDB Developer Guide
- Deploying DynamoDB locally on your computer — Amazon DynamoDB Developer Guide
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.
Ketiga penyimpangan itu direproduksi 2026-07-28 terhadap DynamoDB Local 3.3.0 (amazon/dynamodb-local, Corretto 17.0.17) dengan @aws-sdk/client-dynamodb 3.1095.0 pada Node v24.18.0. Setiap baris keluaran di atas adalah milik mesinnya sendiri, tanpa disunting.