DynamoDB prend-il en charge les requêtes géospatiales ?

Pas nativement. DynamoDB n'a pas de type de données géospatial ni d'opérateurs de distance ou de boîte englobante. Les requêtes géospatiales sont plutôt un motif de modélisation : stocke un geohash ou un identifiant de cellule S2 dans la clé pour que les points proches se trient ensemble, interroge les cellules couvrant ta zone de recherche, puis affine par distance exacte dans ton application.

Le motif geohash

Un geohash (ou un identifiant de cellule S2, comme utilisé par la Geo Library for DynamoDB d'AWS) encode la latitude/longitude en une chaîne ou un nombre dont le préfixe identifie une cellule de grille — et, point crucial, les points proches partagent des préfixes. Stocké comme clé de partition ou de tri, cela transforme « les points près de moi » en requêtes de plage de clés ordinaires :

  • Requête par boîte — calcule les cellules couvrant un rectangle, Query chaque cellule, fusionne les résultats.
  • Requête par rayon — pareil, sur les cellules couvrant un cercle, puis filtre par distance exacte côté client.

La résolution compte : choisis une taille de cellule où la plupart des recherches ne touchent que la cellule cible et ses voisines.

Bibliothèques et outillage

AWS a publié la Geo Library for Amazon DynamoDB (Java) illustrant le motif basé sur S2, et des portages communautaires existent pour d'autres langages (comme dynamodb-geo pour Node.js). Vérifie l'état de maintenance avant d'en adopter un — le motif lui-même est assez simple pour être implémenté directement.

Quand utiliser plutôt un moteur de recherche

Pour des prédicats géo riches (polygones, tri par distance, combinaison du géo avec le plein texte), réplique la table dans un index dédié — la même intégration zéro-ETL OpenSearch qui gère la recherche plein texte te donne aussi un moteur de recherche avec des requêtes géospatiales natives. DynamoDB vs Elasticsearch pèse en entier ce partage base-de-données-plus-index.

Pour aller plus loin

Le motif est au fond une astuce de clé de tri — le guide des stratégies de clé de tri couvre la boîte à outils, le générateur d'expressions génère les conditions begins_with/BETWEEN qu'utilisent les requêtes de cellule, et DynoTable te permet d'inspecter les clés encodées sur tes vrais éléments.

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Travaille avec DynamoDB sans la Console

DynoTable est un client de bureau rapide pour DynamoDB — parcours les tables, exécute des requêtes de style SQL et édite les items en local.