Die gemeinnützige Organisation OpenSearch Software Foundation, gesteuert von der Linux Foundation, hat die Veröffentlichung des Projekts OpenSearch 3.0 bekannt gegeben, das den Fork der Such-, Analyse- und Datenspeicherplattform Elasticsearch und der Weboberfläche Kibana weiterentwickelt. An der Entwicklung des Forks sind Unternehmen wie Amazon, SAP, Uber, Aryn, Atlassian, Canonical, DigitalOcean und NetAp beteiligt. Der Code wird unter der Apache 2.0-Lizenz verbreitet.
Der Fork wurde 2021 als Antwort auf den Wechsel des Projekts Elasticsearch zu einer nicht-freien Lizenz (SSPL - Server Side Public License) und die Einstellung der Veröffentlichung von Änderungen unter der alten Apache 2.0-Lizenz ins Leben gerufen. Trotz der Rückkehr von Elasticsearch zu einer freien Lizenz hat das Projekt OpenSearch nicht an Relevanz verloren, da es die permissive Lizenz Apache 2.0 weiterhin verwendet, anstelle der AGPLv3-Lizenz, zu der Elasticsearch gewechselt ist, und es wird eine Reihe spezifischer Erweiterungen entwickelt, die zuvor von Amazon in einem separaten Distributionspaket namens Open Distro for Elasticsearch bereitgestellt wurden und die kostenpflichtigen Komponenten von Elasticsearch ersetzen.
OpenSearch umfasst die Speicher- und Such-Engine OpenSearch, die Weboberfläche sowie die Datenvisualisierungsumgebung OpenSearch Dashboards, sowie eine Sammlung von Plugins für maschinelles Lernen, SQL-Unterstützung, Benachrichtigungs-Generierung, Cluster-Performance-Diagnose, Verkehr Verschlüsselung, rollenbasierte Zugriffskontrolle (RBAC), Authentifizierung über Active Directory, Kerberos, SAML und OpenID, Implementierung eines Single Sign-On (SSO) sowie die Führung detaillierter Protokolle zur Überprüfung.
Zu den Änderungen in OpenSearch 3.0 gehören:
- Die Einführung der Vektor-Engine (OpenSearch Vector Engine), die für die Speicherung und Verarbeitung von Daten verwendet werden kann, die in maschinellen Lernsystemen benötigt werden. Zur Beschleunigung der Vektor-Suche werden Berechnungen auf der GPU eingesetzt, was die Indexierungsgeschwindigkeit um das 9,3-Fache erhöht und die Betriebskosten um das 3,75-Fache im Vergleich zu Lösungen, die nur CPU verwenden, senkt. Zur Organisation der Interaktion mit Datenquellen, LLM-Anwendungen und KI-Plattformen wurde die Unterstützung des MCP-Protokolls (Model Context Protocol) implementiert. Die Integration mit KI-Agenten von Unternehmen wie Anthropic, LangChain und OpenAI wird unterstützt.
- Eine Optimierung wurde hinzugefügt, die die Größe des k-NN-Vektorspeichers um ein Drittel reduziert und die Latenzzeiten bei Anfragen direkt nach dem Start (Kaltes Start) um bis zu 30 Mal senkt, indem überflüssige sekundäre Informationen entfernt und primäre Daten zur Rekonstruktion der erforderlichen Informationen verwendet werden.
- Eine experimentelle Möglichkeit zur Nutzung des gRPC-Protokolls (protobuf über gRPC) für die Datenübertragung zwischen Clients Servern und Speicherknoten wurde hinzugefügt. Im Vergleich zu JSON ermöglicht die Verwendung von gRPC eine Reduzierung der Serialisierungskosten und eine Leistungssteigerung durch gleichzeitige Übermittlung verschiedener Anfragen innerhalb einer TCP-Verbindung.
- Ein Pull-Modus zum Abrufen von Daten wurde implementiert, bei dem OpenSearch Daten direkt aus Streaming-Quellen wie Apache Kafka und Amazon Kinesis anfordert.
- Im Cluster wurde die Möglichkeit zur Trennung des Datenverkehrs, der mit der Indizierung und der Suche verbunden ist, bereitgestellt. Ein API wurde hinzugefügt, das Schreiboperationen deaktivieren und den Index nur für Suchanfragen verfügbar machen kann, um die Arbeit mit Daten zu optimieren, die sich nicht ändern (Konfigurationen, bei denen die Daten einmal geschrieben und mehrfach gelesen werden).
- Die Integration mit Apache Calcite wurde erweitert, und die Möglichkeit zur Verwendung der Abfragesprache PPL (Piped Processing Language) für Such-, Filter- und Zusammenführungsoperationen wurde realisiert.
- Die automatische Bestimmung des Indextyps wurde sichergestellt. Für Indizes mit logbezogenen Daten wurden spezifische Optimierungen implementiert, die die Analyse von Logs beschleunigen.
- Die Volltextsuchmaschine Lucene wurde auf Version 10 aktualisiert, in der die Bearbeitung von Indizes verbessert und die Leistung der parallelen Aufgabenverarbeitung gesteigert wurde.
- Die Unterstützung für Java-Module (Java Platform Module System) wurde hinzugefügt, um Komponenten in separate Bibliotheken zu unterteilen. Die minimale erforderliche Version ist Java 21.
- Die Verarbeitung von Wertebereichen und Feldern, die Daten und Zahlen enthalten, wurde beschleunigt (die Testfallgeschwindigkeit von Big5 stieg um 25%). Die Aggregation von Daten wurde beschleunigt (im p90-Test sanken die Latenzzeiten um 75%). Für k-NN-Vektoren ist standardmäßig der Parallelisierungsmodus für die Segmentersuche aktiviert, was eine Leistungssteigerung der Anfragen um den Faktor 2,5 ermöglichte.
Quelle: opennet.ru
