DynamoDB coğrafi konum sorgularını destekler mi?

Doğal olarak değil. DynamoDB'nin coğrafi konum veri türü ve mesafe veya sınırlayıcı kutu operatörleri yoktur. Bunun yerine coğrafi konum sorguları bir modelleme desenidir: yakındaki noktaların birlikte sıralanması için anahtarda bir geohash veya S2 hücre kimliği saklayın, arama alanınızı kaplayan hücreleri sorgulayın, ardından uygulamanızda tam mesafeye göre iyileştirin.

Geohash deseni

Bir geohash (ya da AWS'nin DynamoDB için Geo Library'sinde kullanıldığı gibi bir S2 hücre kimliği), enlem/boylamı, öneki bir ızgara hücresini tanımlayan bir dizeye veya sayıya kodlar — ve en önemlisi, yakındaki noktalar önekleri paylaşır. Bir bölüm veya sıralama anahtarı olarak saklandığında, bu "yakınımdaki noktalar"ı sıradan anahtar aralığı sorgularına dönüştürür:

  • Kutu sorgusu — bir dikdörtgeni kaplayan hücreleri hesaplayın, her hücreyi Query ile sorgulayın, sonuçları birleştirin.
  • Yarıçap sorgusu — aynısı, bir daireyi kaplayan hücreler üzerinden, ardından istemci tarafında tam mesafeye göre filtreleyin.

Çözünürlük önemlidir: çoğu aramanın yalnızca hedef hücreye ve komşularına dokunduğu bir hücre boyutu seçin.

Kütüphaneler ve araçlar

AWS, S2 tabanlı deseni gösteren Geo Library for Amazon DynamoDB'yi (Java) yayınladı ve diğer diller için topluluk uyarlamaları mevcuttur (örneğin Node.js için dynamodb-geo). Birini benimsemeden önce bakım durumunu kontrol edin — desenin kendisi doğrudan uygulanacak kadar basittir.

Bunun yerine ne zaman bir arama motoru kullanılmalı

Zengin coğrafi yüklemler (poligonlar, mesafeye göre sıralama, coğrafiyi tam metinle birleştirme) için tabloyu özel amaçlı bir indekse çoğaltın — tam metin aramayı ele alan aynı sıfır-ETL OpenSearch entegrasyonu size yerel coğrafi konum sorgularına sahip bir arama motoru da verir. DynamoDB ile Elasticsearch, o veritabanı-artı-indeks ayrımını eksiksiz olarak tartar.

Daha derine inin

Desen özünde bir sıralama anahtarı hilesidir — sıralama anahtarı stratejileri kılavuzu araç kutusunu kapsar, ifade oluşturucu hücre sorgularının kullandığı begins_with/BETWEEN koşullarını üretir ve DynoTable gerçek öğelerinizdeki kodlanmış anahtarları incelemenizi sağlar.

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalışın

DynoTable, DynamoDB için hızlı bir masaüstü istemcisidir — tablolara göz atın, SQL tarzı sorgular çalıştırın ve item'ları yerel olarak düzenleyin.