Apakah dukungan DynamoDB bergabung?

Bukan di database itu sendiri. Sebagai database nonrelasional, DynamoDB tidak memiliki operasi JOIN, dan PartiQL tidak menambahkannya, jadi untuk pembacaan produksi, Anda memodelkan data terkait: denormalisasi (duplikasi atau sematkan sehingga setiap pola akses menjadi satu kueri) atau gunakan desain tabel tunggal untuk menemukan lokasi item terkait di bawah satu kunci partisi. Namun Anda masih dapat menjalankan gabungan nyata pada tabel DynamoDB dari klien: Workbench SQL DynoTable mengeksekusi JOIN, GROUP BY, dan kueri agregat aktual pada data langsung Anda.

Mengapa database tidak ada yang bergabung

DynamoDB dibuat untuk pembacaan satu digit milidetik yang dapat diprediksi pada skala apa pun. Bergabung pada waktu baca akan membuat latensi bergantung pada seberapa banyak data terkait yang ada, sehingga merusak jaminan tersebut. Jadi untuk pola akses model Anda, penggabungan dilakukan pada waktu tulis, oleh Anda.

Apa yang terjadi jika Anda mencoba

PartiQL menolak pernyataan di parser, sebelum membaca apa pun. Gabungan eksplisit dan gabungan silang koma gagal dengan cara yang sama:

SELECT o."total", c."name" FROM "Orders" o JOIN "Customers" c ON o."pk" = c."id"
SELECT * FROM "Orders", "Customers"
ValidationException: Only select from a single table or index is supported.
HTTP 400

Jadi tidak ada kemunduran yang lambat namun berhasil untuk ditemukan dalam produksi. Pernyataan yang menyebutkan dua tabel merupakan kesalahan sintaksis, dan pekerjaan harus dipindahkan ke tempat lain: ke model data Anda, atau ke klien yang mengerjakan bagian relasional itu sendiri.

Apa yang Anda lakukan untuk pola akses yang dimodelkan

  • Denormalisasi — menyalin atau menyematkan data terkait yang Anda baca bersama.
  • Desain tabel tunggal — menyimpan beberapa tipe entitas dalam satu tabel dengan kunci yang kelebihan beban, sehingga kumpulan item membacanya bersama-sama dalam satu Kueri.
  • Daftar kedekatan — memodelkan hubungan banyak ke banyak sebagai item yang Anda Kueri berdasarkan kunci.

Ini membuat produksi tetap membaca satu permintaan. Panduan lengkap dalam DynamoDB bergabung.

Jalankan GABUNG nyata dengan DynoTable

Untuk pertanyaan lintas tabel ad-hoc yang tidak Anda modelkan — "pelanggan UE mana yang menghabiskan lebih dari $500 bulan lalu?" di tabel Orders dan CustomersDynoTable dijalankan yang digabungkan untuk Anda. Ini adalah klien desktop DynamoDB, dan SQL Workbench mengeksekusi kueri JOIN, GROUP BY, dan agregat yang sebenarnya: ia membaca item melalui DynamoDB API normal, lalu menjalankan bagian relasional kueri di klien. Jadi ini berfungsi, terhadap tabel yang tidak memiliki hubungan yang ditentukan dan mesin kueri tanpa kata kunci JOIN:

SELECT   c.name, SUM(o.total) AS spend
FROM     Customers c
JOIN     Orders o ON o.customerId = c.id
WHERE    c.region = 'EU'
GROUP BY c.name

Memilih untuk tidak menulis SQL? Smart Tables adalah jalur visual untuk mesin gabungan yang sama: gambar garis hubungan antara dua tabel di kanvas dan telusuri baris yang digabungkan.

Peringatan yang jujur, "dalam aturan pola akses DynamoDB": Workbench masih membaca DynamoDB, jadi gabungan tercepat adalah yang atribut ON atau klausa WHEREnya mengenai kunci partisi atau GSI di setidaknya satu sisi, membiarkan DynamoDB menjalankan Query alih-alih pemindaian penuh. Lihat /docs/dynamodb-sql-workbench untuk perilaku Workbench dan /docs/smart-tables untuk kanvas gabungan visual. DynoTable memungkinkan Anda ask pertanyaan bergabung alih-alih hasil jahitan tangan dalam kode; itu tidak menghilangkan batasan di atas. Di antara klien GUI DynamoDB, ini adalah satu-satunya jawaban "ya, Anda dapat bergabung" yang benar: PartiQL dan NoSQL Workbench milik AWS keduanya berhenti di dinding satu tabel.

Untuk pembacaan tabel tunggal yang menghindari penggabungan seluruhnya, buat sketsa kunci yang kelebihan beban di alat desain tabel tunggal sebelum Anda membuat model salinan data terkait yang didenormalisasi.

Pertukarannya

Untuk jalur baca produksi, Anda melakukan pekerjaan penulisan yang lebih hati-hati agar pembacaan menjadi murah dan dalam waktu yang konstan.

Pelajari lebih lanjut

Baca gabungan DynamoDB, desain tabel tunggal, dan hubungan satu-ke-banyak. Unduh DynoTable untuk menjalankan GABUNG nyata pada tabel Anda, dalam SQL atau secara visual dengan Tabel Cerdas.

Referensi

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

ValidationException di atas direproduksi pada 28-07-2026 melawan DynamoDB Lokal 3.3.0 melalui @aws-sdk/client-dynamodb 3.1095.0 dan dikutip kata demi kata.

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.