A organização sem fins lucrativos OpenSearch Software Foundation, controlada pela Linux Foundation, publicou o lançamento do projeto OpenSearch 3.0, que desenvolve um fork da plataforma de busca, análise e armazenamento de dados Elasticsearch e da interface web Kibana. O fork conta com a participação de empresas como Amazon, SAP, Uber, Aryn, Atlassian, Canonical, DigitalOcean e NetAp. O código é distribuído sob a licença Apache 2.0.
O fork foi criado em 2021 em resposta à transição do projeto Elasticsearch para uma licença não livre, a SSPL (Server Side Public License), e à interrupção da publicação de alterações sob a antiga licença Apache 2.0. Apesar do retorno do Elasticsearch ao uso de uma licença livre, o projeto OpenSearch não perdeu relevância, pois continua a utilizar a licença permissiva Apache 2.0 em vez da licença AGPLv3, para a qual o Elasticsearch migrou, além de desenvolver uma série de extensões específicas, anteriormente fornecidas pela Amazon em uma distribuição separada, o Open Distro for Elasticsearch, que substituem componentes pagos do Elasticsearch.
OpenSearch inclui o mecanismo de armazenamento e busca OpenSearch, a interface web e o ambiente de visualização de dados OpenSearch Dashboards, além de um conjunto de complementos para aprendizado de máquina, suporte a SQL, geração de notificações, diagnóstico de desempenho de clusters, criptografia de tráfego, controle de acesso baseado em funções (RBAC), autenticação via Active Directory, Kerberos, SAML e OpenID, implementação de um ponto único de entrada (SSO) e manutenção de registros detalhados para auditoria.
Dentre as mudanças no OpenSearch 3.0:
- Foi adicionado um mecanismo vetorial (OpenSearch Vector Engine), que pode ser utilizado para armazenar e trabalhar com dados usados em sistemas de aprendizado de máquina. Para acelerar a busca vetorial, foram empregados cálculos do lado da GPU, que permitiram aumentar a velocidade de indexação em 9,3 vezes e reduzir os custos operacionais em 3,75 vezes em comparação com soluções que utilizam apenas CPU. Para facilitar a interação com fontes de dados, aplicações LLM e plataformas de IA, foi implementado suporte ao protocolo MCP (Model Context Protocol). A integração com agentes de IA das empresas Anthropic, LangChain e OpenAI é suportada.
- Foi adicionada uma otimização que reduz em um terço o tamanho do armazenamento de vetores k-NN (k-vizinhos mais próximos) e diminui em até 30 vezes a latência para realizar consultas logo após o início (início a frio), eliminando informações secundárias desnecessárias e utilizando dados primários para reconstruir as informações necessárias.
- Foi adicionada uma funcionalidade experimental para utilizar o protocolo gRPC (protobuf sobre gRPC) para transmitir dados entre clientes, servidores e nós de armazenamento. Em comparação ao JSON, o uso do gRPC permite reduzir os custos de serialização e aumentar a produtividade ao permitir o envio simultâneo de diferentes requisições em uma única conexão TCP.
- Foi adicionado um modo pull de recebimento de dados, no qual o OpenSearch solicita dados diretamente de fontes de fluxo, como Apache Kafka e Amazon Kinesis.
- No cluster, foi possibilitada a separação do tráfego relacionado à indexação e à pesquisa. Um API foi adicionada, permitindo desativar operações de escrita e deixar o índice disponível apenas para pesquisa, com o objetivo de otimizar o trabalho com dados que não serão alterados (configurações em que os dados são gravados uma vez e lidos várias vezes).
- A integração com o Apache Calcite foi expandida e foi implementada a possibilidade de usar a linguagem de consulta PPL (Piped Processing Language) para operações de busca, filtragem e fusão.
- Foi assegurada a determinação automática do tipo de índices. Para índices com dados relacionados à manutenção de logs, otimizações específicas foram implementadas para acelerar operações de análise de logs.
- O mecanismo de busca de texto completo Lucene foi atualizado para a versão 10, na qual a manipulação de índices foi aprimorada e a performance do processamento paralelo de tarefas foi aumentada.
- Foi adicionada a compatibilidade com módulos Java (Java Platform Module System) para dividir componentes em bibliotecas separadas. A versão mínima exigida é o lançamento do Java 21.
- A performance ao lidar com faixas de valores e campos que contêm datas e números foi acelerada (a velocidade na passagem do conjunto de testes Big5 aumentou em 25%). As operações de agregação de dados foram aceleradas (no teste p90, a latência foi reduzida em 75%). Para vetores k-NN, o modo de paralelização da busca de segmentos foi ativado por padrão, resultando em um aumento de 2,5 vezes na performance das consultas.
Fonte: opennet.ru
