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ón config. 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 personalizado Milvus. Para más detalles, consulte Configurar Milvus con Operator.

Opciones de configuración

rootCoord:
    maxGeneralCapacity: 65536

quotaAndLimits:
    limits:
        maxCollectionNum: 65536
        maxCollectionNumPerDB: 65536

Para cambiar el límite de recolección, debe modificar los tres parámetros juntos:

ParámetroDescripciónValor por defecto
rootCoord.maxGeneralCapacityNúmero máximo de unidades de colección (shards × particiones) que puede contener la instancia actual.65536
quotaAndLimits.limits.maxCollectionNumNúmero máximo de colecciones permitidas en todas las bases de datos de la instancia actual.65536
quotaAndLimits.limits.maxCollectionNumPerDBNúmero máximo de colecciones permitidas en una única base de datos.65536

Por ejemplo, para aumentar el límite a 200.000 colecciones:

rootCoord:
    maxGeneralCapacity: 200000

quotaAndLimits:
    limits:
        maxCollectionNum: 200000
        maxCollectionNumPerDB: 200000

Ajustar sólo maxGeneralCapacity sin ajustar también maxCollectionNum y maxCollectionNumPerDB no tendrá efecto. Los tres parámetros deben tener el mismo valor o un valor superior para aumentar el límite de colecciones.

Cálculo del número de colecciones

En una colección, puede configurar múltiples shards y particiones. Los shards 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 límite de colecciones modificando maxGeneralCapacity, maxCollectionNum y maxCollectionNumPerDB conjuntamente.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?