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

  1. 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.
  2. 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).
  3. Pangkas proyeksi LSI — memproyeksikan lebih sedikit atribut (KEYS_ONLY/INCLUDE) untuk memperlambat pertumbuhan koleksi jika Anda harus mempertahankan LSI.
  4. Arsipkan item dingin dari koleksi panas ke tabel terpisah atau S3.
  5. Pantau sebelum Anda menemui hambatan. Setel ReturnItemCollectionMetrics: SIZE pada penulisan (PutItem, UpdateItem, DeleteItem, BatchWriteItem, TransactWriteItems); DynamoDB mengembalikan perkiraan SizeEstimateRangeGB, 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

Kesalahan terkait

Referensi

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

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.