
OpenSearch Software Foundation (контролируется Linux Foundation) представила релиз открытого проекта OpenSearch 3.0. Решение является форком платформы поиска, анализа и хранения данных Elasticsearch и веб-интерфейса Kibana. Исходный код дашбордов проекта написан по большей части на Python и Shell и опубликован под лицензией Apache 2.0. В команду разработки решения входят сотрудники Amazon, SAP, Uber, Aryn, Atlassian, Canonical, DigitalOcean и NetApp.
По информации OpenNET, проект OpenSearch был создан в 2021 году в ответ на перевод проекта Elasticsearch на несвободную лицензию SSPL (Server Side Public License) и прекращение публикации изменений под старой лицензией Apache 2.0. Несмотря на возвращение Elasticsearch на использование свободной лицензии, проект OpenSearch не потерял актуальность, так как в нём продолжено использование пермиссивной лицензии Apache 2.0 вместо лицензии AGPLv3, на которую перешёл Elasticsearch, а также развивается ряд специфичных надстроек, ранее поставлявшихся компанией Amazon в отдельном дистрибутиве Open Distro for Elasticsearch и заменяющих платные компоненты Elasticsearch.
Решение OpenSearch включает в себя движок хранения и поиска OpenSearch, веб‑интерфейс и среду визуализации данных OpenSearch Dashboards, а также набор дополнений для машинного обучения, поддержки SQL, генерации уведомлений, диагностики производительности кластера, шифрования трафика, разграничения доступа на основе ролей (RBAC), аутентификации через Active Directory, Kerberos, SAML и OpenID, реализации единой точки входа (SSO) и ведения детального лога для аудита.
Основные дополнения и изменения в OpenSearch 3.0:
добавлен векторный движок (OpenSearch Vector Engine), который может применяться для работы с данными, используемыми в системах машинного обучения, и их хранения. Для ускорения векторного поиска задействованы вычисления на стороне GPU, которые позволили повысить скорость индексации в 9.3 раза и снизить операционные расходы в 3.75 раз по сравнению с решениями, использующими только CPU. Для организации взаимодействия с источниками данных, LLM‑приложениями и AI‑платформами реализована поддержка протокола MCP (Model Context Protocol). Поддерживается интеграция с AI‑агентами компаний Anthropic, LangChain и OpenAI;
добавлена оптимизация, позволяющая на треть сократить размер хранилища векторов k‑NN (k‑ближайших соседей), а также до 30 раз сократить задержки при выполнении запросов сразу после запуска (холодный старт) за счёт удаления избыточной вторичной информации и использования первичных данных для воссоздания необходимой информации;
добавлена экспериментальная возможность использования протокола gRPC (protobuf поверх gRPC) для передачи данных между клиентами, серверами и узлами хранения. По сравнению с JSON применение gRPC позволяет снизить издержки на сериализацию и поднять производительность за счёт одновременной отправки разных запросов в одном TCP‑соединении;
добавлен pull‑режим получения данных, при котором OpenSearch напрямую запрашивает данные из потоковых источников, таких как Apache Kafka и Amazon Kinesis;
в кластере предоставлена возможность разделения трафика, связанного с индексацией и поиском. Добавлен API, позволяющий отключить операции записи и оставить индекс доступным только для поиска с целью оптимизации работы с данными, которые не будут изменяться (конфигурации, в которых данные записываются один раз и читаются многократно);
расширена интеграция с Apache Calcite и реализована возможность использования языка запросов PPL (Piped Processing Language) для операций поиска, фильтрации и слияния;
обеспечено автоматическое определение типа индексов. Для индексов с данными, связанными с ведением логов, задействованы специфичные оптимизации, ускоряющие операции по анализу логов;
движок полнотекстового поиска Lucene обновлён до ветки 10, в которой улучшена работа с индексами и повышена производительность параллельной обработки задач;
добавлена поддержка Java‑модулей (Java Platform Module System) для разделения компонентов на отдельные библиотеки. В качестве минимальной версии заявлен выпуск Java 21;
ускорена работа с диапазонами значений и полями, содержащими даты и числа (скорость прохождения тестового набора Big5 выросла на 25%). Ускорены операции агрегирования данных (в тесте p90 задержки снизились на 75%). Для векторов k‑NN по умолчанию включён режим распараллеливания поиска сегментов, позволивший 2.5 раза поднять производительность запросов.