De non-profitorganisatie OpenSearch Software Foundation, onder toezicht van de Linux Foundation, heeft de release van het OpenSearch 3.0-project gepubliceerd, dat een fork ontwikkelt van het platform voor gegevenszoektocht, analyse en opslag Elasticsearch en de webinterface Kibana. Bedrijven zoals Amazon, SAP, Uber, Aryn, Atlassian, Canonical, DigitalOcean en NetAp zijn betrokken bij de ontwikkeling van de fork. De code wordt verspreid onder de Apache 2.0-licentie.
De fork werd in 2021 opgericht als reactie op de overstap van het Elasticsearch-project naar de niet-vrije licentie SSPL (Server Side Public License) en het stoppen van de publicatie van wijzigingen onder de oude Apache 2.0-licentie. Ondanks de terugkeer van Elasticsearch naar het gebruik van een vrije licentie, heeft het OpenSearch-project niet aan relevantie ingeboet, aangezien het de permissieve Apache 2.0-licentie blijft gebruiken, in tegenstelling tot de AGPLv3-licentie waaraan Elasticsearch is overgestapt. Tevens worden er verschillende specifieke uitbreidingen ontwikkeld die eerder door Amazon in een afzonderlijke distributie, Open Distro for Elasticsearch, werden geleverd en die de betaalde componenten van Elasticsearch vervangen.
OpenSearch omvat de opslag- en zoekmachine OpenSearch, de webinterface en de datavisualisatieomgeving OpenSearch Dashboards, evenals een set plug-ins voor machine learning, SQL-ondersteuning, generatie van meldingen, prestatiebewaking van clusternodes, versleuteling van gegevensverkeer, rolgebaseerde toegangscontrole (RBAC), authenticatie via Active Directory, Kerberos, SAML en OpenID, de implementatie van single sign-on (SSO) en gedetailleerde logging voor auditdoeleinden.
Enkele wijzigingen in OpenSearch 3.0:
- De vectorenginer (OpenSearch Vector Engine) is toegevoegd, die kan worden gebruikt voor het opslaan en verwerken van gegevens die in machine learning-systemen worden gebruikt. Voor het versnellen van vectorzoekopdrachten worden GPU-berekeningen gebruikt, waardoor de snelheid van indexering met 9,3 keer is verhoogd en de operationele kosten met 3,75 keer zijn verlaagd in vergelijking met oplossingen die alleen CPU gebruiken. Voor de interactie met gegevensbronnen, LLM-applicaties en AI-platformen is er ondersteuning geĆÆmplementeerd voor het MCP-protocol (Model Context Protocol). Integratie met AI-agenten van de bedrijven Anthropic, LangChain en OpenAI wordt ondersteund.
- Er is een optimalisatie toegevoegd die de opslaggrootte van k-NN (k-Nearest Neighbors) vectoren met een derde kan verminderen, en vertragingen bij het uitvoeren van aanvragen onmiddellijk na de start (koude start) tot 30 keer kan verkorten door overtollige secundaire informatie te verwijderen en primaire gegevens te gebruiken om de benodigde informatie opnieuw te creƫren.
- Er is een experimentele mogelijkheid toegevoegd om het gRPC-protocol (protobuf boven gRPC) te gebruiken voor het verzenden van gegevens tussen clients, servers en opslagknopen. In vergelijking met JSON maakt het gebruik van gRPC een verlaging van de serialisatiekosten mogelijk en verhoogt het de prestaties door verschillende verzoeken gelijktijdig in ƩƩn TCP-verbinding te verzenden.
- Een pull-modus voor het ophalen van gegevens is toegevoegd, waarbij OpenSearch rechtstreeks gegevens opvraagt uit streamingbronnen zoals Apache Kafka en Amazon Kinesis.
- In het cluster is het mogelijk gemaakt om verkeer dat verband houdt met indexeren en zoeken te splitsen. Een API is toegevoegd waarmee schrijfoperaties kunnen worden uitgeschakeld, waardoor de index alleen beschikbaar is voor zoekopdrachten, ter optimalisatie van de gegevens die niet zullen veranderen (configuraties waarbij gegevens ƩƩn keer worden geschreven en meerdere keren worden gelezen).
- De integratie met Apache Calcite is uitgebreid en het is mogelijk gemaakt om de PPL (Piped Processing Language) querytaal te gebruiken voor zoek-, filter- en samenvoegoperaties.
- Automatische detectie van het type indices is gerealiseerd. Voor indices met loggerelateerde gegevens zijn specifieke optimalisaties toegepast die de analyse van logs versnellen.
- De full-text zoekmachine Lucene is bijgewerkt naar tak 10, waarin de werking met indices is verbeterd en de prestaties van parallelle taakverwerking zijn verhoogd.
- Ondersteuning voor Java-modules (Java Platform Module System) is toegevoegd om componenten in aparte bibliotheken te splitsen. De minimale versie die vereist is, is Java 21.
- De prestaties van het werken met waardebereiken en velden met datums en nummers zijn versneld (de snelheid van de Big5 testset is met 25% gestegen). Gegevensaggregaties zijn versneld (in de p90 test zijn de vertragingen met 75% verminderd). Voor k-NN vectoren is de modus voor het parallel verwerken van zoektochtsegmenten standaard ingeschakeld, wat de prestaties van aanvragen met 2.5 keer heeft verbeterd.
Bron: opennet.ru
