Limitar el número de colecciones
Una instancia de Milvus permite hasta 65.536 colecciones. Sin embargo, demasiadas colecciones pueden provocar problemas de rendimiento. Por lo tanto, se recomienda limitar el número de colecciones creadas en una instancia de Milvus.
Esta guía proporciona instrucciones sobre cómo establecer límites en el número de colecciones en una instancia de Milvus.
La configuración varía según la forma de instalar la instancia de Milvus.
Para instancias Milvus instaladas utilizando Helm Charts
Añada la configuración al archivo
values.yamlen la secciónconfig. Para más detalles, consulte Configurar Milvus con Helm Charts.Para instancias Milvus instaladas utilizando Docker Compose
Añada la configuración al archivo
milvus.yamlque ha utilizado para iniciar la instancia de Milvus. Para más detalles, consulte Configurar Milvus con Docker Compose.Para instancias Milvus instaladas utilizando Operator
Añada la configuración a la sección
spec.componentsdel recurso personalizadoMilvus. Para más detalles, consulte Configurar Milvus con Operator.
Opciones de configuración
rootCoord:
maxGeneralCapacity: 65536
El parámetro maxGeneralCapacity establece el número máximo de colecciones que puede contener la instancia Milvus actual. El valor por defecto es 65536.
Cálculo del número de colecciones
En una colección, puede configurar múltiples shards y particiones. Los fragmentos son unidades lógicas utilizadas para distribuir las operaciones de escritura de datos entre múltiples nodos de datos. Las particiones son unidades lógicas utilizadas para mejorar la eficiencia de la recuperación de datos cargando sólo un subconjunto de los datos de la colección. Al calcular el número de colecciones en la instancia actual de Milvus, también debe contar los fragmentos y las particiones.
Por ejemplo, supongamos que ya ha creado 100 colecciones, con 2 fragmentos y 4 particiones en 60 de ellas y con 1 fragmento y 12 particiones en las 40 colecciones restantes. El número total de unidades de colección (calculado como shards × partitions) se puede determinar de la siguiente manera:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
En este ejemplo, el total calculado de 960 unidades de colección representa el uso actual. maxGeneralCapacity define el número máximo de unidades de colección que puede admitir una instancia, que se establece en 65536 por defecto. Esto significa que la instancia puede alojar hasta 65.536 unidades de recogida. Si el número total supera este límite, el sistema mostrará el siguiente mensaje de error:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
Para evitar este error, puede reducir el número de fragmentos o particiones en las colecciones existentes o nuevas, eliminar algunas colecciones o aumentar el valor de maxGeneralCapacity.