La organización sin fines de lucro OpenSearch Software Foundation, controlada por la Linux Foundation, ha publicado la versión del proyecto OpenSearch 3.0, que desarrolla un fork de la plataforma de búsqueda, análisis y almacenamiento de datos Elasticsearch y la interfaz web Kibana. En el desarrollo del fork participan empresas como Amazon, SAP, Uber, Aryn, Atlassian, Canonical, DigitalOcean y NetAp. El código se distribuye bajo la licencia Apache 2.0.
El fork fue creado en 2021 en respuesta a la transición del proyecto Elasticsearch a una licencia no libre SSPL (Licencia Pública de Lado del Servidor) y el cese de la publicación de cambios bajo la antigua licencia Apache 2.0. A pesar del regreso de Elasticsearch al uso de una licencia libre, el proyecto OpenSearch no ha perdido relevancia, ya que continúa utilizando la licencia permisiva Apache 2.0 en lugar de la licencia AGPLv3, a la que ha pasado Elasticsearch, y también desarrolla una serie de complementos específicos que anteriormente eran proporcionados por Amazon en un paquete separado llamado Open Distro for Elasticsearch y que reemplazan componentes de pago de Elasticsearch.
OpenSearch incluye el motor de almacenamiento y búsqueda OpenSearch, la interfaz web y el entorno de visualización de datos OpenSearch Dashboards, así como un conjunto de complementos para aprendizaje automático, soporte SQL, generación de notificaciones, diagnóstico del rendimiento del clúster, cifrado de tráfico, control de acceso basado en roles (RBAC), autenticación a través de Active Directory, Kerberos, SAML y OpenID, implementación de un único punto de acceso (SSO) y mantenimiento de un registro detallado para auditoría.
Entre los cambios en OpenSearch 3.0:
- Se ha agregado un motor vectorial (OpenSearch Vector Engine), que se puede utilizar para almacenar y trabajar con datos utilizados en sistemas de aprendizaje automático. Para acelerar la búsqueda vectorial, se han utilizado cálculos en la GPU, lo que ha permitido aumentar la velocidad de indexación en 9.3 veces y reducir los costos operativos en 3.75 veces en comparación con soluciones que solo utilizan CPU. Para facilitar la interacción con fuentes de datos, aplicaciones LLM y plataformas de IA, se ha implementado soporte para el protocolo MCP (Model Context Protocol). Se admite la integración con agentes de IA de las empresas Anthropic, LangChain y OpenAI.
- Se ha añadido una optimización que permite reducir en un tercio el tamaño del almacenamiento de vectores k-NN (k vecinos más cercanos) y reducir hasta 30 veces las latencias en la ejecución de consultas inmediatamente después del inicio (arranque en frío) mediante la eliminación de información secundaria redundante y el uso de datos primarios para recrear la información necesaria.
- Se ha añadido una función experimental que permite el uso del protocolo gRPC (protobuf sobre gRPC) para la transmisión de datos entre clientes servidores y nodos de almacenamiento. En comparación con JSON, el uso de gRPC permite reducir los costos de serialización y aumentar el rendimiento al enviar diferentes solicitudes simultáneamente en una misma conexión TCP.
- Se ha añadido un modo de obtención de datos por pull, en el que OpenSearch solicita directamente datos de fuentes de streaming, como Apache Kafka y Amazon Kinesis.
- En el clúster se ha proporcionado la posibilidad de segmentar el tráfico relacionado con la indexación y la búsqueda. Se ha añadido una API que permite deshabilitar las operaciones de escritura y dejar el índice disponible solo para búsqueda, con el fin de optimizar el trabajo con datos que no cambiarán (configuraciones en las que los datos se escriben una vez y se leen múltiples veces).
- Se ha ampliado la integración con Apache Calcite y se ha implementado la posibilidad de utilizar el lenguaje de consultas PPL (Piped Processing Language) para operaciones de búsqueda, filtrado y fusionado.
- Se ha garantizado la detección automática del tipo de índices. Para los índices con datos relacionados con el registro, se han utilizado optimizaciones específicas que aceleran las operaciones de análisis de logs.
- El motor de búsqueda de texto completo Lucene se ha actualizado a la rama 10, donde se ha mejorado el manejo de índices y se ha incrementado el rendimiento del procesamiento paralelo de tareas.
- Se ha añadido soporte para módulos Java (Java Platform Module System) para dividir componentes en bibliotecas individuales. Se ha declarado la versión mínima como la publicación de Java 21.
- Se ha acelerado el trabajo con rangos de valores y campos que contienen fechas y números (la velocidad del conjunto de pruebas Big5 ha aumentado en un 25%). Se han acelerado las operaciones de agregación de datos (en la prueba p90, las latencias se han reducido en un 75%). Se ha habilitado por defecto el modo de paralelización de búsqueda de segmentos para vectores k-NN, lo que ha permitido aumentar el rendimiento de las consultas en 2.5 veces.
Fuente: opennet.ru
