Terminología

AutoID

AutoID es un atributo del campo primario que determina si se activa el Autoincremento para el campo primario. El valor de AutoID se define en base a una marca de tiempo. Para obtener más información, consulte create_schema.

Autoíndice

Milvus decide automáticamente el tipo de índice y los parámetros más apropiados para un campo específico basándose en datos empíricos. Esto es ideal para situaciones en las que no necesita controlar los parámetros específicos del índice. Para más información, consulte add_index.

Attu

Attu es una herramienta de administración todo en uno para Milvus que reduce significativamente la complejidad y el coste de la gestión del sistema.

Birdwatcher

Birdwatcher es una herramienta de depuración para Milvus que se conecta a etcd, permitiéndole monitorizar el estado del servidor Milvus y hacer ajustes en tiempo real. También soporta copias de seguridad de archivos etcd, ayudando a los desarrolladores en la solución de problemas.

Escritor a granel

Bulk Writer es una herramienta de procesamiento de datos proporcionada por Milvus SDKs (por ejemplo, PyMilvus, Java SDK), diseñada para convertir conjuntos de datos sin procesar en un formato compatible con Milvus para una importación eficiente.

Inserción masiva

Bulk Insert es una API que mejora el rendimiento de la escritura al permitir la importación de varios archivos en una sola solicitud, optimizando las operaciones con grandes conjuntos de datos.

Cardinal

Cardinal, desarrollado por Zilliz Cloud, es un algoritmo de búsqueda vectorial de vanguardia que ofrece una calidad de búsqueda y un rendimiento sin precedentes. Con su diseño innovador y sus amplias optimizaciones, Cardinal supera a Knowhere en varias veces hasta un orden de magnitud, a la vez que maneja de forma adaptativa diversos escenarios de producción, como tamaños de K variables, alto filtrado, diferentes distribuciones de datos, etc.

Canal

Milvus utiliza dos tipos de canales, PChannel y VChannel, como parte de su arquitectura de servicio de streaming. Cada PChannel corresponde a un flujo WAL gestionado por Woodpecker, mientras que cada VChannel corresponde a un fragmento de una colección. El servicio de streaming gestiona estos canales para garantizar la coherencia de los datos y la recuperación de fallos.

Colección

En Milvus, una colección es equivalente a una tabla en un sistema de gestión de bases de datos relacionales (RDBMS). Las colecciones son objetos lógicos principales utilizados para almacenar y gestionar entidades. Para obtener más información, consulte Gestionar colecciones.

Dependencia

Una dependencia es un programa del que depende otro programa para funcionar. Las dependencias de Milvus incluyen etcd (almacena metadatos), MinIO o S3 (almacenamiento de objetos) y Pulsar (gestiona registros de instantáneas). Para más información, consulte Gestionar dependencias.

Esquema dinámico

El esquema dinámico le permite insertar entidades con nuevos campos en una colección sin modificar el esquema existente. Esto significa que puede insertar datos sin conocer el esquema completo de una colección y puede incluir campos que aún no están definidos. Puede activar esta capacidad sin esquema activando el campo dinámico al crear una colección. Para más información, consulte Activar campo dinámico.

Incrustaciones

Milvus ofrece funciones de incrustación incorporadas que funcionan con proveedores de incrustación populares. Antes de crear una colección en Milvus, puede utilizar estas funciones para generar incrustaciones para sus conjuntos de datos, agilizando el proceso de preparación de datos y búsquedas de vectores. Para crear incrustaciones en acción, consulte Usar el modelo de PyMilvus para generar incrustaciones de texto.

Entidad

Una entidad consiste en un grupo de campos que representan objetos del mundo real. Cada entidad en Milvus está representada por una clave primaria única.

Puede personalizar las claves primarias. Si no las configura manualmente, Milvus asigna automáticamente la clave primaria a las entidades. Si elige personalizar la clave primaria, tenga en cuenta que Milvus no soporta la desduplicación de claves primarias por ahora. Por lo tanto, puede haber claves primarias duplicadas en la misma colección. Para más información, consulte Insertar Entidades.

Campo

Un campo en una colección Milvus es equivalente a una columna de tabla en un RDBMS. Los campos pueden ser campos escalares para datos estructurados (por ejemplo, números, cadenas), o campos vectoriales para vectores incrustados.

Filtro

Milvus admite el filtrado escalar mediante la búsqueda con predicados, lo que le permite definir condiciones de filtrado dentro de las consultas y búsquedas para refinar los resultados.

La búsqueda filtrada aplica filtros escalares a las búsquedas vectoriales, permitiéndole refinar los resultados de la búsqueda basándose en criterios específicos. Para más información, consulte Búsqueda filtrada.

La búsquedahíbrida es una API para la búsqueda híbrida desde Milvus 2.4.0. Puede buscar en múltiples campos vectoriales y fusionarlos. La búsqueda vectorial combinada con el filtrado de campos escalares se denomina "búsqueda filtrada". Para más información, consulte Búsqueda híbrida.

Índice

Un índice vectorial es una estructura de datos reorganizada derivada de datos brutos que puede acelerar enormemente el proceso de búsqueda de similitud vectorial. Milvus admite una amplia gama de tipos de índice tanto para campos vectoriales como para campos escalares. Para más información, consulte Tipos de índices vectoriales.

Conector Kafka-Milvus

Conector Kafka-Milvus se refiere a un conector de sumidero Kafka para Milvus. Le permite transmitir datos vectoriales desde Kafka a Milvus.

Knowhere

Knowhere es el motor central de ejecución vectorial de Milvus que incorpora varias bibliotecas de búsqueda de similitud vectorial, incluyendo Faiss, Hnswlib y Annoy. Knowhere también está diseñado para soportar computación heterogénea. Controla en qué hardware (CPU o GPU) ejecutar la creación de índices y las peticiones de búsqueda. Así es como Knowhere obtiene su nombre - sabiendo dónde ejecutar las operaciones.

Instantánea de registro

Una instantánea de registro es un registro binario, una unidad más pequeña en segmento que registra y maneja las actualizaciones y cambios realizados a los datos en Milvus. Los datos de un segmento persisten en múltiples binlogs. Hay tres tipos de binlogs en Milvus: InsertBinlog, DeleteBinlog y DDLBinlog. Para obtener más información, consulte Metaalmacenamiento.

Tipo de métrica

Los tipos de métrica de similitud se utilizan para medir similitudes entre vectores. Actualmente, Milvus admite la distancia euclidiana (L2), el producto interior (IP), la similitud coseno (COSINE) y los tipos métricos binarios. Puede elegir el tipo de métrica más apropiado en función de su escenario. Para más información, consulte Métricas de similitud.

MemoryBuffer

MemoryBuffer es un modo de despliegue ligero de Woodpecker que almacena temporalmente las escrituras entrantes en la memoria y las descarga periódicamente en el almacenamiento de objetos en la nube. Este modo es el más adecuado para cargas de trabajo de lotes pesados en implementaciones a pequeña escala o entornos de producción que priorizan la simplicidad sobre el rendimiento. Para obtener más información, consulte Arquitectura de Woodpecker.

Mmap

Los archivos mapeados en memoria permiten una gestión eficaz de los datos al mapear el contenido de los archivos directamente en la memoria. Esto resulta especialmente útil cuando la memoria es limitada y no es posible cargar todos los datos. Esta técnica puede aumentar la capacidad de los datos y mantener el rendimiento hasta cierto punto. Sin embargo, si los datos superan ampliamente la capacidad de memoria, la velocidad de búsqueda y consulta podría disminuir considerablemente. Para más información, consulte Almacenamiento de datos habilitado para MMap.

Milvus Backup

Milvus Backup es una herramienta para crear copias de datos, que pueden utilizarse para restaurar el original tras una pérdida de datos.

Milvus CDC

Milvus CDC (captura de datos de cambio) es una herramienta utilizada para replicar los cambios de datos de un clúster Milvus a otro para la recuperación de desastres primaria-standby.

Milvus CLI

Milvus Command-Line Interface (CLI) es una herramienta de línea de comandos que soporta la conexión a bases de datos, operaciones de datos e importación y exportación de datos. Basada en Milvus Python SDK, permite la ejecución de comandos a través de un terminal utilizando indicaciones interactivas de línea de comandos.

Milvus Migration

MilvusMigration es una herramienta de código abierto diseñada para facilitar la migración de datos de varias fuentes de datos a Milvus 2.x.

Cluster de Milvus

En el despliegue en clúster de Milvus, los servicios son proporcionados por un grupo de nodos para lograr una alta disponibilidad y una fácil escalabilidad.

Milvus independiente

En el despliegue autónomo de Milvus, todas las operaciones, incluida la inserción de datos, la creación de índices y la búsqueda de similitud vectorial, se completan en un único proceso.

Multivector

Milvus soporta múltiples campos vectoriales en una colección desde 2.4.0. Para más información, consulte Búsqueda híbrida.

Partición

Una partición es una división de una colección. Milvus permite dividir los datos de la colección en múltiples partes en el almacenamiento físico. Este proceso se denomina partición, y cada partición puede contener múltiples segmentos. Para más información, consulte Gestionar particiones.

Clave de partición

El atributo de clave de partición de un campo permite la segregación de entidades en particiones distintas en función de sus valores de clave de partición. Esta agrupación garantiza que las entidades que comparten el mismo valor de clave se almacenan juntas, lo que puede acelerar las operaciones de búsqueda al permitir que el sistema omita las particiones irrelevantes durante las consultas filtradas por el campo de clave de partición. Para más información, consulte Utilizar clave de partición.

PChannel

PChannel significa canal físico. Cada PChannel corresponde a un flujo WAL gestionado por Woodpecker. De forma predeterminada, se asignará un grupo de PChannels para almacenar los registros que registran la inserción, eliminación y actualización de datos cuando se inicia el clúster Milvus. Para más información, consulte Streaming Service.

PyMilvus

PyMilvus es un SDK Python de Milvus. Su código fuente es de código abierto y está alojado en GitHub. Usted tiene la flexibilidad de elegir MilvusClient (nueva versión Python SDK) o el módulo original ORM para hablar con Milvus.

Consulta

Query es una API que realiza filtrado escalar con una expresión booleana especificada como filtro. Para más información, consulte Get & Scalar Query.

QuorumBuffer

QuorumBuffer es un modo de despliegue de Woodpecker diseñado para cargas de trabajo de lectura/escritura sensibles a la latencia y de alta frecuencia que requieren tanto capacidad de respuesta en tiempo real como una fuerte tolerancia a fallos. Funciona como un búfer de escritura de alta velocidad con escrituras de quórum de tres réplicas, lo que garantiza una gran coherencia y alta disponibilidad. Para obtener más información, consulte Arquitectura Woodpecker.

La búsqueda por rango permite encontrar vectores que se encuentran a una distancia determinada del vector de búsqueda. Para obtener más información, consulte Búsqueda por rangos.

Esquema

El esquema es la metainformación que define el tipo y la propiedad de los datos. Cada colección tiene su propio esquema de colección que define todos los campos de una colección, la habilitación automática de asignación de ID (clave primaria) y la descripción de la colección. Los esquemas de campo también se incluyen en los esquemas de colección, que definen el nombre, el tipo de datos y otras propiedades de un campo. Para obtener más información, consulte Gestionar esquema.

La búsqueda es una API que realiza una operación para llevar a cabo una búsqueda de similitud vectorial, que requiere datos vectoriales para su ejecución. Para más información, consulte Búsqueda de un solo vector.

Segmento

Un segmento es un archivo de datos creado automáticamente que almacena datos insertados. Una colección puede contener varios segmentos, y cada segmento puede contener numerosas entidades. Durante una búsqueda de similitud vectorial, Milvus examina cada segmento para compilar los resultados de la búsqueda.

Hay dos tipos de segmentos: en crecimiento y sellados. Un segmento en crecimiento continúa recopilando nuevos datos hasta que alcanza un umbral o límite de tiempo específico, tras lo cual se sella. Una vez sellado, un segmento ya no acepta nuevos datos y se transfiere al almacenamiento de objetos. Mientras tanto, los datos entrantes se dirigen a un nuevo segmento en crecimiento. La transición de un segmento en crecimiento a uno sellado se activa al alcanzar el límite de entidad predefinido o al superar la duración máxima permitida en el estado de crecimiento. Para más información, consulte Detalles de diseño.

Conector Spark-Milvus

Spark-Milvus Connector proporciona una integración perfecta entre Apache Spark y Milvus, combinando las características de procesamiento de datos y aprendizaje automático (ML) de Apache Spark con las capacidades de almacenamiento y búsqueda de datos vectoriales de Milvus.

Shard

Milvus mejora el rendimiento de la escritura de datos distribuyendo las operaciones de escritura a través de múltiples nodos utilizando shards, que se organizan basándose en el hash de las claves primarias. Esto aprovecha las capacidades de computación paralela del clúster.

La partición reduce la carga de lectura especificando un nombre de partición, mientras que la fragmentación distribuye la carga de escritura entre varios servidores.

Vector disperso

Los vectores dispersos representan palabras o frases utilizando incrustaciones vectoriales en las que la mayoría de los elementos son cero, y sólo un elemento distinto de cero indica la presencia de una palabra específica. Los modelos de vectores dispersos, como SPLADEv2, superan a los modelos densos en la búsqueda de conocimiento fuera del dominio, el conocimiento de palabras clave y la interpretabilidad. Para más información, consulte Vectores dispersos.

Servicio de streaming

El Servicio de Streaming es un concepto para el módulo interno del sistema de streaming de Milvus, construido alrededor del Registro de Escritura en Cabecera (WAL) para soportar varias funciones relacionadas con el streaming. Entre ellas se incluyen la ingesta/suscripción de datos de streaming, la recuperación de fallos del estado del clúster, la conversión de datos de streaming en datos históricos y las consultas de datos crecientes. El servicio se compone de los componentes Streaming Coordinator, Streaming Node Cluster y Streaming Client. Para más información, consulte Servicio de streaming.

Datos no estructurados

Los datos no estructurados, que incluyen imágenes, vídeo, audio y lenguaje natural, son información que no sigue un modelo o forma de organización predefinidos. Este tipo de datos representa alrededor del 80% de los datos mundiales, y pueden convertirse en vectores utilizando diversos modelos de inteligencia artificial (IA) y ML.

VChannel

VChannel significa canal virtual. Cada VChannel representa un fragmento de una colección. A cada colección se le asignará un grupo de VChannels para registrar la inserción, eliminación y actualización de datos. Los VChannels están separados lógicamente pero comparten físicamente recursos a través del servicio de streaming. Para más información, consulte Servicio de streaming.

Vector

Un vector de incrustación es una abstracción de características de datos no estructurados, como correos electrónicos, datos de sensores IoT, fotos de Instagram, estructuras de proteínas, etc. Matemáticamente hablando, un vector de incrustación es una matriz de números en coma flotante o binarios. Las técnicas modernas de incrustación se utilizan para convertir datos no estructurados en vectores de incrustación. Milvus soporta tanto vectores densos como dispersos desde la versión 2.4.0.

Almacenamiento WAL

El almacenamiento WAL (Write-Ahead Log) es la base de la durabilidad y consistencia de los datos en los sistemas distribuidos. Antes de confirmar cualquier cambio, se registra primero en un registro, asegurando que, en caso de fallo, se pueda recuperar exactamente donde se dejó. Milvus utiliza Woodpecker como sistema de almacenamiento WAL, que admite los modos MemoryBuffer y QuorumBuffer. Para obtener más información, consulte Arquitectura de Woodpecker.

Woodpecker

Woodpecker es un sistema WAL nativo de la nube en Milvus 2.6 que sustituye a Kafka y Pulsar. Con una arquitectura de disco cero y dos modos de despliegue (MemoryBuffer y QuorumBuffer), ofrece un alto rendimiento, una baja sobrecarga operativa y una escalabilidad perfecta en el almacenamiento de objetos. Para obtener más información, consulte Arquitectura de Woodpecker.

Nube Zilliz

Milvus totalmente gestionado en Zilliz Cloud, con más funciones empresariales y un rendimiento altamente optimizado.