View a markdown version of this page

Sincronización de datos entre tablas e índices vectoriales - Amazon DynamoDB

Sincronización de datos entre tablas e índices vectoriales

DynamoDB mantiene un índice vectorial sincronizado automáticamente con su tabla base. Comprender cómo funciona la sincronización ayuda a predecir cuándo estarán completos los resultados de la búsqueda y por qué es posible que un elemento no aparezca en los resultados.

Relleno de un índice en una tabla existente

Al agregar un índice vectorial a una tabla que ya contiene elementos, DynamoDB rellena el índice con los datos existentes. El índice pasa primero a IndexStatus CREATING mientras DynamoDB configura la infraestructura del índice. A continuación, pasa a IndexStatus ACTIVE con Backfilling establecido en true mientras DynamoDB rellena el índice a partir de los datos de la tabla base existente. Las nuevas escrituras en la tabla base se replican en el índice durante esta fase, pero SearchVectors devuelve un error hasta que se termina de rellenar. Utilice DescribeTable y espere hasta que IndexStatus sea ACTIVE y Backfilling sea false antes de realizar la búsqueda. Consulte Adición de un índice vectorial a una tabla existente.

Sincronización de escritura continua

Una vez que el índice está activo, DynamoDB replica cada escritura de la tabla base en el índice vectorial. Los siguientes comportamientos afectan a si una escritura llega al índice y cómo lo hace:

  • Un elemento se replica en el índice solo si contiene un atributo vectorial válido. Si el índice define una clave de partición, el elemento también debe contener ese atributo de clave de partición; de lo contrario, la escritura se realiza correctamente en la tabla base, pero el elemento no se replica en el índice.

  • Los valores vectoriales se almacenan en la tabla base tal como están escritos, pero se almacenan con una precisión de punto flotante de 32 bits (f32) en el índice. Los valores con mayor precisión pierden esa precisión cuando se replican en el índice.

  • Al eliminar el atributo vectorial de un elemento o al eliminar el elemento, la entrada correspondiente se elimina del índice.

Para ver el conjunto completo de reglas de validación de escritura, consulte Escritura de elementos con datos vectoriales.

Sincronización entre regiones

Cuando una tabla que tiene un índice vectorial es una tabla global, DynamoDB replica las escrituras de cualquier región de réplica en las demás regiones y las indexa allí. DynamoDB replica los datos en el índice vectorial de forma asíncrona. Es posible que un vector que escriba en una región no aparezca inmediatamente en los resultados de SearchVectors de otra región, incluso si la tabla utiliza una coherencia sólida multirregional (MRSC). Consulte Uso de índices vectoriales con tablas globales.