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.yaml
en 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.yaml
que 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.components
del 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 actual de colecciones se puede calcular como:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
En el ejemplo anterior, ya has utilizado 960 de los límites por defecto. Ahora si quiere crear una nueva colección con 4 fragmentos y 20 particiones, recibirá el siguiente mensaje de error porque el número total de colecciones excede la capacidad máxima:
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
.