🚀 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis—¡experimenta un rendimiento 10 veces más rápido! Prueba Ahora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Milvus presenta MMap para una gestión de datos redefinida y una mayor capacidad de almacenamiento

Milvus presenta MMap para una gestión de datos redefinida y una mayor capacidad de almacenamiento

  • Engineering
November 15, 2023
Yang Cen

Milvus es la solución más rápida en bases de datos vectoriales de código abierto, que atiende a usuarios con necesidades de rendimiento intensivo. Sin embargo, la diversidad de necesidades de los usuarios refleja los datos con los que trabajan. Algunos priorizan las soluciones económicas y el almacenamiento expansivo sobre la velocidad pura y dura. Entendiendo este espectro de demandas, Milvus introduce la característica MMap, redefiniendo cómo manejamos grandes volúmenes de datos a la vez que prometemos rentabilidad sin sacrificar funcionalidad.

¿Qué es MMap?

MMap, abreviatura de memory-mapped files (archivos mapeados en memoria), tiende un puente entre los archivos y la memoria dentro de los sistemas operativos. Esta tecnología permite a Milvus mapear archivos de gran tamaño directamente en el espacio de memoria del sistema, transformando los archivos en bloques de memoria contiguos. Esta integración elimina la necesidad de operaciones explícitas de lectura o escritura, cambiando fundamentalmente la forma en que Milvus gestiona los datos. Garantiza un acceso sin fisuras y un almacenamiento eficiente para archivos de gran tamaño o situaciones en las que los usuarios necesitan acceder a archivos de forma aleatoria.

¿A quién beneficia MMap?

Las bases de datos vectoriales exigen una capacidad de memoria considerable debido a los requisitos de almacenamiento de los datos vectoriales. Con la función MMap, procesar más datos dentro de una memoria limitada se convierte en una realidad. Sin embargo, esta mayor capacidad tiene un coste de rendimiento. El sistema gestiona la memoria de forma inteligente, desalojando algunos datos en función de la carga y el uso. Este desalojo permite a Milvus procesar más datos con la misma capacidad de memoria.

Durante nuestras pruebas, observamos que con una memoria amplia, todos los datos residen en la memoria tras un periodo de calentamiento, preservando el rendimiento del sistema. Sin embargo, a medida que aumenta el volumen de datos, el rendimiento disminuye gradualmente. Por lo tanto, recomendamos la función MMap a los usuarios menos sensibles a las fluctuaciones de rendimiento.

Activar MMap en Milvus: una configuración sencilla

Activar MMap en Milvus es notablemente sencillo. Todo lo que tiene que hacer es modificar el archivo milvus.yaml: añada el elemento mmapDirPath en la configuración queryNode y establezca una ruta válida como valor.

Encontrar el equilibrio: rendimiento, almacenamiento y límites del sistema

Los patrones de acceso a los datos afectan significativamente al rendimiento. La función MMap de Milvus optimiza el acceso a los datos basándose en la localidad. MMap permite a Milvus escribir datos escalares directamente en el disco para segmentos de datos a los que se accede secuencialmente. Los datos de longitud variable, como las cadenas, se aplanan y se indexan utilizando una matriz de offsets en memoria. Este método garantiza la localización de los datos y elimina la sobrecarga de almacenar cada dato de longitud variable por separado. La optimización de los índices vectoriales es meticulosa. El MMap se emplea de forma selectiva para los datos vectoriales, conservando las listas de adyacencia en memoria, lo que permite ahorrar una cantidad significativa de memoria sin comprometer el rendimiento.

Además, MMap maximiza el procesamiento de datos minimizando el uso de memoria. A diferencia de las versiones anteriores de Milvus, en las que QueryNode copiaba conjuntos de datos enteros, MMap adopta un proceso de streaming racionalizado y sin copias durante el desarrollo. Esta optimización reduce drásticamente la sobrecarga de memoria.

Los resultados de nuestras pruebas internas demuestran que Milvus puede gestionar eficazmente el doble de volumen de datos cuando se habilita MMap.

El camino por recorrer: innovación continua y mejoras centradas en el usuario

Aunque la función MMap se encuentra en fase beta, el equipo de Milvus está comprometido con la mejora continua. Las futuras actualizaciones perfeccionarán el uso de memoria del sistema, lo que permitirá a Milvus soportar volúmenes de datos aún mayores en un único nodo. Los usuarios pueden anticipar un control más granular sobre la función MMap, permitiendo cambios dinámicos en las colecciones y modos avanzados de carga de campos. Estas mejoras proporcionan una flexibilidad sin precedentes, permitiendo a los usuarios adaptar sus estrategias de procesamiento de datos a requisitos específicos.

Conclusión: redefinir la excelencia del procesamiento de datos con Milvus MMap

La función MMap de Milvus 2.3 marca un salto significativo en la tecnología de procesamiento de datos. Al lograr un delicado equilibrio entre rendimiento, coste y límites del sistema, Milvus permite a los usuarios manejar grandes cantidades de datos de forma eficaz y rentable. A medida que Milvus sigue evolucionando, se mantiene a la vanguardia de las soluciones innovadoras, redefiniendo los límites de lo que se puede conseguir en la gestión de datos.

Esté atento a los desarrollos más innovadores a medida que Milvus continúa su viaje hacia la excelencia en el procesamiento de datos sin precedentes.

Like the article? Spread the word

Sigue Leyendo