- Se lanzó oficialmente OpenSearch 3.0, con un rendimiento 9.5 veces superior al de OpenSearch 1.3
- Se agregaron múltiples funciones innovadoras para la búsqueda vectorial, como aceleración por GPU, integración con agentes de IA y optimización de almacenamiento
- Con gRPC, streaming con Kafka e identificación automática de índices, se refuerzan la eficiencia y la flexibilidad del procesamiento de datos
- En la infraestructura de búsqueda, se aplicaron Lucene 10, Java 21 y una arquitectura modular para mejorar la escalabilidad futura y la mantenibilidad
- Se consolida como una plataforma de búsqueda de próxima generación basada en una comunidad open source que responde al aumento de la demanda de búsquedas basadas en IA y RAG
Lanzamiento oficial de OpenSearch 3.0: búsqueda vectorial optimizada para la era de la IA
- OpenSearch Software Foundation presentó la versión oficial de OpenSearch 3.0 y anunció una mejora de rendimiento de 9.5 veces frente a OpenSearch 1.3
- Se mejoró el rendimiento para el procesamiento de datos vectoriales a gran escala requerido en búsqueda con IA, sistemas de recomendación y RAG
Innovación en el motor vectorial: rendimiento y eficiencia de costos al mismo tiempo
- Aceleración por GPU (basada en NVIDIA cuVS): hasta 9.3 veces menos tiempo de construcción de índices y capacidad para manejar cargas de trabajo de alto rendimiento
- Compatibilidad con Model Context Protocol (MCP): permite crear soluciones de búsqueda flexibles mediante integración con agentes de IA
- Función Derived Source: reduce en un tercio el uso de almacenamiento al eliminar datos vectoriales duplicados
Funciones de gestión de datos: más flexibilidad y escalabilidad
- Compatibilidad con gRPC: acelera la transferencia de datos entre nodos y entre cliente y servidor (experimental)
- Ingesta de datos basada en Pull: aplica una estructura en la que OpenSearch obtiene directamente los datos desde sistemas externos de streaming como Kafka y Kinesis
- Separación Reader-Writer: separa la búsqueda y la indexación para asegurar la estabilidad y el rendimiento de cada tarea
- Integración con Apache Calcite: ofrece una función de constructor de consultas intuitivo en SQL/PPL
- Detección de tipo de índice: identifica automáticamente los índices de logs y ofrece opciones de análisis adecuadas
Mejoras en la infraestructura de búsqueda y el núcleo de la plataforma
- Actualización a Lucene 10: mejora el rendimiento de trabajos en paralelo y amplía las capacidades de búsqueda
- Java 21 como runtime mínimo compatible: permite aprovechar funciones y rendimiento del lenguaje más recientes
- Adopción del sistema de módulos de Java: transforma la estructura monolítica en una basada en bibliotecas para mejorar la mantenibilidad
Innovación sostenible centrada en la comunidad abierta
- OpenSearch es una plataforma de búsqueda open source basada en una comunidad independiente bajo la Linux Foundation
- Participan grandes empresas como AWS, SAP y Uber, junto con miles de colaboradores
- Enfatiza la escalabilidad para la era de las bases de datos vectoriales y una gobernanza transparente, con una visión de ecosistema abierto a la participación de cualquiera
- Más información sobre el lanzamiento está disponible en el blog oficial y las notas de la versión
3 comentarios
Como Elasticsearch está bajo AGPL, me da cosa usarlo, así que sigo usando solo OpenSearch on-premise.
Opiniones de Hacker News
Recién me enteré de OpenSearch; es un proyecto que se bifurcó en 2021 después del cambio de licencia de Elasticsearch. Tengo curiosidad por saber si todavía puede usarse como sustituto de Elasticsearch y cómo se comparan en rendimiento y funcionalidades.
Mantengo un cliente en Kotlin para Elasticsearch y OpenSearch (
kt-search)En la mayoría de las funciones de uso frecuente, la API sigue siendo compatible
Las funciones agregadas después del fork, como la búsqueda vectorial, son una excepción
Algunas funciones como
search_afterse comportan distinto entre ambos, y el cliente compensa esoAmbos productos tienen consultas SQL, pero las implementan de forma diferente
En funcionalidades, Elastic todavía va por delante, especialmente porque Kibana tiene más capacidades que el fork de Amazon
También en agregaciones, Elastic se ha enfocado mucho en optimizaciones y mejoras en los últimos años
El rendimiento depende del caso de uso; ambos productos están basados en Lucene, una biblioteca de búsqueda de código abierto
Elastic Cloud es un poco mejor que OpenSearch en AWS
Si se autohospedan y afinan bien, ambos productos terminan siendo muy parecidos
Elastic 9.0 y OpenSearch 3.0 usan versiones nuevas de Lucene, y el cliente soporta ambas
Entre clientes de consultoría, cada vez más prefieren OpenSearch por la licencia open source y el soporte de AWS
Para migrar de un Elasticsearch legacy a OpenSearch, hay que reindexar todos los datos y quizá también cambiar bibliotecas; es bastante engorroso, y por eso terminé creando
kt-searchTenemos muchas bases de datos antiguas de Elasticsearch 2.3, así que levantamos OpenSearch en paralelo para cada base y copiamos los datos en lote al iniciar el servicio; hasta ahora estamos bastante satisfechos con OpenSearch
Gracias por la explicación tan detallada; fue muy útil
Algo que me decepcionó recientemente en OpenSearch es la ausencia de la funcionalidad de
enrich processors(se comparte enlace a la documentación)Elasticsearch ya avanzó hasta la versión 9.0 o superior y tiene 27,000 commits más que OpenSearch
drop-in replacementDesde septiembre de 2024, Elasticsearch volvió a una licencia totalmente open source (
AGPLv3)Comentario recordando, con tono escéptico, que antes ya los engañaron con esto
Elastic Search sigue siendo open core; las funciones "enterprise" nunca van a estar incluidas en la versión open source, mientras que OpenSearch no tiene esa limitación
OpenSearch no es un reemplazo "completo", pero sí es casi compatible; la serie 1.x es compatible con Elasticsearch 7.10
En el mismo hardware, OpenSearch es algo más lento; si necesitas UI, conviene tener cuidado, porque el fork de Kibana es lento y tiene muchos bugs
El nombre OpenSearch originalmente viene de un servicio de agregación de resultados de búsqueda personal desarrollado por A9, una subsidiaria de Amazon
Expresan cierta lástima por el proyecto OpenSearch
Fue un proyecto reactivo creado junto con AWS como respuesta al cambio de licencia de Elasticsearch
La comunidad se siente como un juego multijugador inactivo, sin la vitalidad indispensable para un proyecto open source
Nunca han oído de una empresa o cliente enterprise que realmente haya reemplazado Elastic Search con OpenSearch; todavía se percibe como no probado y sin mucha confianza en su compromiso de largo plazo
Cada plataforma SIEM está terminando por construir su propia plataforma de búsqueda
Elastic también lanzó su plataforma SIEM (
Elastic Security)Aunque Elastic volvió a declararse open source, la gerencia no va a gastar en migrar a un fork no probado, así que el propósito del proyecto queda difuso
No quiero volver a usar Elastic; he usado directamente Lucene, luego Solr, luego extensiones personalizadas, y Elastic Search solo me hacía falta cuando usaba AWS; aun así, después de migrar a OpenSearch, lo he estado usando sin problemas
Creo que Elastic ha sido golpeado económicamente durante mucho tiempo por OpenSearch y AWS
Preguntan si alguien usa las funciones
knny vectoriales de OpenSearch, y cómo se comportan en operaciones reales a gran escalaNo conozco la implementación de OpenSearch, pero comparto que implementé yo mismo un conjunto vectorial para Redis con estructura HNSW
quantizationes indispensableCuando la dimensionalidad de los embeddings es alta, recomiendan más una búsqueda aproximada de vecinos más cercanos como HNSW que
knnpuroEn mi experiencia, se usa todo el tiempo; el rendimiento depende del modelo de embeddings y la afinación del índice es clave
nmslib, también hay que vigilar la RAM de JNIHay una salvedad bien conocida: el rendimiento de búsqueda en millones de documentos es bueno, pero para búsquedas KNN hay que subir todo el grafo de embeddings a RAM, así que la gestión de memoria es la clave
Quiero una herramienta simple de ingesta de logs que haga parsing de
syslogy permita graficar/buscar campos, pero la configuración de OpenSearch o ELK me resultó demasiado complicadaMe sorprendió que tanto Elastic como OpenSearch sean inesperadamente difíciles incluso para este tipo de configuración básica
Todo está centrado en configuración, así que hay que armar uno mismo las recetas
Hay herramientas útiles como OpenTelemetry, pero aun así sigue siendo incómodo
Si solo sigues las guías oficiales de cualquiera de las dos herramientas, puedes ponerlas a funcionar rápido; el problema aparece cuando necesitas lógica personalizada
Para requisitos simples, incluso se puede prescindir de Logstash
Elastic y OpenSearch no son ideales para métricas de aplicaciones; para eso recomiendan
prometheusygrafanaSi inviertes en el ecosistema de Elastic (
beats,logstash, etc.), puedes configurar varias plantillas de índice y pipelinesHoy, gracias al
dynamic field mapping, meter y sacar datos de Elasticsearch se ha vuelto muy fácilLa preocupación mayor es mantener el rendimiento
Preguntan si ya probaste Graylog; en su trabajo lo usan bastante bien
OpenSearch surgió en 2021 tras el cambio de licencia de Elasticsearch, con el objetivo de ser un reemplazo compatible. Aunque es en gran medida compatible, especialmente la versión 1.x con Elasticsearch 7.10, no es una solución completamente plug-and-play. Elasticsearch ha evolucionado más y ofrece más funciones y optimizaciones, en particular en Kibana y las agregaciones. El rendimiento depende de la aplicación, ya que ambos están construidos sobre Lucene. Algunos usuarios consideran que OpenSearch es más lento y que sus forks de Kibana tienen errores. A pesar de que Elasticsearch volvió al código abierto (AGPLv3) en septiembre de 2024, algunos prefieren OpenSearch por su naturaleza verdaderamente de código abierto y el soporte de AWS. Aunque la búsqueda vectorial es un diferenciador clave, las implementaciones a gran escala requieren una gestión cuidadosa de la RAM. En última instancia, la elección depende de las necesidades específicas, y ambos tienen fortalezas y debilidades. Estoy trabajando en OpenSearch con Davidayo https://www.davidayo.com, una potente herramienta de IA, "AskPromptAI" https://askpromptai.com.