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-Cell-ID im Schlüssel, sodass nahe beieinander liegende Punkte zusammen sortiert werden, frage die Cells ab, die deinen Suchbereich abdecken, und verfeinere dann in deiner Anwendung nach exakter Distanz.
Das Geohash-Muster
Ein Geohash (oder eine S2-Cell-ID, wie sie von AWS' Geo Library für DynamoDB verwendet wird) kodiert Breiten-/Längengrad in einen String oder eine Zahl, deren Präfix eine Grid-Cell identifiziert — und entscheidend: Nahe beieinander liegende Punkte teilen sich Präfixe. Als Partition oder Sort Key gespeichert, verwandelt das „Punkte in meiner Nähe“ in gewöhnliche Key-Range-Abfragen:
- Box-Abfrage — berechne die Cells, die ein Rechteck abdecken, führe pro Cell ein
Queryaus, füge die Ergebnisse zusammen. - Radius-Abfrage — dasselbe, über die Cells, die einen Kreis abdecken, filtere dann clientseitig nach exakter Distanz.
Die Auflösung ist wichtig: Wähle eine Cell-Größe, bei der die meisten Suchen nur die Ziel-Cell und ihre Nachbarn berühren.
Bibliotheken und Tooling
AWS hat die Geo Library für Amazon DynamoDB (Java) veröffentlicht, die das S2-basierte Muster demonstriert, und es gibt Community-Ports für andere Sprachen (etwa dynamodb-geo für Node.js). Prüfe den Wartungsstatus, bevor du eine einsetzt — das Muster selbst ist einfach genug, um es direkt zu implementieren.
Wann stattdessen eine Suchmaschine verwenden
Für reichhaltige Geo-Prädikate (Polygone, Sortieren nach Distanz, Kombinieren von Geo mit Volltext) repliziere die Tabelle in einen zweckgebundenen Index — dieselbe Zero-ETL-OpenSearch-Integration, die die Volltextsuche übernimmt, gibt dir auch eine Suchmaschine mit nativen Geodaten-Abfragen. DynamoDB vs. Elasticsearch wägt diese Aufteilung aus Datenbank plus Index vollständig ab.
Tiefer einsteigen
Das Muster ist im Kern ein Sort-Key-Trick — der Leitfaden zu Sort-Key-Strategien behandelt den Werkzeugkasten, der Expression Builder generiert die begins_with-/BETWEEN-Bedingungen, die Cell-Abfragen verwenden, und DynoTable lässt dich die kodierten Schlüssel auf deinen echten Items inspizieren.
Referenzen
- Geo Library for Amazon DynamoDB – Part 1: Table Structure — AWS Mobile Blog
- Implementing geohashing at scale in serverless web applications — AWS Compute Blog
- Supported data types and naming rules in Amazon DynamoDB — Amazon DynamoDB Developer Guide
Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.