Bagaimana cara menghitung item di DynamoDB?

Pakai Select: 'COUNT' pada sebuah Query atau Scan untuk menghitung item yang cocok tanpa mengembalikannya. Setiap response hanya menghitung sampai 1 MB yang di-scan, jadi Anda harus memaginasi dengan LastEvaluatedKey dan menjumlahkan nilai Count-nya untuk mendapat total penuh. Untuk total tabel yang bersifat perkiraan, baca ItemCount dari DescribeTable. Untuk hitungan yang dikelompokkan — atau SUM/AVG atas sebuah kolom — SQL Workbench milik DynoTable menjalankan COUNT dan GROUP BY sebagai satu query dan mengurus paginasinya untuk Anda.

Menghitung item yang cocok secara eksak

Setel Select menjadi COUNT pada sebuah Query (untuk satu partition key) atau Scan (seluruh tabel). Response-nya mengembalikan Count dan ScannedCount tanpa data item. Kalau data yang di-scan melebihi 1 MB, operasinya berhenti dan mengembalikan LastEvaluatedKey — teruslah memanggil dan menjumlahkan Count sampai ia tak ada lagi. Perhatikan bahwa menghitung tidak lebih murah daripada membaca: COUNT menghabiskan read capacity yang sama seperti kalau item-nya dikembalikan.

Count vs ScannedCount

  • Count — item yang cocok dengan kondisi key/filter Anda di halaman ini.
  • ScannedCount — item yang diperiksa sebelum difilter. Sebuah filter expression mempersempit hasilnya tetapi tidak mengurangi apa yang di-scan (atau biayanya).

COUNT bukan diskon, terukur

"Menghitung berbiaya sama dengan membaca" gampang dinyatakan dan gampang diragukan, jadi inilah buktinya pada sebuah tabel berisi 40 item berukuran kira-kira 3 KB masing-masing (total 120.700 byte), tiap panggilan dilakukan dengan ReturnConsumedCapacity: 'TOTAL':

RequestCountScannedCountConsumedCapacity
Query dengan Select: 'COUNT'404015
Query yang mengembalikan item-nya404015
Scan, Select: 'COUNT', filter yang mencocokkan separuh204015

Baris ketiga itulah yang perlu diperhatikan. Filternya memotong Count jadi separuh, membiarkan ScannedCount apa adanya, dan menggeser tagihannya sebesar nol.

15 adalah angka yang akan Anda prediksi: 120.700 byte dibulatkan ke atas menjadi 30 unit baca empat-kilobyte, dibagi dua karena sebuah Query bersifat eventually consistent kecuali Anda meminta sebaliknya.

Perkiraan yang murah

DescribeTable mengembalikan ItemCount, sebuah perkiraan tingkat tabel yang diperbarui kira-kira setiap enam jam. Ia gratis dan instan, tetapi tidak real-time — bagus untuk dashboard, bukan untuk total yang eksak.

Satu peringatan kalau Anda menguji terhadap DynamoDB Local: ia memperbarui ItemCount seketika. Menulis 40 item lalu memanggil DescribeTable di sana langsung mengembalikan 40. Layanan sungguhannya tidak, jadi logika kesegaran data yang lolos secara lokal bisa meleset enam jam di produksi.

Menghitung dan mengagregasi dengan DynoTable

API mentahnya memberi Anda COUNT tetapi tanpa GROUP BY, SUM, atau AVG — pengelompokan dan penjumlahan biasanya terjadi di kode aplikasi Anda. SQL Workbench milik DynoTable menambahkannya: tulis SELECT COUNT(*), SUM(total), atau hitungan yang dikelompokkan, dan ia menjalankan loop paginasinya untuk Anda, memperhalus angkanya sambil halaman demi halaman mengalir masuk. Ia tetap membaca lewat DynamoDB, jadi biaya read capacity yang sama tetap berlaku — tetapi Anda menulis satu query alih-alih sebuah loop, dan Anda mendapat hasil yang dikelompokkan dan dijumlahkan yang tak bisa dikembalikan API secara langsung.

Pelajari lebih lanjut

Baca count, sum, dan agregat di DynamoDB dan bangun query hitungan dengan Expression Builder. Unduh DynoTable untuk menjalankan hitungan dan agregat (COUNT, SUM, GROUP BY) terhadap tabel Anda.

Referensi

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

Angka kapasitasnya direproduksi 2026-07-28 terhadap DynamoDB Local 3.3.0 (amazon/dynamodb-local:latest) via @aws-sdk/client-dynamodb 3.1095.0. DynamoDB Local bukan layanan sungguhannya; penyimpangan ItemCount yang dicatat di atas adalah salah satu tempat keduanya berbeda.

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.