Koleksi item DynamoDB LSI batas 10 GB
TL;DR — Pada tabel dengan Indeks Sekunder Lokal, koleksi item — setiap item berbagi satu kunci partisi, ditambah proyeksi LSI-nya — dapat berjumlah maksimal 10 GB. Hanya tabel LSI yang memiliki batasan ini, karena setiap kumpulan item harus muat dalam satu partisi. Penulisan yang akan mendorong koleksi melewati 10 GB gagal dengan ItemCollectionSizeLimitExceededException. Pantau ItemCollectionMetrics, pecahkan ulang kunci yang sedang berkembang, atau ganti LSI dengan GSI (yang tidak memiliki batasan tersebut).
Apa artinya
ItemCollectionSizeLimitExceededException: Collection size exceeded.Mengapa itu terjadi
- Kunci partisi tak terbatas — penyewa besar, pengguna sibuk, atau log tambahan saja, semuanya ditulis dalam satu kunci.
- LSI itu sendiri — batas 10 GB ada hanya karena tabel memiliki LSI (dibuat pada waktu pembuatan tabel dan tidak dapat dilepas).
- Proyeksi LSI yang lebar — memproyeksikan banyak atribut ke dalam LSI akan memperluas koleksi lebih cepat.
- Pertumbuhan stabil yang diam-diam mendekati 10 GB hingga akhirnya ada tulisan yang melewatinya.
Bagaimana cara memperbaikinya
- Pecahkan ulang kunci partisi. Bagi entitas berukuran besar menjadi beberapa kunci (
TENANT#42#1,TENANT#42#2, …) sehingga tidak ada satu koleksi pun yang tumbuh tanpa batas. - Ganti LSI dengan GSI. GSI memiliki kunci partisinya sendiri dan tidak batas ukuran koleksi item — untuk sebagian besar pola akses, GSI lebih cocok, dan dapat ditambahkan/removed setelah pembuatan tabel (LSI tidak bisa).
- Pangkas proyeksi LSI — memproyeksikan lebih sedikit atribut (
KEYS_ONLY/INCLUDE) untuk memperlambat pertumbuhan koleksi jika Anda harus mempertahankan LSI. - Arsipkan item dingin dari koleksi panas ke tabel terpisah atau S3.
- Pantau sebelum Anda menemui hambatan. Setel
ReturnItemCollectionMetrics: SIZEpada penulisan (PutItem,UpdateItem,DeleteItem,BatchWriteItem,TransactWriteItems); DynamoDB mengembalikan perkiraanSizeEstimateRangeGB, dan AWS merekomendasikan peringatan pada ambang batas yang ditentukan pengguna (8 GB, misalnya) sehingga Anda bertindak sebelum 10 GB.
Dari DynoTable
Temukan kunci partisi yang mendekati 10 GB — buka tabel dengan ⌘K, urutkan berdasarkan kunci partisi, dan hitung item per koleksi. Kalkulator ukuran item memperkirakan pertumbuhan ketika proyeksi LSI yang lebar meningkatkan koleksi.
Bandingkan biaya tulis LSI dengan migrasi GSI dengan kalkulator harga. Ganti profil dengan ⌘P; lihat Menghubungkan ke AWS dan Instal.
Sumber
- Indeks sekunder lokal (diverifikasi 13-07-2026)
- PutItem — Referensi Amazon DynamoDB API (diverifikasi 13-07-2026)
Kesalahan terkait
- ItemCollectionSizeLimitExceededException — pengecualian yang sama, dengan pembingkaian kapasitas umum.
- Ukuran item telah melampaui ukuran maksimum yang diperbolehkan — batas 400 KB per item yang terpisah.
- Pelajari: Koleksi item · GSI vs LSI · Ikhtisar indeks
Referensi
- Indeks sekunder lokal — Panduan Pengembang Amazon DynamoDB
- Penanganan kesalahan dengan DynamoDB — Panduan Pengembang Amazon DynamoDB
- Kuota di Amazon DynamoDB — Panduan Pengembang Amazon DynamoDB
- PutItem — Referensi Amazon DynamoDB API
Terakhir diverifikasi 13-07-2026 terhadap dokumentasi resmi AWS yang ditautkan di atas.