1

Wenn die Kappa-Architektur die Analyse direkt im Stream durchführt, anstatt die Daten in zwei Streams zu teilen, wo ist dann der Datenspeicher in einem Nachrichtensystem wie Kafka? oder kann es in einer Datenbank für die Neuberechnung sein?Was sind die Unterschiede zwischen Kappa-Architektur und Lambda-Architektur

Und ist eine separate Batch-Schicht schneller als die Neuberechnung mit einer Stream-Verarbeitungs-Engine für Batch-Analysen?

Antwort

4

„Ein sehr einfacher Fall zu prüfen ist, wenn die verwendeten Algorithmen auf die Echtzeitdaten und zu den historischen Daten identisch sind. Dann ist es eindeutig sehr vorteilhaft die gleiche Codebasis zu verwenden historische zu verarbeiten und Echtzeitdaten, und daher den Use-Case mit der Kappa-Architektur zu implementieren ". "Die Algorithmen zur Verarbeitung von historischen Daten und Echtzeitdaten sind nicht immer identisch. In einigen Fällen kann der Stapelalgorithmus optimiert werden, da er Zugriff auf den vollständigen historischen Datensatz hat und dann übertrifft Die Implementierung des Echtzeitalgorithmus. Hier wird die Wahl zwischen Lambda und Kappa zu einer Wahl zwischen der Bevorzugung von Batch-Ausführung Leistung über Code-Basis Einfachheit ". "Schließlich gibt es noch weitere komplexe Anwendungsfälle, in denen sogar die Ausgaben des Echtzeit- und Stapelalgorithmus unterschiedlich sind. Zum Beispiel ein maschinelles Lernen Anwendung, wo die Generierung des Chargenmodells so viel Zeit benötigt und Ressourcen, die das beste in Echtzeit erreichbare Ergebnis ist Computing und genäherte Updates dieses Modells. In solchen Fällen können die Batch-und Echtzeit-Layer nicht zusammengeführt werden, und die Lambda Architektur muss verwendet werden ".

Quote

Lambda-Architecture

  • Seperate Batch and Stream-Layer-
  • Höhere Codekomplexität
  • Schnellere Leistung mit separatem Batch/Strom
  • besser für verschiedene Algorithmen in Chargen- und Strom
  • billiger mit einem Datenspeicher für die Batch-Computing statt einer Datenbank

Kappa-Architecture

  • nur eine Dampfverarbeitungsschicht
  • leichter, geringerer Komplexität, Single-Algorithmus für Batch und Strom aufrechtzuerhalten
  • zu viele Daten würden teuer sein, wenn aus einer Datenbank für Batch
  • neu berechnet würde zu viel Daten wäre langsamer zu verarbeiten, wenn berechnet aus der Datenbank oder von Kafka für die Charge
Verwandte Themen