Desvelamos las 10 palabras clave que dominarán la comunidad Milvus en 2023
Al concluir el año 2023, repasemos el extraordinario viaje de la comunidad Milvus: 25.000 GitHub Stars, el lanzamiento de Milvus 2.3.0 y más de 10 millones de descargas de imágenes Docker. Este post explora el corazón de la comunidad analizando los historiales de chat y revelando las 10 palabras clave principales en las discusiones.
#1 Version - El auge de AIGC impulsa la rápida iteración de Milvus
Sorprendentemente, "Versión" emergió como la palabra clave más discutida en 2023. Esta revelación tiene su origen en la ola de IA del año, con las bases de datos vectoriales como infraestructura crítica para abordar los retos en los problemas de alucinación de las aplicaciones AIGC.
El entusiasmo en torno a las bases de datos vectoriales lleva a Milvus a una etapa de rápida iteración. La comunidad fue testigo del lanzamiento de Veinte versiones sólo en 2023, dando cabida a las demandas de los desarrolladores de AIGC que inundaban la comunidad con consultas sobre la elección de la versión óptima de Milvus para diversas aplicaciones. Para los usuarios que navegan por estas actualizaciones, recomendamos adoptar la última versión para mejorar las funciones y el rendimiento.
Si está interesado en la planificación de versiones de Milvus, consulte la página de la hoja de ruta de Milvus en el sitio web oficial.
#2 Búsqueda - más allá de la búsqueda vectorial
"Búsqueda" ocupa el segundo lugar, reflejando su papel fundamental en las operaciones de base de datos. Milvus admite varias capacidades de búsqueda, desde la búsqueda Top-K ANN hasta la búsqueda escalar filtrada y la búsqueda por rangos. El inminente lanzamiento de Milvus 3.0 (Beta) promete la búsqueda por palabras clave (sparse embeddings), que muchos desarrolladores de aplicaciones RAG esperan con impaciencia.
Los debates de la comunidad sobre la búsqueda se centran en el rendimiento, las capacidades y los principios. Los usuarios suelen plantear preguntas sobre el filtrado de atributos, el establecimiento de valores umbral de índice y la resolución de problemas de latencia. Los recursos como la documentación de consulta y búsqueda, las Propuestas de mejora de Milvus (MEP) y las discusiones en Discord se han convertido en las referencias a las que acudir para desentrañar las complejidades de la búsqueda en Milvus.
Memoria #3 - compromisos entre rendimiento y precisión para minimizar la sobrecarga de memoria
La "memoria" también ocupó un lugar central en los debates de la comunidad durante el año pasado. Como tipo de datos distintivo, los vectores tienen intrínsecamente dimensiones elevadas. El almacenamiento de vectores en memoria es una práctica común para un rendimiento óptimo, pero el creciente volumen de datos limita la memoria disponible. Milvus optimiza el uso de la memoria adoptando técnicas como MMap y DiskANN.
Sin embargo, conseguir un bajo uso de memoria, un rendimiento excelente y una gran precisión simultáneamente en un sistema de base de datos sigue siendo complejo, ya que es necesario hacer concesiones entre el rendimiento y la precisión para minimizar la sobrecarga de memoria.
En el caso de los Contenidos Generados por Inteligencia Artificial (AIGC), los desarrolladores suelen dar prioridad a las respuestas rápidas y a la precisión de los resultados frente a los estrictos requisitos de rendimiento. La incorporación de MMap y DiskANN de Milvus minimiza el uso de memoria al tiempo que maximiza el procesamiento de datos y la precisión de los resultados, logrando un equilibrio que se alinea con las necesidades prácticas de las aplicaciones AIGC.
#4 Insert - navegación fluida a través de la inserción de datos
La inserción eficiente de datos es una preocupación crucial para los desarrolladores, lo que suscita frecuentes debates sobre la optimización de la velocidad de inserción dentro de la comunidad Milvus. Milvus destaca en la inserción eficiente de datos en flujo y en la creación de índices, gracias a su hábil separación de datos en flujo y por lotes. Esta capacidad lo distingue como una solución de alto rendimiento en comparación con otros proveedores de bases de datos vectoriales, como Pinecone.
He aquí algunas valiosas ideas y recomendaciones sobre la inserción de datos:
Inserción por lotes: Opte por la inserción por lotes en lugar de la inserción de una sola fila para mejorar la eficiencia. En particular, la inserción desde archivos supera en velocidad a la inserción por lotes. Cuando maneje grandes conjuntos de datos que superen los diez millones de registros, considere la posibilidad de utilizar la interfaz
bulk_insert
para agilizar y acelerar el proceso de importación.Uso estratégico de
flush()
: En lugar de invocar la interfazflush()
después de cada lote, realice una única llamada tras completar toda la inserción de datos. El uso excesivo de la interfazflush()
entre lotes puede provocar la generación de archivos de segmentos fragmentados, lo que supone una carga de compactación considerable para el sistema.Deduplicación de claves primarias: Milvus no realiza deduplicación de claves primarias cuando se utiliza la interfaz
insert
para la inserción de datos. Si necesita deduplicar claves primarias, le recomendamos que utilice la interfazupsert
. Sin embargo, el rendimiento de inserción deupsert
es inferior al deinsert
, debido a una operación de consulta interna adicional.
#5 Configuración - descifrando el laberinto de parámetros
Milvus es una base de datos vectorial distribuida que integra muchos componentes de terceros como almacenamiento de objetos, colas de mensajes y Etcd. Los usuarios lidiaron con el ajuste de parámetros y la comprensión de su impacto en el rendimiento de Milvus, haciendo de la "Configuración" un tema discutido con frecuencia.
Entre todas las preguntas sobre configuraciones, "qué parámetros ajustar" es posiblemente el aspecto más desafiante, ya que los parámetros varían en diferentes situaciones. Por ejemplo, la optimización de los parámetros de rendimiento de búsqueda difiere de la optimización de los parámetros de rendimiento de inserción y depende en gran medida de la experiencia práctica.
Una vez que los usuarios identifican "qué parámetros ajustar", las preguntas subsiguientes sobre "cómo ajustar" se vuelven más manejables. Para procedimientos específicos, consulte nuestra documentación Configurar Milvus. La gran noticia es que Milvus ha soportado ajustes dinámicos de parámetros desde la versión 2.3.0, eliminando la necesidad de reiniciar para que los cambios surtan efecto. Para procedimientos específicos, consulte Configure Milvus on the Fly.
#6 Logs - navegando por la brújula de localización de averías
Los "Logs" sirven como brújula para la resolución de problemas. Los usuarios buscaron orientación en la comunidad sobre la exportación de registros de Milvus, el ajuste de los niveles de registro y la integración con sistemas como Loki de Grafana. He aquí algunas sugerencias sobre los registros de Milvus.
Cómo ver y exportar los registros de Milvus: Puede exportar fácilmente los registros de Milvus con el script de un solo clic export-milvus-log.sh que está disponible en el repositorio de GitHub.
Nivel de registro: Milvus tiene múltiples niveles de registro para adaptarse a diversos casos de uso. El nivel info es suficiente para la mayoría de los casos, y el nivel debug es para depuración. Un exceso de registros de Milvus puede indicar niveles de registro mal configurados.
Recomendamos integrar los registros de Milvus con un sistema de recopilación de registros como Loki para agilizar la recuperación de registros en la resolución de problemas futuros.
Cluster #7 - escalado para entornos de producción
Dada la identidad de Milvus como base de datos vectorial distribuida, el término "cluster" es un tema de discusión frecuente en la comunidad. Las conversaciones giran en torno al escalado de datos en un clúster, la migración de datos y la copia de seguridad y sincronización de datos.
En los entornos de producción, la escalabilidad robusta y la alta disponibilidad son requisitos estándar para los sistemas de bases de datos distribuidas. La arquitectura de separación almacenamiento-computación de Milvus permite una escalabilidad de datos sin fisuras ampliando los recursos para los nodos de computación y almacenamiento, acomodando escalas de datos ilimitadas. Milvus también proporciona alta disponibilidad con una arquitectura de réplica múltiple y sólidas capacidades de copia de seguridad y sincronización. Para más información, consulte Coordinator HA.
#8 Documentación - la puerta de entrada a la comprensión de Milvus
"Documentación" es otra palabra clave que aparece con frecuencia en los debates de la comunidad, a menudo vinculada a preguntas sobre si existe alguna página de documentación para una función específica y dónde encontrarla.
Sirviendo como puerta de entrada a la comprensión de Milvus, alrededor del 80% de las consultas de la comunidad encuentran respuesta en la documentación oficial. Le recomendamos que lea nuestra documentación antes de utilizar Milvus o de encontrarse con algún problema. Además, puede explorar ejemplos de código en varios repositorios SDK para obtener información sobre el uso de Milvus.
Despliegue #9 - simplificando el viaje Milvus
El despliegue sencillo sigue siendo el objetivo permanente del equipo de Milvus. Para cumplir este compromiso, hemos introducido Milvus Lite, una alternativa ligera a Milvus que es completamente funcional pero no tiene dependencias de K8s o Docker.
Hemos racionalizado aún más el despliegue introduciendo la solución de mensajería NATS más ligera y consolidando los componentes de los nodos. En respuesta a los comentarios de los usuarios, nos estamos preparando para lanzar una versión independiente sin dependencias, con esfuerzos continuos para mejorar las funciones y simplificar las operaciones de despliegue. La rápida iteración de Milvus muestra el compromiso continuo de la comunidad con el perfeccionamiento continuo del proceso de despliegue.
#10 Supresión - desentrañar el impacto
Los debates predominantes sobre el "borrado" giran en torno a los recuentos de datos que no cambian tras el borrado, la recuperabilidad continua de los datos borrados y el fracaso de la recuperación del espacio en disco tras el borrado.
Milvus 2.3 introduce la expresión count(*)
para abordar las actualizaciones retrasadas del recuento de entidades. La persistencia de datos borrados en las consultas se debe probablemente al uso inadecuado de modelos de consistencia de datos. La preocupación por los fallos en la recuperación del espacio en disco hace que se rediseñe el mecanismo de recogida de basura de Milvus, que establece un periodo de espera antes de la eliminación completa de los datos. Este enfoque permite una ventana de tiempo para una posible recuperación.
Conclusión
Las 10 palabras clave principales ofrecen una visión de las vibrantes discusiones dentro de la comunidad Milvus. A medida que Milvus continúa evolucionando, la comunidad sigue siendo un recurso inestimable para los desarrolladores que buscan soluciones, comparten experiencias y contribuyen al avance de las bases de datos vectoriales en la era de la IA.
Únete a este emocionante viaje uniéndote a nuestro canal de Discord en 2024. Allí, podrá interactuar con nuestros brillantes ingenieros y conectarse con entusiastas de Milvus de ideas afines. Además, asista al Milvus Community Lunch and Learn todos los martes de 12:00 a 12:30 PM PST. Comparta sus ideas, preguntas y comentarios, ya que cada contribución contribuye al espíritu de colaboración que impulsa a Milvus hacia adelante. Su participación activa no sólo es bienvenida, sino también apreciada. ¡Innovemos juntos!
- #1 Version - El auge de AIGC impulsa la rápida iteración de Milvus
- #2 Búsqueda - más allá de la búsqueda vectorial
- Memoria #3 - compromisos entre rendimiento y precisión para minimizar la sobrecarga de memoria
- #4 Insert - navegación fluida a través de la inserción de datos
- #5 Configuración - descifrando el laberinto de parámetros
- #6 Logs - navegando por la brújula de localización de averías
- Cluster #7 - escalado para entornos de producción
- #8 Documentación - la puerta de entrada a la comprensión de Milvus
- Despliegue #9 - simplificando el viaje Milvus
- #10 Supresión - desentrañar el impacto
- Conclusión
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word