Esta publicación es la cuarta parte de una serie de varias partes que explora la indexación de vectores compuestos en Couchbase. Si te perdiste las publicaciones anteriores, asegúrate de ponerte al día en Parte 1, Parte 2 y Parte 3.
La serie cubrirá:
- Por qué importan los índices vectoriales compuestos, incluidos los conceptos, la terminología y la motivación del desarrollador. Se utilizará un Sistema Inteligente de Recomendación de Supermercado como ejemplo práctico.
- Cómo se implementan los índices vectoriales compuestos dentro del servicio de indexación de Couchbase.
- Cómo funciona el *pushdown* de ORDER BY para consultas de vectores compuestos.
- Comportamiento de rendimiento en el mundo real y resultados de evaluación comparativa.
Parte 4: Análisis de rendimiento de índices vectoriales compuestos
Las aplicaciones agénticas y las cargas de trabajo de IA requieren cada vez más una búsqueda vectorial eficiente. Los sistemas tradicionales de búsqueda de vecinos más cercanos aproximados (ANN) pueden tener dificultades a escala, con desafíos como el consumo de memoria, los tiempos de construcción de índices y los mecanismos de actualización en tiempo real.
Los Índices Vectoriales Compuestos (CVI, por sus siglas en inglés) están diseñados para cargas de trabajo ANN con filtros, donde los predicados escalares reducen el conjunto de candidatos antes de la búsqueda vectorial aproximada. Para cargas de trabajo puramente vectoriales a muy gran escala, Couchbase también ofrece Índices Vectoriales a Hiperescala. Para conocer las mejores prácticas, consulte nuestra documentación. Aquí.
Esta publicación se centra en el comportamiento de rendimiento de los índices vectoriales compuestos para cargas de trabajo ANN filtradas. A partir de los conceptos y el modelo de ejecución introducidos de la Parte 1 a la 3, ahora analizamos cómo cambian el rendimiento (throughput) y la latencia p95 a medida que varía la selectividad escalar en conjuntos de datos a gran escala.
En esta publicación, la selectividad % se refiere a la cantidad del conjunto de datos que sigue siendo relevante después de que la parte escalar de la consulta restringe el espacio de búsqueda. Una menor selectividad significa que solo cumple los requisitos una porción más reducida del conjunto de datos, lo que a su vez reduce la cantidad de trabajo vectorial que el sistema debe realizar.
Rendimiento de compilación
En una prueba de rendimiento de compilación interna, CVI pudo construir un índice de mil millones de vectores de 128 dimensiones en 7 horas. Esto demuestra la arquitectura de indexación y el uso de hardware moderno.
El rendimiento de la compilación se midió en la siguiente infraestructura:
Procesador: AMD EPYC 7643 de 32 núcleos
Memoria 128 GB de RAM
Almacenamiento: SSD empresarial Samsung PM1743 de 15.36 TB
Conjunto de datos datos de referencia SIFT
Esto demuestra que la indexación de miles de millones de vectores para cargas de trabajo de producción es práctica.
Rendimiento de consultas: Velocidad y precisión combinadas
CVI ofrece un alto rendimiento en las consultas con un alto nivel de recuperación. Al utilizar el conjunto de datos SIFT de 100 millones con cuantificación SQ8 y un campo escalar principal, CVI alcanzó una recuperación de 75% a un nivel de confianza del 10 % en diversos porcentajes de selectividad, con características medidas de rendimiento y latencia.
El rendimiento mejora a medida que se reduce la selectividad

Las curvas de rendimiento y latencia cuentan la misma historia desde dos ángulos. Las restricciones escalares más estrictas reducen la cantidad de trabajo que fluye a través de la ruta de ejecución, lo que mejora tanto el rendimiento del sistema como el comportamiento en la cola. Para las aplicaciones que naturalmente incluyen restricciones estrictas, como categoría, marca, inquilino, región, idioma o límite de cumplimiento, este comportamiento es exactamente donde los índices vectoriales compuestos resultan atractivos.
Configuración de prueba
Definición
|
1 |
CREAR Índice `vector–índice` en `cubeta–1`.`_default`.`_default` (escalar, emb Vector) CON {‘dimensión’:128, ‘similitud’:‘L2’, ‘descripción’:‘IVF,SQ8’} |
Consulta
|
1 2 3 4 |
SELECT meta().identificación DE `cubeta–1`.`_default`.`_default` DÓNDE escalar = ‘elegible’ PEDIDO POR DISTANCIA_ANN(emb, , ‘L2’, ) LÍMITE 10 |
El escalar El campo se completa en los datos según sea necesario para la selectividad y se ajusta para obtener el nivel de recuperación esperado..
Por qué las curvas se ven así
El rendimiento del CVI está influenciado por varias características arquitectónicas:
- Escaneo con reconocimiento de orden
- CVI utiliza un proceso de análisis con conciencia del orden que aprovecha predicados escalares combinados con búsqueda de similitud vectorial, lo que permite patrones de acceso eficientes y minimiza las operaciones de E/S.
- Arquitectura de procesamiento paralelo
- El sistema utiliza paralelismo entre centroides, lo que permite que múltiples trabajadores de análisis operen simultáneamente en diferentes particiones del espacio vectorial.
- cálculo de distancias acelerado por SIMD
- CVI utiliza operaciones SIMD a través de la biblioteca FAISS para acelerar las evaluaciones de similitud y minimizar la sobrecarga computacional.
- Capa de enrutamiento HNSW
- La capa de enrutamiento Hierarchical Navigable Small World (HNSW) permite la identificación de centroides relevantes, lo que reduce el espacio de búsqueda.
Aplicaciones de ejemplo
Las características de rendimiento de CVI son aplicables a una variedad de casos de uso:
- Comercio electrónico y recomendaciones de productos
- Búsqueda de similitud de productos con filtros de precio, marca y categoría
- Descubrimiento de contenido y búsqueda
- Búsqueda de similitud de documentos y contenido multimedia con restricciones de metadatos
- Detección de fraude y evaluación de riesgos
- Detección de anomalías en patrones de transacciones con restricciones temporales
- Marketing personalizado
- Segmentación de clientes y recomendaciones dirigidas
Conclusión
Las primeras tres partes de esta serie explicaron por qué importan los Índices Vectoriales Compuestos, cómo se implementan y cómo permiten una aplicación flexible de ORDER BY (pushdown) para consultas mixtas de escalares y vectores. Esta parte final muestra los beneficios de rendimiento de ese diseño.
En la prueba de rendimiento de 100M SIFT con cuantificación SQ8, el rendimiento aumentó de 800 QPS con una selectividad de 100% a 2853 QPS con una selectividad de 1%, mientras que la latencia p95 mejoró de 66 ms a 17 ms. En una prueba de rendimiento interna independiente, Composite Vector Indexes creó un índice con más de mil millones de vectores de 128 dimensiones en aproximadamente 7 horas en hardware de servidor comercial moderno.
Para cargas de trabajo de ANN filtradas, esa es la propuesta de valor fundamental de los índices vectoriales compuestos: permiten a las aplicaciones combinar restricciones escalares y similitud semántica en una sola estructura de índice, a la vez que ofrecen un alto rendimiento y una baja latencia de cola a escala.

Deja un comentario
Lo siento, debes estar conectado para publicar un comentario.