Lambda-Architektur

Zwei Männer diskutieren über Lambda-Architektur und schauen auf einen Laptop.

Lambda-Architektur kombiniert Batch- und Stream-basierte Datenverarbeitung, um eine niedrige Latenz und genaue Sicht auf zeitbasierte Betriebsdaten zu ermöglichen.

Ursprung von Lambda-Architektur

2011 stellte Nathan Marz in seinem Blog die Idee der Lambda-Architektur vor, um die mit MapReduce verbundenen Latenzen zu reduzieren. Das ursprüngliche Konzept wurde ausgeweitet auf Big Data in dem Papier von Nathan und James Warren, Big Data: Principles and Best Practices of Scalable Realtime Data Systems, veröffentlicht im Jahr 2013. Im Jahr 2014 schrieb Jay Kreps in Rader einen Artikel mit dem Titel Questioning the Lambda-Architektur , in dem er auf einige Nachteile hinwies, die er bei LinkedIn entdeckt hatte, und Alternativen vorschlug. Jay schlug die einfachere Kappa-Architektur vor, weil sie nur einen Streaming verwendet.

Warum ist Lambda-Architektur wichtig?

Bei einem reinen Stapelverarbeitungsansatz zum Abrufen von Daten muss man warten, bis ein Stapel abgeschlossen ist, bevor die abgerufenen Daten abgefragt werden können. Die Stapelverarbeitung hat den Nutzen , dass sie ressourcenschonend ist und einen hohen Durchsatz bietet.

Die Stream-Verarbeitung ist weniger effizient als die Stapelverarbeitung, bietet aber geringere Latenzzeiten, da die Datensätze sofort nach ihrer Erstellung abgerufen werden. Lambda-Architektur bietet die Unmittelbarkeit von Stream-Daten mit dem Durchsatz von Stapelverarbeitung und fügt eine Ebene der Fehlertoleranz hinzu, indem ein einzelner Punkt des Übertragungsfehlers entfernt wird. Die Quelldaten werden nicht verändert, so dass sie weiterhin verbindlich sind.

Die Bestandteile einer Lambda-Architektur

Nachfolgend finden Sie eine Übersicht über die Hauptkomponenten der Lambda-Architektur.

Die Quelldaten

Die Rohdatenquelle wird nicht verändert. Transformationen werden auf eine Kopie des Originals angewendet, um die Überprüfbarkeit zu gewährleisten. Die Batch- und Streaming verwenden denselben Datensatz.

Die Batch-Ebene

Die Batch-Schicht erzeugt Ansichten, während sie einen kompletten Datensatz transformiert. Diese Ansichten können im Falle von Fehlern oder Codeänderungen neu berechnet werden.

Die Geschwindigkeitsebene

Die Geschwindigkeitsebene nutzt die Stream-Verarbeitung, um die zeitlichen Lücken zu füllen, während eine Stapelaktualisierung läuft. Wenn der nächste Stapel abgeschlossen ist, können die vergangenen Daten gelöscht werden. Im Falle eines Ausfalls kann der gesamte Datensatz gestreamt werden, um die Datenverfügbarkeit zu erhöhen.

Die Servierschicht

Bei der Serving-Schicht handelt es sich in der Regel um eine Datenbank, die Join-Abfragen über die Batch- und die gestreamten Ausgabetabellen unterstützt, um eine einzige kohärente Ansicht des transformierten Datensatz zu liefern. Die Architektur schreibt keine bestimmte Datenbank- oder Dateisystemtechnologie vor, solange sie auf transparente Weise einen einheitlichen Ergebnissatz unterstützt, der sowohl auf die gestreamten als auch auf die im Batch-Verfahren erstellten Tabellen verweist.

Die Vorteile der Lambda-Architektur

Zu den wichtigsten Vorteilen der Lambda-Architektur gehören:

  • Der Nutzer sieht immer einen vollständigen und transformierten Datensatz.
  • Die Quelldaten sind unveränderlich, so dass die Ergebnismengen immer aus der Quelle neu erstellt werden können.
  • Keine Verzögerungen bei Aufzeichnungen, im Gegensatz zu einem reinen Batch-Ansatz.
  • Zwischenergebnisse können gespeichert werden, was das Debuggen von Code, der diese als Protokoll verwendet, erleichtert.
  • Die Verwendung von zwei Pfaden zum Abrufen der Rohdaten schafft eine hohe Verfügbarkeit, da entweder der Batch- oder der Streaming-Pfad bei Bedarf einen vollständigen Datensatz erstellen kann.

Die Kehrseite der Lambda-Architektur

Das Hauptproblem der Lambda-Architektur ist die Komplexität. Zwei verschiedene Mechanismen, jeder mit seiner eigenen Codebasis, bewegen Daten von einer Quelle zu einem Ziel, das Abfragen unterstützt. Eine Tabelle ist für Stapeldaten bestimmt, die andere für gedämpfte Daten. Abfragen müssen diese Tabellen verbinden, wobei Duplikate herausgefiltert werden, was sie langsamer macht. Die Batch- und Streaming müssen alle Datentransformationen durchführen.

Actian und die Data Intelligence Plattform

Die Actian Data Intelligence Platform wurde speziell dafür entwickelt, Unternehmen bei der Vereinheitlichung, verwalten und dem Verständnis ihrer Daten in hybriden Umgebungen zu unterstützen. Sie vereint Metadaten , Governance, Lineage, Qualitätsüberwachung und Automatisierung in einer einzigen Plattform. So können Teams sehen, woher die Daten kommen, wie sie verwendet werden und ob sie internen und externen Anforderungen entsprechen.

Durch seine zentrale Schnittstelle unterstützt Actian Erkenntnis über Datenstrukturen und -flüsse und erleichtert so die Anwendung von Richtlinien, die Lösung von Problemen und die abteilungsübergreifende Zusammenarbeit. Die Plattform hilft auch dabei, Daten mit dem geschäftlichen Kontext zu verbinden, damit Teams Daten effektiver und verantwortungsvoller nutzen können. Die Plattform von Actian ist so konzipiert, dass sie mit sich entwickelnden Datenökosystemen skaliert und eine konsistente, intelligente und sichere Datennutzung im gesamten Unternehmen unterstützt. Fordern Sie Ihr persönliches Demo an.