Présentation de la fonctionnalité
Amazon DynamoDB a ajouté un type d'index natif dédié aux vecteurs, permettant de stocker des embeddings directement avec les données opérationnelles. La prise en charge s’étend à 4096 dimensions et propose trois métriques de distance : Euclidean, Cosine et Dot product. Chaque requête peut renvoyer jusqu’à 100 résultats avec un taux de rappel de 99 % ou plus. Le service est disponible en régions commerciales AWS et GovCloud (US), ce qui élimine le besoin de répliquer les données vers un magasin de vecteurs externe.
Architecture et mécanismes d'indexation
Le moteur DynamoDB conserve son modèle de partitionnement basé sur la clé primaire, mais introduit un sous‑système d’indexation vectorielle qui s’appuie sur des structures de type HNSW (Hierarchical Navigable Small World) optimisées pour le stockage sur disque SSD. Les vecteurs sont sérialisés dans les attributs de l’item et indexés lors de l’opération d’écriture, ce qui implique un léger accroissement du temps de latence d’écriture proportionnel à la dimension du vecteur. La recherche s’effectue en deux phases : filtrage préliminaire via les métadonnées de la table, puis exploration du graphe HNSW pour identifier les candidats les plus proches selon la métrique choisie.
Performances, limites et implications
Les mesures publiées indiquent une latence de quelques millisecondes à un chiffre pour les requêtes de recherche, même à l’échelle de plusieurs téraoctets de données. Cette performance repose sur la densité contrôlée du graphe et sur le fait que le nombre maximal de résultats est limité à 100, ce qui évite des scans exhaustifs. En revanche, la contrainte de 4096 dimensions exclut les embeddings très haute dimension typiques de certains modèles de vision, et le rappel de 99 % implique que les 1 % restants de résultats pertinents peuvent être omis, ce qui doit être évalué selon la tolérance à l’erreur de l’application.
Cas d'usage et considérations de coût
Cette intégration cible les systèmes de recommandation, la recherche sémantique et la déduplication de documents où les vecteurs sont déjà générés par des modèles de machine learning. En conservant les embeddings dans DynamoDB, les développeurs réduisent la latence inter‑services et les coûts liés à la synchronisation de bases distinctes. Cependant, le stockage supplémentaire et les opérations d’indexation augmentent le coût de lecture/écriture par item. Il est donc recommandé de mesurer le ratio entre la fréquence des requêtes de similarité et le volume d’écritures pour optimiser le dimensionnement des tables.