Apakah DynamoDB merupakan basis data NoSQL?
Ya. DynamoDB adalah database NoSQL — penyimpanan dokumen dan nilai kunci yang nonrelasional dan terkelola sepenuhnya. Ini menampung item tanpa skema, bukan baris dalam tabel skema tetap, dan memperdagangkan gabungan SQL dan kueri ad-hoc untuk kinerja satu digit milidetik yang dapat diprediksi dan penskalaan horizontal ke hampir semua ukuran.
NoSQL macam apa
DynamoDB mendukung model nilai kunci dan data dokumen. Setiap item ditangani oleh kunci utama, dan atribut dapat disarangkan sebagai peta dan daftar hingga kedalaman 32 level — sisi dokumen model.
Apa bedanya dengan SQL
- Tidak ada skema tetap — hanya kunci utama yang ditentukan sebelumnya; atribut lainnya bervariasi per item.
- Tidak ada gabungan — Anda melakukan denormalisasi dan membuat model berdasarkan pola akses.
- Kinerja yang dapat diprediksi — membaca target kunci partisi, sehingga latensi tetap datar seiring bertambahnya data.
Apa yang dilakukan mesin dengan JOIN
PartiQL membuat DynamoDB terlihat berbentuk SQL, sehingga batasnya mudah untuk dilewatkan. Sintaks SELECT yang didokumentasikan AWS adalah keseluruhan tata bahasa, dan tidak memiliki klausa JOIN:
SELECT {{expression}} [, ...]
FROM {{table}}[.{{index}}]
[ WHERE {{condition}} ] [ [ORDER BY {{key}} [DESC|ASC] , ...]Tetap kirimkan satu dan parser berhenti di tabel kedua:
await client.send(
new ExecuteStatementCommand({
Statement: `SELECT o.pk FROM "orders" o JOIN "customers" c ON o.pk = c.pk`
})
);Keluaran nyata:
ValidationException: Only select from a single table or index is supported.
HTTP 400Penolakannya terjadi pada waktu penguraian, sebelum data apa pun dibaca, itulah sebabnya tidak ada jumlah desain indeks yang membuat Anda bergabung. Bergabung adalah tugas lamaran Anda di toko NoSQL.
Ini juga membatasi apa yang dapat ditawarkan dengan jujur oleh klien mana pun. Workbench SQL DynoTable menerima INNER JOIN, LEFT JOIN, GROUP BY dan COUNT/SUM/AVG/MIN/MAX.
Ini mengkompilasinya menjadi panggilan Query dan Scan asli, lalu menggabungkan dan menggabungkan hasilnya di mesin Anda. DynamoDB masih hanya melihat pembacaan tabel tunggal.
Bila cocok
DynamoDB dibuat untuk beban kerja OLTP: pembacaan dan penulisan point-and-range yang diketahui dan bervolume tinggi. Analisis berat termasuk dalam penyimpanan kolom terpisah yang disalurkan melalui ekspor.
Batasan NoSQL masih Anda rasakan dalam produksi
"NoSQL" menjelaskan model akses, bukan penghapusan batasan. DynamoDB masih membatasi Anda pada 400 KB per item, 25 tindakan per TransactWriteItems, dan 100 tindakan membaca atau menulis per transaksi. Dokumen bertingkat bisa memiliki kedalaman 32 level. Proyek GSI hanya mengatribusikan nama Anda; tidak ada skema tersembunyi yang bisa digunakan kembali.
Batasan tersebut penting karena Anda tidak dapat ikut keluar dari batasan tersebut pada waktu kueri. Anda memodelkannya terlebih dahulu — indeks renggang, atribut yang didenormalisasi, dan kunci tabel tunggal — lalu dibaca berdasarkan partisi. Pembuat Kueri mengubah filter menjadi permintaan Query atau Scan yang akan dijalankan DynamoDB.
Di DynoTable: ketika pertanyaan relasional sah, SQL Workbench mengkompilasi JOIN dan GROUP BY hingga panggilan Query dan Scan asli di mesin Anda — DynamoDB masih melihat pembacaan tabel tunggal. Lihat Workbench SQL untuk tata bahasa yang didukung dan batasan jujur.
Pelajari lebih lanjut
Lihat kapan menggunakan DynamoDB dan cara membentuk data dengan cara memodelkan data di DynamoDB. Unduh DynoTable untuk menelusuri tabel NoSQL Anda dan menjalankan SQL di atasnya dalam aturan pola akses DynamoDB.
Referensi
- Apa itu Amazon DynamoDB? — Panduan Pengembang Amazon DynamoDB
- Komponen inti Amazon DynamoDB — Panduan Pengembang Amazon DynamoDB
- Pernyataan pilihan PartiQL untuk DynamoDB — Panduan Pengembang Amazon DynamoDB
- Basis Data Nilai Kunci NoSQL Cepat — Amazon DynamoDB — AWS
Terakhir diverifikasi 13-07-2026 terhadap dokumentasi resmi AWS yang ditautkan di atas; tata bahasa PartiQL SELECT diperiksa ulang 28-07-2026.
Direproduksi 28-07-2026 terhadap DynamoDB Lokal 3.3.0 melalui @aws-sdk/client-dynamodb 3.1095.0 di Node v24.18.0. ValidationException di atas adalah keluaran mesin kata demi kata.