Suche und Data Analytics sind heute ein großes Thema für viele Unternehmen. Sie werden beispielsweise für kundenorientierte Suchlösungen wie Online-Shops eingesetzt oder für den Informationsabruf innerhalb von Unternehmen. Indexbasierte Datenspeicherung ermöglicht es uns, dieses Problem mit viel höherer Geschwindigkeit und Genauigkeit als traditionelle Datenbanken zu lösen. Es gibt mehrere Tools, die indexbasierte Dokumentensuche anbieten. Zu den bekanntesten Tools gehören Apache Solr, Elasticsearch und Opensearch. Alle diese Tools basieren auf Lucene, einer Open-Source-Programmbibliothek für Volltextsuche, und bieten sehr ähnliche grundlegende Suchfunktionen, unterscheiden sich jedoch in den zusätzlichen Funktionen.
Inhaltsverzeichnis
Allgemeines
Apache Solr konzentriert sich hauptsächlich auf Datenabruf, Indexverwaltung, Datenvorverarbeitung und grundlegende Aggregationen. Elasticsearch und Opensearch hingegen bieten weitaus mehr Funktionen. Diese umfassen vor allem umfangreiche Aggregationen, Ingest-Pipelines, Index-Lifecycle-Management, umfassende Visualisierungen und Dashboards, Authentifizierungs-Plugins, Cluster-Management und vieles mehr.
Elasticsearch und Opensearch haben eine recht interessante gemeinsame Geschichte. Opensearch ist tatsächlich ein „Fork“ einer früheren Version von Elasticsearch: 7.10.2 Seitdem haben sie sich auseinander entwickelt, sind sich jedoch immer noch ähnlich, was in der Community oft zu Verwirrung führt. Hier ein kurzer Hintergrund zu beiden Tools:
Elasticsearch wurde von Shay Bannon seit den frühen 2000er Jahren als Open-Source-Projekt entwickelt und 2012 als Unternehmen Elastic N.V. gegründet, um kommerziellen Support für das Produkt bereitzustellen. Das Unternehmen erweiterte seine Produkte um Kibana, ein Visualisierungstool, und Logstash, ein Datensammlungstool. Diese Produkte wurden zusammen als ELK-Stack bekannt. In den weiteren Jahren gewann der ELK-Stack immense Popularität. 2015 führte Amazon den Amazon Elasticsearch Service (Amazon ES) ein, einen Managed-Cloud-Service, der es AWS-Nutzern ermöglichte, skalierbare Elasticsearch-Cluster bereitzustellen und Datenaktivitäten in der Cloud zu verwalten.
Amazon wurde daraufhin von Elastic wegen Markenrechtsverletzung verklagt, was bis 2019 andauerte und dazu führte, dass Elastic sein Lizenzmodell änderte, um die Nutzung von ELK zu begrenzen. Amazon konnte ELK daher nicht mehr als Service anbieten. Daraufhin entschied sich Amazon, die neueste Open-Source-Version von ELK zu nutzen und darauf ein weiteres Produkt namens Opensearch aufzubauen, das dann als Managed-Service auf AWS bereitgestellt wurde. Somit basiert Opensearch in seiner Essenz auf der Version 7.10.2 des ELK-Stacks, die beiden Softwares haben sich in den letzten Jahren aber durch die jeweiligen Weiterentwicklungen etwas auseinander entwickelt. . Amazon investiert in die Entwicklung von Funktionen, um mit Elasticsearch zu konkurrieren. Da Opensearch jedoch noch ein stärker community-orientiertes Produkt ist, muss es noch einiges aufholen, um eine ebenso umfangreiche Feature-Liste wie Elastic bereitzustellen, ein Unternehmen mit mehr Entwicklungsressourcen.
Hier besprechen wir die wichtigsten Unterschiede zwischen beiden Produkten.
Lizenzierung
Elasticsearch bietet drei Lizenzstufen an. Elastic License/Subscriptions
- Kostenlos – Open/Basic
- Enterprise
- Platinum
Elasticsearch hat kürzlich wieder eine Open-Source-Version unter der AGPL als weitere Lizenzoption neben ELv2 und SSPL eingeführt. Diese Version bietet jedoch nicht alle Funktionen, die Elasticsearch bereitstellen könnte. Die kostenlose Version umfasst alle grundlegenden Funktionen, die erforderlich sind, um eine Suchanwendung einzurichten, einschließlich Kibana-Visualisierungen und Aggregationen. Funktionen wie Machine Learning/AI, Client-Integrationen, Orchestrierung, Support und einige Sicherheitsfunktionen sind in der kostenlosen Version nicht verfügbar.
Alle Software im Opensearch-Projekt wird unter der Apache License, Version 2.0 (ALv2) veröffentlicht. Die ALv2-Lizenz gewährt wohlbekannte Nutzungsrechte für Opensearch. Sie können Opensearch verwenden, modifizieren, erweitern, einbetten, monetarisieren, weiterverkaufen und als Teil Ihrer Produkte und Dienstleistungen anbieten.
Community
Da Elasticsearch seit über 15 Jahren existiert, ist die Menge an Dokumentation und Community-Support, die online verfügbar ist, nahezu unerschöpflich. Darüber hinaus hat das Unternehmen engagierte Mitarbeiter, die Support-Seiten pflegen, sowie aktive Mitglieder, die auf komplizierte Fragen eingehen.
Da Opensearch viel neuer als Elasticsearch ist, reift die Dokumentation und Community-Unterstützung noch, und die Community befindet sich noch im Prozess der langsamen, aber stetigen Anpassung an Opensearch als kostenloser Alternative zu Elasticsearch.
Feature-Vergleich
Wie bereits erwähnt, ist die Anzahl der von Elasticsearch bereitgestellten Funktionen im Vergleich zu Opensearch viel höher. Opensearch umfasst natürlich alle Funktionen, die von der Open-Source-Version des ELK 7.10.2 bereitgestellt wurden. Einige Funktionen wie X-Pack und Telemetrie-Erfassung mussten jedoch aufgrund von Eigentumsrechten entfernt und durch andere Plugins ersetzt werden.
Elasticsearch bietet außerdem viele weitere Möglichkeiten, Drittanbieteranwendungen als Teil der Konnektoren zu integrieren. Im Rahmen der Enterprise-Suche bietet Elasticsearch nun auch App-Suche und Arbeitsplatzsuche, um die Suche über Enterprise Worktools (z. B. Google Drive, Microsoft 365, Slack) hinweg zu vereinheitlichen, was in Opensearch fehlt. Obwohl Opensearch „Opensearch Dashboards“ als Alternative zu Kibana bereitstellt, fehlen viele der neuen Funktionen von Elasticsearch, wie Elastic Maps und Kibana Lens.
Leistung und Skalierbarkeit
Elasticsearch behauptet, Opensearch um 40-140 % zu übertreffen. Elasticsearch weist auch auf eine 593 % ROI mit seinen Produkten hin und benötigt dabei 37 % weniger Speicherplatz als Opensearch. Selbst wenn diese Behauptungen Extremfälle sind, schneidet Elasticsearch im Allgemeinen besser ab als Opensearch. Hier der Leistungsbericht von Elasticsearch.
Proprietäre Funktionen wie Auto-Scaling, durchsuchbare Snapshots und nahtlose Upgrades machen Elasticsearch ebenfalls zu einer attraktiven Option, zusammen mit besserer Unterstützung für Multi-Cloud- und Hybrid-Cloud-Bereitstellungen im Vergleich zum Opensearch-Dienst.
Fazit
Welches Tool letztendlich genutzt wird, hängt von den jeweiligen Anforderungen ab. Wenn Ihnen erweiterter Support, umfangreiche Funktionen und hohe Leistung wichtig sind und Sie bereit sind, dafür etwas mehr zu bezahlen, ist Elasticsearch die naheliegende Wahl.
Wenn Ihnen ein Tool genügt, das einen etwas geringeren Funktionsumfang bietet, dafür aber keine zusätzlichen Softwarelizenzkosten verursacht, ist Opensearch die richtige Wahl. Besonders dann, wenn Sie bereits mit AWS vertraut sind und planen, Ihre Umgebung dort einzurichten.