Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Synchronisation des données entre les tables et les index vectoriels
DynamoDB synchronise automatiquement un index vectoriel avec sa table de base. Comprendre le fonctionnement de la synchronisation vous permet de prévoir à quel moment les résultats de recherche seront complets et pourquoi un élément risque de ne pas apparaître dans les résultats.
Remplissage d'un index sur une table existante
Lorsque vous ajoutez un index vectoriel à une table qui contient déjà des éléments, DynamoDB remplit l'index avec les données existantes. L'index passe d'abord à l'étape IndexStatus CREATING de configuration de l'infrastructure d'index par DynamoDB. Il passe ensuite à IndexStatus ACTIVE Backfilling défini sur true tandis que DynamoDB remplit l'index à partir des données de la table de base existantes. Les nouvelles écritures dans la table de base sont répliquées dans l'index au cours de cette phase, mais une erreur est SearchVectors renvoyée jusqu'à la fin du remplissage. Utilisez DescribeTable et attendez que « IndexStatus est » ACTIVE et « Backfilling soit » false avant de lancer la recherche. Consultez Ajouter un index vectoriel à une table existante.
Synchronisation continue de l'écriture
Une fois l'index actif, DynamoDB réplique chaque écriture de la table de base dans l'index vectoriel. Les comportements suivants déterminent si et comment une écriture atteint l'index :
-
Un élément est répliqué dans l'index uniquement s'il contient un attribut vectoriel valide. Si l'index définit une clé de partition, l'élément doit également contenir cet attribut de clé de partition ; sinon, l'écriture réussit sur la table de base mais l'élément n'est pas répliqué dans l'index.
-
Les valeurs vectorielles sont stockées dans la table de base telles qu'elles sont écrites, mais sont stockées avec une précision de 32 bits à virgule flottante (f32) dans l'index. Les valeurs avec une précision plus élevée perdent cette précision lorsqu'elles sont répliquées dans l'index.
-
Lorsque vous supprimez l'attribut vectoriel d'un élément, ou que vous supprimez l'élément, l'entrée correspondante est supprimée de l'index.
Pour l'ensemble complet des règles de validation d'écriture, consultez. Écrire des éléments avec des données vectorielles
Synchronisation entre les régions
Lorsqu'une table dotée d'un index vectoriel est une table globale, DynamoDB réplique les écritures dans n'importe quelle région de réplication vers les autres régions et les y indexe. DynamoDB réplique les données vers l'index vectoriel de manière asynchrone. Un vecteur que vous écrivez dans une région peut ne pas apparaître immédiatement dans les SearchVectors résultats d'une autre région, même si le tableau utilise une cohérence forte dans plusieurs régions (MRSC). Consultez Utilisation d'index vectoriels avec des tables globales.