Nezisková organizace OpenSearch Software Foundation, řízená Linux Foundation, zveřejnila vydání projektu OpenSearch 3.0, rozvíjejícího fork platformy pro vyhledávání, analýzu a ukládání dat Elasticsearch a webového rozhraní Kibana. Na vývoji forku se podílejí firmy jako Amazon, SAP, Uber, Aryn, Atlassian, Canonical, DigitalOcean a NetAp. Kód je distribuován pod licencí Apache 2.0.
Fork byl vytvořen v roce 2021 v reakci na přechod projektu Elasticsearch na neotevřenou licenci SSPL (Server Side Public License) a ukončení publikování změn pod starou licencí Apache 2.0. I přes návrat Elasticsearch k používání otevřené licence, projekt OpenSearch neztratil na významu, protože pokračuje v používání permisivní licence Apache 2.0 místo licencí AGPLv3, na které přešel Elasticsearch, a také se vyvíjí řada specifických nadstaveb, které dříve poskytovala společnost Amazon v samostatném distribuci Open Distro for Elasticsearch a nahrazují placené komponenty Elasticsearch.
OpenSearch zahrnuje úložiště a vyhledávací engine OpenSearch, webové rozhraní a prostředí pro vizualizaci dat OpenSearch Dashboards, jakož i soubor doplňků pro strojové učení, podporu SQL, generování upozornění, diagnostiku výkonu clusteru, šifrování provozu, řízení přístupu na základě rolí (RBAC), autentizaci přes Active Directory, Kerberos, SAML a OpenID, realizaci jedné vstupní brány (SSO) a vedení podrobného logu pro audit.
Mezi změnami v OpenSearch 3.0:
- Byl přidán vektorový engine (OpenSearch Vector Engine), který lze použít pro ukládání a práci s daty používanými v systémech strojového učení. Pro urychlení vektorového vyhledávání byly využity výpočty na straně GPU, které umožnily zvýšit rychlost indexace 9,3krát a snížit provozní náklady 3,75krát v porovnání s řešeními, která používají pouze CPU. Pro organizaci interakce se zdroji dat, LLM aplikacemi a AI platformami byla implementována podpora protokolu MCP (Model Context Protocol). Podporuje se integrace s AI agenty firem Anthropic, LangChain a OpenAI.
- Byla přidána optimalizace, která umožňuje snížit velikost úložiště vektorů k-NN (k nejbližších sousedů) o jednu třetinu a také zkrátit latenci při provádění dotazů ihned po spuštění (studený start) až 30krát díky odstranění nadbytečných sekundárních informací a použití primárních dat k rekonstrukci potřebných informací.
- Byla přidána experimentální možnost použití protokolu gRPC (protobuf nad gRPC) pro přenos dat mezi klienty servery a uzly úložiště. Ve srovnání s JSON používání gRPC snižuje náklady na serializaci a zvyšuje výkon díky simultánnímu odesílání různých dotazů v jednom TCP připojení.
- Byl přidán pull režim příjmu dat, ve kterém OpenSearch přímo vyžaduje data z proudových zdrojů, jako jsou Apache Kafka a Amazon Kinesis.
- V clustru byla umožněna segmentace provozu souvisejícího s indexováním a vyhledáváním. Byl přidán API, který umožňuje vypnout operace zápisu a ponechat index dostupný pouze pro vyhledávání s cílem optimalizovat práci s daty, která se nebudou měnit (konfigurace, ve kterých jsou data zapsána jednou a čtena mnohokrát).
- Byla rozšířena integrace s Apache Calcite a byla realizována možnost využití jazyka dotazů PPL (Piped Processing Language) pro operace vyhledávání, filtrování a slučování.
- Bylo zajištěno automatické určení typu indexů. Pro indexy s daty souvisejícími s vedením logů byly využity specifické optimalizace, které urychlují operace analýzy logů.
- Engine pro fulltextové vyhledávání Lucene byl aktualizován na větev 10, ve které byly vylepšeny operace s indexy a zvýšena efektivita paralelního zpracování úloh.
- Byla přidána podpora modulů Java (Java Platform Module System) pro rozdělení komponentů na jednotlivé knihovny. Minimální verzí je uvedena verze Java 21.
- Byla urychlena práce s hodnotovými rozsahy a poli obsahujícími data a čísla (rychlost průchodu testovacím souborem Big5 se zvýšila o 25 %). Byly urychleny operace agregace dat (v testu p90 se latence snížila o 75 %). Pro vektory k-NN je ve výchozím nastavení povolen režim paralelního vyhledávání segmentů, což umožnilo zvýšit výkon dotazů 2,5krát.
Zdroj: opennet.ru
