Tutorial 1: Was ist Elasticsearch?
Dauer: 25 Minuten
Schwierigkeit: Anfänger
Voraussetzungen: Keine
Lernziele
- Verstehen, was Elasticsearch ist und wofür es verwendet wird
- Den Unterschied zwischen Elasticsearch und traditionellen Datenbanken kennen
- Grundlegende Konzepte verstehen (Dokumente, Indizes, Cluster)
- Reale Anwendungsfälle kennenlernen
- NEU: Sehen, welche großen Unternehmen Elasticsearch einsetzen
Was ist Elasticsearch?
Elasticsearch ist eine verteilte Suchmaschine und Analyse-Engine, die auf Apache Lucene basiert. Stell dir vor, du hast Millionen von Dokumenten und möchtest in Millisekunden relevante Ergebnisse finden – genau dafür ist Elasticsearch gebaut.
Einfache Analogie:
- Google für das Internet = Elasticsearch für deine Daten
- Du gibst Suchbegriffe ein, bekommst sofort relevante Ergebnisse
Elasticsearch vs. Traditionelle Datenbanken
| Aspekt | Traditionelle DB (MySQL) | Elasticsearch |
|---|---|---|
| Primärer Zweck | Daten speichern | Daten durchsuchen |
| Suche | Langsam bei LIKE-Queries | Extrem schnell (ms) |
| Volltextsuche | Begrenzt | Exzellent |
| Skalierung | Vertikal (größerer Server) | Horizontal (mehr Server) |
| Datenstruktur | Tabellen mit Zeilen | JSON-Dokumente |
| ACID | Ja | Teilweise (eventual consistency) |
Wann was verwenden?
- MySQL/PostgreSQL: Transaktionen, Finanzen, strikte Konsistenz
- Elasticsearch: Suche, Logs, Analytics, Echtzeitanalyse
Grundlegende Konzepte
Dokument (Document)
Das kleinste Element – ähnlich einer Zeile in einer Datenbank.
json
{
"id": 1,
"name": "Andreas Müller",
"job": "Web Developer",
"skills": ["PHP", "Laravel", "Elasticsearch"],
"location": "Frankfurt",
"experience_years": 20
}
```
**Wichtig:**
- Dokumente sind im JSON-Format
- Jedes Dokument hat eine eindeutige ID
- Flexibles Schema (nicht alle Dokumente brauchen dieselben Felder)
#### 2️⃣ **Index**
Eine Sammlung von ähnlichen Dokumenten - wie eine Datenbank-Tabelle.
```
Index: "employees"
├── Dokument 1: Andreas Müller
├── Dokument 2: Sarah Schmidt
├── Dokument 3: Michael Weber
└── ...
```
**Wichtig:**
- Ein Index hat einen Namen (Kleinbuchstaben: "employees", "products", "logs")
- Kann Millionen von Dokumenten enthalten
- Optimiert für schnelle Suche
#### 3️⃣ **Cluster**
Eine Gruppe von Servern (Nodes), die zusammenarbeiten.
```
Cluster: "mein-produktions-cluster"
├── Node 1 (Master + Data)
├── Node 2 (Data)
└── Node 3 (Data)
```
**Wichtig:**
- Automatische Verteilung der Daten
- Hochverfügbarkeit (Node fällt aus = kein Datenverlust)
- Horizontal skalierbar
#### 4️⃣ **Node**
Ein einzelner Server im Cluster.
**Node-Typen (lernen wir später im Detail):**
- **Master Node:** Cluster-Verwaltung
- **Data Node:** Speichert Daten
- **Ingest Node:** Datenverarbeitung
#### 5️⃣ **Shard**
Ein Stück eines Index - für Skalierung.
```
Index "products" (100 GB)
├── Shard 0 (20 GB) → Node 1
├── Shard 1 (20 GB) → Node 2
├── Shard 2 (20 GB) → Node 3
├── Shard 3 (20 GB) → Node 1
└── Shard 4 (20 GB) → Node 2
```
**Warum Shards?**
- Große Indizes werden aufgeteilt
- Parallele Verarbeitung
- Bessere Performance
---
### 🎯 Reale Anwendungsfälle
#### 1. **Log-Analyse** (Sehr häufig!)
```
Szenario: Du hast 1000 Server, jeder produziert Logs
Problem: Fehler finden in Millionen von Log-Zeilen
Lösung: Elasticsearch + Kibana
Beispiel-Suche:
"Zeige mir alle ERROR-Logs der letzten 5 Minuten
vom Server 'web-prod-42'
die das Wort 'database timeout' enthalten"
Antwortzeit: < 100ms ✅
```
#### 2. **E-Commerce Suche**
```
Szenario: Online-Shop mit 100.000 Produkten
Problem: Nutzer sucht "rotes kleid sommer"
Lösung: Elasticsearch findet:
- Rote Kleider
- Sommerkleider in Rot
- "Sommerliches rotes Abendkleid"
- Auch bei Tippfehlern: "rotes kleid somer"
Features:
- Typo-Toleranz
- Relevanz-Ranking
- Filter (Größe, Preis, Marke)
- Auto-Suggest
```
#### 3. **Security Analytics**
```
Szenario: Firewall-Logs analysieren
Problem: Angriffe erkennen in Echtzeit
Lösung: Elasticsearch mit Aggregationen
Beispiel:
"Zeige Anzahl der Verbindungen pro IP in letzter Stunde
→ IP mit > 10.000 Requests = möglicher Angriff"
```
#### 4. **Application Performance Monitoring (APM)**
```
Szenario: Microservices überwachen
Problem: Welcher Service ist langsam?
Lösung: Request-Traces in Elasticsearch
Beispiel:
"Zeige alle Requests > 2 Sekunden
mit Breakdown nach Service"
```
#### 5. **Business Intelligence**
```
Szenario: Verkaufsdaten analysieren
Problem: Trends erkennen
Lösung: Aggregationen in Elasticsearch
Beispiel:
"Umsatz pro Produkt-Kategorie, pro Tag, letzte 3 Monate
→ Visualisierung in Kibana"
Welche großen Unternehmen nutzen Elasticsearch?
Elasticsearch wird von tausenden Unternehmen weltweit eingesetzt. Hier sind einige prominente Beispiele, die zeigen, wie vielseitig und leistungsfähig Elasticsearch ist:
E-Commerce & Retail
eBay
- Use Case: Produktsuche für 1,3+ Milliarden Listings
- Skalierung: Hunderte von Nodes
- Features: Typo-Toleranz, Faceted Search, Personalisierung
- Warum ES? Extrem schnelle Suche auch bei riesigen Produktmengen
Zalando
- Use Case: Produktsuche und Fashion-Empfehlungen
- Volumen: Millionen Produkte, Millionen Suchanfragen täglich
- Features: Multi-Language-Support, Filter-Kombinationen
Otto.de
- Use Case: Produktkatalog-Suche und Recommendations
- Besonderheit: Einer der größten deutschen Online-Shops
Media & Entertainment
Netflix
- Use Case: Logging, Monitoring, Security Analytics
- Volumen: Über 800 Milliarden Events pro Tag!
- Cluster-Größe: Mehrere 1000 Nodes
- Features: Echtzeit-Überwachung des Streaming-Systems
Spotify
- Use Case: Logging, Monitoring, User-Analytics
- Volumen: Mehrere Petabytes an Daten
- Features: Analyse von User-Verhalten und Playback-Daten
Tinder
- Use Case: Geo-Suche für Matches, Analytics
- Besonderheit: Location-based Search in Echtzeit
Automotive & Transportation
Uber
- Use Case: Logging, Monitoring, Marketplace-Analytics
- Volumen: Millionen Fahrten täglich analysieren
- Features: Echtzeit-Tracking, Fehleranalyse
Tesla
- Use Case: Fahrzeugdaten-Analyse, Telemetrie
- Features: Monitoring von Millionen Datenpunkten pro Fahrzeug
Tech-Unternehmen
Microsoft
- Use Case: Azure Monitoring, GitHub-Suche
- Features: Code-Suche in Millionen Repositories
Adobe
- Use Case: Experience Platform, Analytics
- Features: Marketing-Datenanalyse in Echtzeit
- Use Case: Mitglieder-Suche, Job-Suche, Feed-Personalisierung
- Volumen: 900+ Millionen Mitglieder durchsuchbar
Stack Overflow
- Use Case: Code-Suche in Millionen Fragen/Antworten
- Features: Tag-basierte Suche, Code-Snippet-Suche
Banking & Finance
Goldman Sachs
- Use Case: Log-Analyse, Compliance, Security
- Besonderheit: Echtzeit-Überwachung von Trading-Systemen
Deutsche Bank
- Use Case: Security Information and Event Management (SIEM)
- Features: Betrugserkennung, Compliance-Monitoring
Healthcare & Science
NASA
- Use Case: Telemetrie-Daten von Missionen
- Features: Analyse von Sensor-Daten aus dem Weltraum
Mayo Clinic
- Use Case: Medizinische Forschungsdaten durchsuchen
- Features: Klinische Studien-Daten analysieren
News & Publishing
The Guardian
- Use Case: Artikel-Suche für Leser und Redakteure
- Volumen: Millionen Artikel durchsuchbar
- Features: Multi-Language, Relevanz-Tuning
New York Times
- Use Case: Archiv-Suche (Artikel seit 1851!)
- Features: Historical Data Search
Gaming
Sony PlayStation
- Use Case: Gaming-Logs, User-Analytics
- Features: Performance-Monitoring von Gaming-Servern
Riot Games (League of Legends)
- Use Case: Player-Statistics, Match-Daten
- Volumen: Millionen Matches pro Tag
Enterprise & Productivity
Slack
- Use Case: Nachrichten-Suche für Teams
- Features: Echtzeit-Indexierung von Milliarden Messages
Atlassian (Jira, Confluence)
- Use Case: Issue-Tracking, Dokumenten-Suche
- Features: Cross-Project-Suche
Typische Skalierungs-Zahlen aus der Praxis
Hier siehst du, wie groß Elasticsearch-Deployments wirklich werden können:
| Unternehmen | Nodes | Dokumente | Indexing-Rate | Use Case |
|---|---|---|---|---|
| Netflix | 1000+ | 800 Mrd+ Events/Tag | 1+ Mio Events/Sek | Logging/Monitoring |
| eBay | 500+ | 1,3+ Mrd Listings | Hoch | Produktsuche |
| 100+ | Milliarden Docs | Hoch | Member Search | |
| Uber | Viele Cluster | Millionen Fahrten/Tag | Sehr hoch | Analytics/Monitoring |
🎯 Was zeigen diese Beispiele?
Diese Unternehmen nutzen Elasticsearch, weil:
- Skalierung: Horizontal auf 1000+ Nodes möglich
- Performance: Millisekunden-Antwortzeiten auch bei Milliarden Dokumenten
- Flexibilität: Von Produktsuche bis Log-Analyse alles möglich
- Echtzeit: Near Real-Time Indexing und Search
- Zuverlässigkeit: 24/7 Hochverfügbarkeit möglich
Wichtig: Wenn diese globalen Player Elasticsearch vertrauen, zeigt das die Enterprise-Reife der Technologie!
💡 Wie funktioniert die Suche? (Vereinfacht)
Traditionelle Datenbank (MySQL):
sql
SELECT * FROM products
WHERE name LIKE '%laptop%'
→ Muss jede Zeile durchgehen 🐌 (bei 1 Mio Produkten = langsam)
Elasticsearch:
json
{
"query": {
"match": { "name": "laptop" }
}
}
```
→ Nutzt **invertierten Index** 🚀 (wie ein Buch-Index)
**Invertierter Index (Beispiel):**
```
Begriff → Dokumente
"laptop" → [1, 5, 42, 103, 505]
"macbook" → [5, 103]
"gaming" → [42, 999]
Suche "laptop" → Direkt zu Dokumenten [1, 5, 42, 103, 505]
Keine Tabellen-Scan nötig! ⚡
🎓 Zusammenfassung
Was du gelernt hast:
✅ Elasticsearch ist eine Suchmaschine, keine Datenbank
✅ Dokumente (JSON) sind die kleinste Einheit
✅ Indizes sammeln ähnliche Dokumente
✅ Cluster = mehrere Server arbeiten zusammen
✅ Shards verteilen Daten für Skalierung
✅ Ideal für: Logs, Suche, Analytics, Monitoring
✅ Invertierter Index macht Suche extrem schnell
✅ Wird von Tausenden Unternehmen weltweit genutzt – von eBay bis Netflix
✅ Bewährt bei extremen Skalierungen – Milliarden Dokumente, 1000+ Nodes

Author: Andreas Lang
Andreas Lang konzentriert sich seit zwei Jahrzehnten auf die Webentwicklung und Webdesign mit dem Schwerpunkt PHP, Laravel und Javascript und betreut seine Kunden mit Herz und Seele in allen Bereichen von Entwicklung, Design, Suchmaschinenoptimierung, IT-Recht, IT-Sicherheit etc.

