Bisakah DynamoDB menyimpan gambar?
Ya, tetapi hanya yang kecil. DynamoDB bisa menyimpan gambar sebagai atribut Binary (B) berkode base64, asalkan seluruh item tetap di bawah batas 400 KB. AWS merekomendasikan menyimpan gambar yang lebih besar di Amazon S3 dan hanya menyimpan metadata objek serta referensi S3 di DynamoDB, karena 400 KB terlalu kecil untuk sebagian besar berkas media.
Cara kerja penyimpanan gambar kecil
Enkode gambarnya sebagai base64 lalu simpan di atribut Binary. DynamoDB mengukur panjang byte mentahnya terhadap batas item 400 KB, jadi sebuah thumbnail atau ikon muat; foto utuh biasanya tidak.
Pola yang direkomendasikan
Untuk apa pun yang lebih besar dari 400 KB:
- Unggah gambarnya ke Amazon S3.
- Simpan key S3, ukuran, content type, dan metadata lainnya di DynamoDB.
- Baca metadatanya dari DynamoDB, lalu ambil objeknya dari S3.
Perhatikan bahwa DynamoDB dan S3 tidak berbagi transaksi, jadi aplikasi Anda harus membersihkan objek yatim ketika terjadi kegagalan.
Berapa biaya menyisipkan gambar
Ambil satu unggahan per detik dan sepuluh penayangan per detik, on-demand di us-east-1, lalu jalankan kedua bentuknya melalui kalkulator harga kami:
| Per bulan | Gambar 380 KB inline | Pointer 119 byte |
|---|---|---|
| Penulisan | $624.15 | $1.64 |
| Pembacaan (eventually consistent) | $156.04 | $1.64 |
| Total permintaan | $780.19 | $3.29 |
Trafik yang sama menghabiskan biaya 238 kali lipat, dan pembulatan kapasitaslah yang menyebabkan semuanya. Satu write unit mencakup 1 KB, jadi gambarnya menagih 380 unit di tempat pointer menagih 1. Pembacaan dibulatkan ke 4 KB, jadi tiap pembacaan eventually consistent atas gambar itu menghabiskan 47,5 read unit berbanding 0,5.
Penyimpanan menambah beban di atasnya. Satu unggahan 380 KB per detik menambah 952 GB per bulan, yaitu $238.09 pada tarif $0.25 per GB-bulan DynamoDB atau $21.90 pada $0.023 milik S3 Standard, dan unggahan bulan berikutnya menambah jumlah yang sama lagi.
Item pointer yang digambarkan angka-angka itu adalah ini, dan ukurannya 119 byte:
{
"pk": "IMG#2026-07-28#a1b2c3",
"s3Key": "uploads/2026/07/28/a1b2c3.jpg",
"contentType": "image/jpeg",
"bytes": 389120,
"width": 1920,
"height": 1080,
"uploadedAt": 1785283200
}Pelajari lebih lanjut
Lihat ukuran item maksimum dan ukur item dengan kalkulator ukuran item. Unduh DynoTable untuk memeriksa atribut binary.
Sumber harga
- Amazon DynamoDB pricing — tarif request unit dan penyimpanan, disinkronkan ke kalkulator dari AWS Price List API.
- Amazon S3 pricing — penyimpanan S3 Standard, $0.023 per GB-bulan untuk 50 TB pertama di us-east-1 (dibaca dari Price List API pada 2026-07-28).
Referensi
- Best practices for storing large items and attributes in DynamoDB — Amazon DynamoDB Developer Guide
- Supported data types and naming rules in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Quotas in Amazon DynamoDB — Amazon DynamoDB Developer Guide
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.
Dihitung biayanya 2026-07-28 dengan kalkulator harga kami sendiri atas tarif us-east-1 yang ia sinkronkan dari AWS Price List API. Input: on-demand, 1 penulisan/detik, 10 pembacaan eventually consistent/detik, 380 KB terhadap item 119 byte di atas, free tier dimatikan.