Explicación de las colecciones
En Milvus, puede crear múltiples colecciones para gestionar sus datos, e insertar sus datos como entidades en las colecciones. Colección y entidad son similares a tablas y registros en bases de datos relacionales. Esta página le ayudará a conocer la colección y los conceptos relacionados.
Colección
Una colección es una tabla bidimensional con columnas fijas y filas variantes. Cada columna representa un campo y cada fila representa una entidad.
La siguiente tabla muestra una colección con ocho columnas y seis entidades.
Explicación de la colección
Esquema y campos
Al describir un objeto, solemos mencionar sus atributos, como el tamaño, el peso y la posición. Puede utilizar estos atributos como campos en una colección. Cada campo tiene varias propiedades restrictivas, como el tipo de datos y la dimensionalidad de un campo vectorial. Puede formar un esquema de colección creando los campos y definiendo su orden. Para conocer los posibles tipos de datos aplicables, consulte Explicación del esquema.
Debe incluir todos los campos definidos por el esquema en las entidades a insertar. Para que algunos de ellos sean opcionales, considere
Hacerlos anulables o establecer valores por defecto
Para obtener más información sobre cómo hacer que un campo sea anulable o establecer el valor por defecto, consulte Anulable y por defecto.
Activación de campos dinámicos
Para más detalles sobre cómo habilitar y utilizar el campo dinámico, consulte Campo dinámico.
Clave primaria y AutoId
De forma similar al campo primario en una base de datos relacional, una colección tiene un campo primario para distinguir una entidad de otras. Cada valor del campo primario es globalmente único y corresponde a una entidad específica.
Como se muestra en el gráfico anterior, el campo denominado id sirve como campo primario, y el primer ID 0 corresponde a una entidad titulada La tasa de mortalidad del coronavirus no es importante. No habrá ninguna otra entidad que tenga el campo primario 0.
Un campo primario sólo acepta números enteros o cadenas. Al insertar entidades, debe incluir los valores del campo primario por defecto. Sin embargo, si ha activado AutoId al crear la colección, Milvus generará esos valores al insertar los datos. En tal caso, excluya los valores del campo primario de las entidades a insertar.
Para más información, consulte Campo primario y AutoID.
Índice
La creación de índices en campos específicos mejora la eficacia de la búsqueda. Se aconseja crear índices para todos los campos en los que se basa su servicio, entre los cuales los índices sobre campos vectoriales son obligatorios.
Entidad
Las entidades son registros de datos que comparten el mismo conjunto de campos en una colección. Los valores de todos los campos de una misma fila constituyen una entidad.
Puede insertar tantas entidades como necesite en una colección. Sin embargo, a medida que aumenta el número de entidades, también aumenta el tamaño de memoria que ocupa, lo que afecta al rendimiento de la búsqueda.
Para más información, consulte Explicación del esquema.
Cargar y liberar
Cargar una colección es el requisito previo para realizar búsquedas y consultas de similitud en colecciones. Cuando carga una colección, Milvus carga todos los archivos de índice y los datos sin procesar de cada campo en la memoria para responder rápidamente a las búsquedas y consultas.
Las búsquedas y consultas son operaciones que consumen mucha memoria. Para ahorrar costes, se recomienda liberar las colecciones que no se estén utilizando en ese momento.
Para más detalles, consulte Cargar y liberar.
Búsquedas y consultas
Una vez creados los índices y cargada la colección, puede iniciar una búsqueda de similitud introduciendo uno o varios vectores de consulta. Por ejemplo, al recibir la representación vectorial de su consulta transportada en una solicitud de búsqueda, Milvus utiliza el tipo de métrica especificado para medir la similitud entre el vector de consulta y los de la colección de destino antes de devolver los que son semánticamente similares a la consulta.
También puede incluir el filtrado de metadatos en las búsquedas y consultas para mejorar la relevancia de los resultados. Tenga en cuenta que las condiciones de filtrado de metadatos son obligatorias en las consultas, pero opcionales en las búsquedas.
Para obtener más información sobre los tipos de métricas aplicables, consulte Tipos de métricas.
Para obtener más información sobre búsquedas y consultas, consulte los artículos del capítulo Búsqueda y renumeración, entre los que se encuentran las funciones básicas.
Además, Milvus también proporciona mejoras para aumentar el rendimiento y la eficacia de la búsqueda. Están desactivadas por defecto, y usted puede activarlas y utilizarlas según sus necesidades de servicio. Son las siguientes
Partición
Las particiones son subconjuntos de una colección, que comparten el mismo conjunto de campos con su colección padre, conteniendo cada una un subconjunto de entidades.
Al asignar entidades a diferentes particiones, puede crear grupos de entidades. Puede realizar búsquedas y consultas en particiones específicas para que Milvus ignore entidades en otras particiones, y mejorar la eficiencia de la búsqueda.
Para más detalles, consulte Gestionar Particiones.
Tablero
Los fragmentos son partes horizontales de una colección. Cada fragmento corresponde a un canal de entrada de datos. Por defecto, cada colección tiene un fragmento. Puede establecer el número apropiado de fragmentos al crear una colección basándose en el rendimiento esperado y el volumen de los datos que se insertarán en la colección.
Para obtener más información sobre cómo establecer el número de fragmentos, consulte Crear colección.
Alias
Puede crear alias para sus colecciones. Una colección puede tener varios alias, pero las colecciones no pueden compartir un alias. Al recibir una solicitud para una colección, Milvus localiza la colección basándose en el nombre proporcionado. Si la colección con el nombre proporcionado no existe, Milvus continúa localizando el nombre proporcionado como alias. Puede utilizar alias de colecciones para adaptar su código a diferentes escenarios.
Para más detalles, consulte Gestionar alias.
Función
Puede establecer funciones para que Milvus derive campos al crear una colección. Por ejemplo, la función de búsqueda de texto completo utiliza la función definida por el usuario para derivar un campo vectorial disperso de un campo varchar específico. Para obtener más información sobre la búsqueda de texto completo, consulte Búsqueda de texto completo.
Nivel de consistencia
Los sistemas de bases de datos distribuidas suelen utilizar el nivel de consistencia para definir la homogeneidad de los datos entre nodos de datos y réplicas. Puede establecer distintos niveles de coherencia al crear una colección o realizar búsquedas de similitud dentro de la colección. Los niveles de consistencia aplicables son Strong, Bounded Staleness, Session y Eventually.
Para obtener más información sobre estos niveles de coherencia, consulte Nivel de coherencia.
Límites
Para conocer los límites y restricciones de las colecciones, consulte Límites y restricciones.