Apakah DynamoDB mendukung kueri geospasial?

Tidak secara native. DynamoDB tidak memiliki tipe data geospasial dan tidak ada operator jarak atau bounding-box. Kueri geospasial adalah pola pemodelan sebagai gantinya: simpan geohash atau ID sel S2 di key sehingga titik-titik yang berdekatan tersusun bersama, kueri sel-sel yang menutupi area pencarian Anda, lalu perhalus berdasarkan jarak persis di aplikasi Anda.

Pola geohash

Sebuah geohash (atau ID sel S2, seperti yang digunakan Geo Library for DynamoDB dari AWS) meng-encode latitude/longitude menjadi string atau number yang prefiks-nya mengidentifikasi sel grid — dan yang terpenting, titik-titik berdekatan berbagi prefiks. Disimpan sebagai partition atau sort key, itu mengubah "titik di dekat saya" menjadi kueri rentang-key biasa:

  • Box query — hitung sel-sel yang menutupi sebuah persegi panjang, Query setiap sel, gabungkan hasilnya.
  • Radius query — sama, atas sel-sel yang menutupi sebuah lingkaran, lalu filter berdasarkan jarak persis di sisi klien.

Resolusi penting: pilih ukuran sel di mana sebagian besar pencarian hanya menyentuh sel target dan tetangganya.

Library dan tooling

AWS menerbitkan Geo Library for Amazon DynamoDB (Java) yang mendemonstrasikan pola berbasis S2, dan port komunitas tersedia untuk bahasa lain (seperti dynamodb-geo untuk Node.js). Periksa status pemeliharaan sebelum mengadopsi salah satunya — polanya sendiri cukup sederhana untuk diimplementasikan langsung.

Kapan menggunakan mesin pencari sebagai gantinya

Untuk predikat geo yang kaya (poligon, pengurutan berdasarkan jarak, menggabungkan geo dengan teks lengkap), replikasi tabel ke indeks yang dibangun khusus — integrasi zero-ETL OpenSearch yang sama yang menangani pencarian teks lengkap juga memberi Anda mesin pencari dengan kueri geospasial native. DynamoDB vs Elasticsearch menimbang pemisahan basis-data-plus-indeks itu secara penuh.

Pelajari lebih lanjut

Pola ini pada dasarnya adalah trik sort key — panduan strategi sort key membahas perangkatnya, expression builder menghasilkan kondisi begins_with/BETWEEN yang digunakan kueri sel, dan DynoTable memungkinkan Anda memeriksa key ter-encode pada Item nyata Anda.

Referensi

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

Bekerja dengan DynamoDB tanpa Console

DynoTable adalah klien desktop yang cepat untuk DynamoDB — jelajahi tabel, jalankan query gaya SQL, dan edit Item secara lokal.