Unterstützt DynamoDB Geodaten-Abfragen?

Nicht nativ. DynamoDB hat keinen Geodaten-Typ und keine Distanz- oder Bounding-Box-Operatoren. Geodaten-Abfragen sind stattdessen ein Modellierungsmuster: Speichere einen Geohash oder eine S2-Zellen-ID im Key, sodass nahe beieinander liegende Punkte zusammen sortiert werden, frage die Zellen ab, die dein Suchgebiet abdecken, und verfeinere danach in deiner Anwendung über die exakte Distanz.

Das Geohash-Muster

Ein Geohash (oder eine S2-Zellen-ID, wie sie AWS' Geo Library for DynamoDB verwendet) kodiert Breiten-/Längengrad in einen String oder eine Zahl, deren Präfix eine Rasterzelle identifiziert — und entscheidend: Nahe beieinander liegende Punkte teilen sich Präfixe. Als Partition oder Sort Key gespeichert, wird daraus für „Punkte in meiner Nähe" eine ganz gewöhnliche Key-Range-Abfrage:

  • Box-Abfrage — berechne die Zellen, die ein Rechteck abdecken, Query jede Zelle, führe die Ergebnisse zusammen.
  • Radius-Abfrage — dasselbe über die Zellen, die einen Kreis abdecken, danach clientseitig nach exakter Distanz filtern.

Die Auflösung zählt: Wähle eine Zellengröße, bei der die meisten Suchen nur die Zielzelle und ihre Nachbarn berühren.

Wie die Präzision die Zahl der Abfragen verändert

Nimm den Eiffelturm, 48.8584, 2.2945. Sein Geohash ist u09tunquc. Das Trocadéro, 640 m entfernt bei 48.8619, 2.2876, ist u09tup1c0. Sie teilen sich u09tu, bei Präzision 5 liegen sie also in derselben Zelle. Bei Präzision 6 nicht mehr. Zwei Wahrzeichen, die man voneinander aus sehen kann, in verschiedenen Zellen — genau deshalb muss eine Zellenabfrage immer die acht Nachbarn zusätzlich zur eigenen Zelle einschließen.

Jedes Zeichen engt die Box weiter ein. Auf diesem Breitengrad:

PräzisionZellengrößeVon einem 5-km-Radius berührte Zellen
425,7 × 19,6 km1 bis 4
53,2 × 4,9 km10 bis 12
60,81 × 0,61 km185 bis 193

Jede Zeile ist eine Spanne, weil die Anzahl davon abhängt, wie der Kreis auf dem Raster liegt, und nicht nur davon, wie groß er ist. Zellen werden außerdem zum Äquator hin breiter, wo ein Längengrad mehr Boden abdeckt. Dieselbe Präzision-5-Zelle ist am Äquator 4,9 km breit und in Paris 3,2 km.

Diese dritte Spalte ist die Design-Entscheidung. Präzision 6 macht aus einem „Restaurants im Umkreis von 5 km" rund 190 Query-Aufrufe. Präzision 4 macht daraus einen oder zwei Aufrufe, die dir alles in einer 500 km² großen Box zurückgeben, das du clientseitig wieder wegwirfst.

Das Geld ist nicht das, was weh tut. Diese 190 Abfragen, jede unter 4 KB und letztendlich konsistent, kommen auf 95 Read-Einheiten — etwa 0,000012 $ pro Suche zur us-east-1-On-Demand-Rate, oder 11,88 $ für eine Million Suchen. Die Round-Trips sind der eigentliche Preis. Setz sie parallel ab und deckle den Fan-out, sonst ist der p99 deines Such-Endpoints diejenige Zellenabfrage, die zufällig am langsamsten war.

Bibliotheken und Tooling

AWS hat die Geo Library for Amazon DynamoDB (Java) veröffentlicht, die das S2-basierte Muster demonstriert, und es gibt Community-Portierungen für andere Sprachen (etwa dynamodb-geo für Node.js). Prüfe den Wartungsstand, bevor du eine übernimmst — das Muster selbst ist einfach genug, um es direkt zu implementieren.

Wann stattdessen eine Suchmaschine

Für reichhaltige Geo-Prädikate (Polygone, Sortierung nach Distanz, Geo kombiniert mit Volltext) repliziere die Tabelle in einen dafür gebauten Index — dieselbe Zero-ETL-OpenSearch-Integration, die auch die Volltextsuche übernimmt, gibt dir eine Suchmaschine mit nativen Geodaten-Abfragen.

Tiefer einsteigen

Im Kern ist das Muster ein Sort-Key-Trick — der Leitfaden zu Sort-Key-Strategien behandelt den Werkzeugkasten, der Expression Builder erzeugt die begins_with-/BETWEEN-Bedingungen, die Zellenabfragen nutzen, und DynoTable lässt dich die kodierten Keys an deinen echten Items inspizieren.

Referenzen

Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.

Geohashes, Zellenmaße und Abdeckungszahlen am 2026-07-28 mit einem Standard-Base32-Geohash-Encoder auf Breitengrad 48.8584 berechnet. Prüfe u09tunquc mit einem beliebigen Geohash-Tool nach. Die Kosten pro Suche nutzen die us-east-1-On-Demand-Leserate aus unserer synchronisierten Preistabelle (AWS-Pricing-API-Veröffentlichung 2026-07-22).

Mit DynamoDB ohne die Console arbeiten

Ein schneller DynamoDB-Desktop-Client, der das echte SQL ausführt, das DynamoDB nicht kann — JOINs, GROUP BY, Aggregationen — mit visueller Bearbeitung und einem KI-Agenten auf deinen eigenen Bedrock-Schlüsseln.

30 Tage kostenlos testen, keine Kreditkarte — danach der Kostenlos-Tarif ohne Zeitlimit.