Lambda Architecture
Einleitung
Lambda Architecture ist ein Datenverarbeitungsansatz, der zwei Ziele kombiniert:
- Niedrige Latenz (Realtime)
- Hohe Korrektheit (vollständige Recomputes)
Sie erreicht das durch zwei getrennte Verarbeitungspfade:
- Batch Layer
- Speed Layer
Lambda war eine Antwort auf eine Zeit,
in der Streaming-Systeme noch nicht ausgereift waren.
Einordnung
Lambda ist eine Daten- und Stream-Architektur mit dualer Pipeline.
Sie beschreibt:
- wie große Datenmengen verarbeitet werden
- wie Realtime und Korrektheit kombiniert werden
- wie Ergebnisse aus zwei Pfaden zusammengeführt werden
Lambda ist kein Messaging-Pattern –
sondern ein vollständiges Datenplattform-Modell.
Ursprung
Popularisiert von Nathan Marz im Hadoop-Umfeld.
Problemstellung damals:
- Batch-Systeme waren korrekt, aber langsam.
- Streaming-Systeme waren schnell, aber unzuverlässig.
Lambda kombinierte beides.
Grundprinzip
Kernaussage:
- Rohdaten sind immutable gespeichert
- Zwei Verarbeitungspfade berechnen Ergebnisse
- Serving Layer vereinigt beide
Architekturkomponenten
1️⃣ Batch Layer
- Verarbeitet vollständige Datenhistorie
- Führt periodische Recomputes durch
- Liefert korrekte, vollständige Views
Typisch: Hadoop, Spark
2️⃣ Speed Layer
- Verarbeitet neue Events sofort
- Liefert Near-Realtime-Ergebnisse
- Überbrückt Zeit bis zum nächsten Batch
Typisch: Storm, Flink, Kafka Streams
3️⃣ Serving Layer
- Aggregiert Ergebnisse aus Batch und Speed
- Beantwortet Queries
- Muss Inkonsistenzen handhaben
Warum Lambda attraktiv war
- Toleranz gegen Datenfehler
- Rebuild-Fähigkeit
- Realtime ohne Verzicht auf Korrektheit
- Gute Skalierbarkeit im Big-Data-Kontext
Lambda war pragmatisch.
Strukturelle Nachteile
1️⃣ Doppelte Logik
- Zwei Codepfade
- Zwei Teststrategien
- Zwei Fehlerquellen
Jede Business-Logik existiert faktisch doppelt.
2️⃣ Operative Komplexität
- Zwei Pipelines betreiben
- Zwei Monitoring-Stacks
- Zwei Skalierungsmodelle
Lambda ist infrastrukturell schwergewichtig.
3️⃣ Inkonsistenz-Risiko
Batch- und Speed-Layer können:
- unterschiedliche Ergebnisse liefern
- unterschiedliche Bugs enthalten
- unterschiedlich versioniert sein
Die Serving-Layer-Logik wird komplex.
Organisatorische Implikationen
Lambda erfordert Teams mit:
- Batch-Kompetenz
- Streaming-Kompetenz
- Datenplattform-Know-how
Koordinationsaufwand ist hoch.
Lambda vs. Kappa
| Kriterium | Lambda | Kappa |
|---|---|---|
| Verarbeitungspfade | Batch + Stream | Nur Stream |
| Code-Komplexität | hoch | geringer |
| Reprocessing | Batch-Rebuild | Log-Replay |
| Infrastruktur | schwergewichtig | streaming-zentriert |
| Typische Nutzung | Big Data Analytics | Event-Driven Analytics |
Lambda priorisiert Robustheit. Kappa priorisiert Vereinfachung.
Eignung 2026
Geeignet bei:
- Sehr großen Datenmengen
- Starkem Batch-Fokus
- Periodischen Vollrecomputes
- Data-Warehouse-nahen Workloads
- Compliance-getriebenen Systemen
Weniger geeignet bei:
- Streaming-dominanten Systemen
- Event-Driven-Plattformen
- Teams mit begrenzten Ressourcen
- Cloud-native Umgebungen mit starkem Log-Backbone
Heute wird Lambda selten neu aufgebaut – bestehende Systeme werden eher stabilisiert oder zu Kappa migriert.
Praxis-Check
Szenario 1: Log-Analytics im Big-Data-Umfeld
Batch berechnet vollständige Reports, Speed liefert Near-Realtime-Dashboards.
Lambda passt.
Szenario 2: Realtime-Plattform mit Event-Backbone
Streaming ist dominant, Replay genügt für Reprocessing.
Kappa ist einfacher.
Fazit
Lambda Architecture war eine elegante Lösung für ein historisches Problem.
Sie kombiniert:
- Realtime
- Rebuild-Fähigkeit
- Robustheit
Aber:
Sie erkauft das durch doppelte Komplexität.
In modernen Streaming-Ökosystemen wird Lambda oft durch Kappa ersetzt – nicht weil Lambda falsch ist, sondern weil Streaming heute robuster geworden ist.