Batch- vs Stream Verarbeitung

Die Batch-Verarbeitung ist eine spezielle und bequeme Art der Verarbeitung von Streaming-Daten in großen Stücken, während die Streaming-Ingestion Daten kontinuierlich und in Echtzeit an nachgelagerte Systeme liefert. Batch-Daten werden in einem vorbestimmten Zeit Intervall oder bei Erreichen einer bestimmten Größe eingelesen, während Streaming-Daten nahezu in Echtzeit zur Verfügung stehen. Während die Batch-Verarbeitung lange Zeit die Standardmethode für die Aufnahme von Daten war, wird das Stream Processing von Datenströmen immer beliebter. (Reis, J., 2022, S. 70-71)

Bei der Entscheidung zwischen Batch- und Streaming-Ingestion sind mehrere wichtige Aspekte zu berücksichtigen. Dazu gehört die Frage, ob die nachgelagerten Speichersysteme die Datenflussrate bewältigen können, ob eine Echtzeit-Ingestion im Millisekunden Bereich erforderlich ist, welche spezifischen Vorteile Streaming bietet und ob ein Streaming-first-Ansatz in Bezug auf Zeit, Geld, Wartung, Ausfallzeiten und Opportunitätskosten teurer ist als eine Batch-Ingestion. Weitere Überlegungen betreffen die Zuverlässigkeit und Redundanz der Streaming-Pipeline und des Systems, die geeigneten Tools für den Anwendungsfall, die Vorteile von Online-Vorhersagen und kontinuierlichem Training beim Einsatz eines ML-Modells sowie die Auswirkungen des Ingestion-Prozesses auf das Quellsystem. (Reis, J., 2022, S. 71-72)

Auch wenn die Streaming-Ingestion eine gute Idee zu sein scheint, ist sie nicht immer einfach, und es entstehen zusätzliche Kosten und Komplexität. Viele großartige Ingestion-Frameworks beherrschen sowohl Batch- als auch Micro-Batch-Ingestion-Stile, und die Batch-Verarbeitung ist nach wie vor ein hervorragender Ansatz für viele gängige Anwendungsfälle, wie z. B. Modelltraining und wöchentliche Berichte. Führen Sie echtes Echtzeit-Streaming nur dann ein, wenn Sie einen geschäftlichen Anwendungsfall gefunden haben, der die Nachteile der Batch-Verarbeitung rechtfertigt. (Reis, J., 2022, S. 72)

Last updated