Der Fork, der die Such-Welt veränderte

Im Januar 2021 kündigte Elastic NV an, Elasticsearch und Kibana von der Apache-2.0-Lizenz auf die Elastic License 2.0 (ELv2) bzw. Server Side Public License (SSPL) umzustellen. Grund: Cloud-Anbieter – allen voran Amazon – nutzten Elasticsearch kommerziell, ohne zur Weiterentwicklung beizutragen.

Amazon reagierte prompt: Noch im selben Jahr entstand unter dem Dach der Apache Software Foundation der OpenSearch-Fork, basierend auf Elasticsearch 7.10.2 – der letzten Apache-2.0-Version. Seitdem entwickeln sich beide Projekte unabhängig voneinander.

Und dann, im Februar 2024, die Kehrtwende: Elastic gab bekannt, Elasticsearch wieder unter der AGPL-3.0-Lizenz zu veröffentlichen – echtes Open Source. Der Lizenzstreit ist vorbei. Aber die technologischen Wege haben sich bereits getrennt.

Was ist OpenSearch?

OpenSearch ist ein von Amazon Web Services (AWS) gestarteter, vollständig Apache-2.0-lizenzierter Fork von Elasticsearch 7.10.2. Das Projekt wird heute in der OpenSearch Software Foundation (bei der Linux Foundation angesiedelt) entwickelt – offiziell nicht mehr von AWS allein kontrolliert.

OpenSearch umfasst:

  • OpenSearch: Die Suchmaschine (Fork von Elasticsearch)
  • OpenSearch Dashboards: Die Visualisierungsschicht (Fork von Kibana)
  • OpenSearch Security Plugin: RBAC, Audit Logging, TLS – kostenlos eingebaut
  • OpenSearch ML Commons: Machine Learning direkt in der Engine

Was ist Elasticsearch?

Elasticsearch ist die ursprüngliche, von Elastic NV entwickelte Suchmaschine. Seit Version 8.0 (2022) hat Elastic viele neue Features eingeführt:

  • Elastic Security (SIEM): Integriertes Security Operations Center
  • Elastic Observability: APM, Logs und Metriken in einem
  • ELSER (Sparse Encoder): Semantische Suche ohne externe Embeddings
  • ES|QL: Neue, SQL-ähnliche Abfragesprache (ab Version 8.11)
  • Vector Search / kNN: ANN-Suche für AI-Anwendungen

Seit Februar 2024 ist Elasticsearch wieder dual-lizenziert: AGPL-3.0 oder Elastic License 2.0 – Nutzer können wählen.

Direktvergleich: OpenSearch vs. Elasticsearch

Kriterium OpenSearch Elasticsearch
Lizenz ✅ Apache 2.0 ✅ AGPL-3.0 / ELv2
Open Source ✅ Vollständig ✅ (seit Feb 2024)
Security Features ✅ Kostenlos eingebaut ⚠️ Teilweise Enterprise
Vector Search ✅ kNN, FAISS ✅ kNN, HNSW
ML/AI Features ✅ ML Commons ✅ ELSER, ML Nodes
Syntax-Kompatibilität ⚠️ DSL teils abgewichen ✅ Original-API
Performance ✅ Gut ✅ Vergleichbar
AWS-Integration ✅ Native ⚠️ Über Elastic Cloud
Community ⚠️ Kleiner ✅ Größer
Dokumentation ✅ Gut ✅ Sehr gut
Versionierung 2.x → 3.x 8.x
Breaking Changes Geringer Elastic 8 deutlich

Technische Unterschiede im Detail

Abfragesprache und API-Kompatibilität

Elasticsearch und OpenSearch teilen dieselbe Basis (Elasticsearch 7.10), aber haben sich seither weiterentwickelt:

  • Elasticsearch hat mit ES|QL eine neue SQL-ähnliche Abfragesprache eingeführt (ab 8.11)
  • OpenSearch entwickelt eigene Extensions für PPL (Piped Processing Language) und SQL
  • Query DSL ist noch weitgehend kompatibel, aber bei neueren Features gibt es Abweichungen
  • Kibana vs. OpenSearch Dashboards: Beide basieren auf dem gleichen Ursprung, divergieren aber zunehmend

Ein bestehendes Elasticsearch 7.x-Cluster lässt sich auf OpenSearch migrieren – ab Elasticsearch 8.x wird die Migration aufwändiger.

Security: Ein klarer Vorteil für OpenSearch (historisch)

Lange war dies der wichtigste Unterschied: Elasticsearch bündelte Security-Features (TLS, RBAC, Audit Logging) nur in der kostenpflichtigen Enterprise-Lizenz. OpenSearch baute sie direkt als kostenloses Plugin ein.

Seit Elasticsearch 8.0 (2022) sind grundlegende Security-Features auch in der kostenlosen Variante verfügbar. Der Vorteil von OpenSearch ist hier geringer geworden, aber OpenSearch bietet noch immer mehr Security-Features ohne Aufpreis.

Vector Search und AI-Features

Beide Systeme unterstützen heute k-Nearest-Neighbor (kNN)-Suche für Vektor-Embeddings, ein kritisches Feature für moderne AI-Anwendungen:

Elasticsearch ELSER: Elasticsearch bietet mit ELSER (Elastic Learned Sparse EncodeR) ein eigenes Modell für semantische Suche – direkt in der Engine ohne externe Embedding-API.

OpenSearch Neural Search: OpenSearch integriert via ML Commons externe Modelle (Hugging Face, Amazon Titan, OpenAI-kompatible APIs). Flexibler, aber mehr Konfigurationsaufwand.

Fazit: Für reine Vector-Search-Use-Cases sind beide vergleichbar. Für einfachen Einstieg in semantische Suche punktet Elasticsearch mit ELSER.

Performance

In unabhängigen Benchmarks (z.B. von OpenBenchmarks.org) sind beide Systeme bei gleichartiger Konfiguration auf ähnlichem Niveau. Unterschiede entstehen vor allem durch:

  • Konfiguration: Shard-Sizing, JVM-Heap, Hardware
  • Workload: Read-heavy vs. Write-heavy
  • Version-spezifische Optimierungen: Elasticsearch 8.x hat in bestimmten Szenarien Vorteile durch neuere Lucene-Versionen

Es gibt keinen dramatischen Performance-Unterschied – beide Systeme skalieren gut horizontal.

Migrations-Guide: Elasticsearch → OpenSearch

Falls du von Elasticsearch zu OpenSearch wechseln willst:

Kompatible Versionen

Elasticsearch OpenSearch
7.10.x 1.x
7.x (allgemein) 2.x
8.x Direktmigration nicht offiziell unterstützt

Migration von Elasticsearch 7.x

# 1. Snapshot in Elasticsearch erstellen
curl -X PUT "localhost:9200/_snapshot/my_backup" \
  -H "Content-Type: application/json" \
  -d '{"type": "fs", "settings": {"location": "/backup/path"}}'

# 2. Snapshot auf OpenSearch wiederherstellen
# (Repository muss identisch konfiguriert sein)
curl -X POST "localhost:9200/_snapshot/my_backup/snapshot_1/_restore"

Wichtig: Index-Templates und Mappings sind in der Regel kompatibel. Custom Plugins müssen OpenSearch-Versionen haben.

Migration von Elasticsearch 8.x

Direkte Migration ist nicht offiziell unterstützt. Empfohlener Weg:

  1. Daten aus Elasticsearch 8.x exportieren (Reindex API oder Snapshots mit Elasticsearch 7.17 als Zwischenstop)
  2. In OpenSearch 2.x importieren

Wann sollte ich welches System wählen?

Nimm OpenSearch, wenn…

  • du auf AWS arbeitest und Amazon OpenSearch Service nutzen willst
  • du strikt Open Source (Apache 2.0) bevorzugst und keine Lizenz-Abhängigkeit von Elastic NV willst
  • du Security-Features ohne Enterprise-Aufpreis brauchst (RBAC, Audit Logging)
  • du von Elasticsearch 7.x migrieren willst ohne Vendor-Lock-in
  • du Graylog betreibst (Graylog empfiehlt OpenSearch als Backend)

Nimm Elasticsearch, wenn…

  • du das Elastic Stack-Ökosystem (APM, SIEM, Elastic Agent) nutzt
  • du ELSER oder Elastic Security für AI-gestützte Suche/SIEM brauchst
  • du Elastic Cloud als Managed Service nutzen willst
  • dein Team bereits tiefgehende Elasticsearch-Expertise hat
  • du ES|QL für analytische Abfragen brauchst

Der aktuelle Stand: Konvergenz oder dauerhafter Split?

Mit Elastics Rückkehr zu AGPL-3.0 (Feb 2024) sind die Lizenz-Gräben kleiner geworden. Aber die technologischen Wege bleiben getrennt:

  • OpenSearch wird durch die OpenSearch Software Foundation unter neutraler Governance entwickelt
  • Elasticsearch bleibt unter Kontrolle von Elastic NV und investiert stark in AI/ML-Features

Beide Projekte haben eine gesunde Zukunft. Die Wahl hängt weniger von der Lizenz als von Ökosystem, Cloud-Provider und spezifischen Features ab.

Fazit: Kein klarer Sieger – die Anforderungen entscheiden

OpenSearch ist die bessere Wahl für Open-Source-Puristen, AWS-Nutzer und Teams, die von Elasticsearch 7.x kommen und Vendor-Unabhängigkeit schätzen.

Elasticsearch überzeugt mit stärkerem AI/ML-Tooling, dem etablierten Elastic-Ökosystem und der neueren ES|QL-Abfragesprache.

Für neue Projekte ohne bestehende Abhängigkeiten: Evaluiere beide und entscheide nach deinem Cloud-Provider und den konkreten Feature-Anforderungen. Der Performanceunterschied ist vernachlässigbar – die Ökosystem-Entscheidung nicht.

Weiterführende Artikel

Verwandte Technologien im Techradar