Was ist Batch-Verarbeitung?

Die Stapelverarbeitung ist die Methode, mit der Computer regelmäßig große, sich wiederholende Datenaufträge ausführen. Bestimmte Datenverarbeitungsaufgaben wie Sicherungen, Filtern und Sortieren können rechenintensiv und ineffizient für einzelne Datentransaktionen ausgeführt werden. Stattdessen verarbeiten Datensysteme solche Aufgaben stapelweise, oft außerhalb der Spitzenzeiten, wenn Rechenressourcen häufiger verfügbar sind, z. B. am Ende des Tages oder über Nacht. Stellen Sie sich zum Beispiel ein E-Commerce-System vor, das im Laufe des Tages Bestellungen entgegennimmt. Anstatt jede Bestellung sofort zu bearbeiten, sammelt das System möglicherweise alle Bestellungen am Ende eines jeden Tages und teilt sie in einem Stapel mit dem Auftragserfüllungsteam.

Warum ist die Batch-Verarbeitung wichtig?

Unternehmen verwenden die Batch-Verarbeitung, da sie nur minimale menschliche Interaktion erfordert und die Ausführung sich wiederholender Aufgaben effizienter macht. Sie können Batches von Aufträgen einrichten, die aus Millionen von Datensätzen bestehen und gemeinsam bearbeitet werden, wenn die Rechenleistung am einfachsten verfügbar ist, wodurch Ihre Systeme weniger belastet werden. Moderne Batch-Verarbeitung erfordert darüber hinaus nur minimale menschliche Überwachung oder Verwaltung. Wenn es ein Problem gibt, benachrichtigt das System das betroffene Team automatisch, um es zu lösen. Manager verfolgen einen praktischen Ansatz und vertrauen darauf, dass ihre Batch-Verarbeitungssoftware ihre Arbeit erledigt. Es folgen weitere Vorteile der Batch-Verarbeitung.

Was ist die Geschichte der Batch-Verarbeitung?

Die Batch-Verarbeitung ist mehr als ein Jahrhundert alt, obwohl sich die technischen Aspekte ihrer Funktionsweise ständig weiterentwickelt haben. Das erste Beispiel für die Batch-Verarbeitung geht auf das Jahr 1890 zurück, als ein elektronischer Tabulator zur Erfassung von Informationen für das United States Census Bureau verwendet wurde. Volkszählungsarbeiter markierten Datenkarten – sogenannte Lochkarten – und verarbeiteten sie chargenweise mithilfe eines elektromechanischen Geräts. In den 1960er Jahren konnten Entwickler Batch-Programme auf Magnetband planen, die den ganzen Tag über nacheinander ablaufen sollten. Batch-Aufträge wurden weiterhin mit der Verbesserung von Großrechnern alltäglich, die immer leistungsfähiger und effizienter wurden. Moderne Unternehmen verwenden softwarebasierte Batch-Anwendungen für gängige Geschäftsprozesse wie das Erstellen von Berichten, das Drucken von Dokumenten oder das Aktualisieren von Informationen am Ende des Tages.

Was sind Beispiele für Aufträge, die die Batch-Verarbeitung automatisieren kann?

Batch-Verarbeitungssysteme werden verwendet, um verschiedene Arten von Daten und Anfragen zu verarbeiten. Zu den häufigsten Arten von Batch-Verarbeitungsaufträgen gehören:

  • Wöchentliche/monatliche Abrechnung
  • Gehaltsliste
  • Inventarverarbeitung
  • Berichtsgenerierung
  • Datenkonvertierung
  • Abonnement-Zyklen
  • Erfüllung der Lieferkette

Was sind einige Anwendungsfälle von Batch-Verarbeitungssystemen?

Es gibt zahlreiche Anwendungsfälle von Batch-Verarbeitungssystemen. Es folgen die wichtigsten Beispiele.

Finanzdienstleistungen

Finanzdienstleistungsunternehmen, von agilen Finanztechnologien bis hin zu Legacy-Unternehmen, haben Batch-Verarbeitung in Bereichen wie High Performance Computing für Risikomanagement, Transaktionsverarbeitung am Ende des Tages und Betrugsüberwachung eingesetzt. Sie nutzen die Stapelverarbeitung, um menschliche Fehler zu minimieren, Geschwindigkeit und Genauigkeit zu erhöhen und Kosten durch Automatisierung zu senken.

Software as a Service

Unternehmen, die Software-as-a-Service (SaaS)-Anwendungen bereitstellen, stoßen häufig auf Probleme bei der Skalierbarkeit. Mithilfe der Batch-Verarbeitung können Sie die Kundennachfrage skalieren und gleichzeitig die Auftragsplanung automatisieren. Die Erstellung containerisierter Anwendungsumgebungen zur Skalierung der Nachfrage nach großvolumiger Verarbeitung ist ein Projekt, dessen Fertigstellung Monate oder sogar Jahre dauern kann. Mithilfe von Stapelverarbeitungssystemen können Sie jedoch dasselbe Ergebnis in einem viel kürzeren Zeitrahmen erzielen.

Medizinische Forschung

Die Analyse großer Datenmengen – oder Big Data – ist eine gängige Anforderung im Forschungsbereich. Sie können die Batch-Verarbeitung in Datenanalyseanwendungen wie Computerchemie, klinische Modellierung, Molekulardynamik und Tests und Analysen zur genomischen Sequenzierung anwenden. Wissenschaftler nutzen beispielsweise die Batch-Verarbeitung, um bessere Daten zu erfassen, um mit der Arzneimittelentwicklung zu beginnen und ein tieferes Verständnis der Rolle eines bestimmten biochemischen Prozesses zu erlangen. 

Digitale Medien

Medien- und Unterhaltungsunternehmen benötigen hochgradig skalierbare Batch-Verarbeitungssysteme, um Daten wie Dateien, Grafiken und visuelle Effekte automatisch für hochauflösende Videoinhalte zu verarbeiten. Sie können die Batch-Verarbeitung verwenden, um die Erstellung von Inhalten zu beschleunigen, die Medienpaketierung dynamisch zu skalieren und Medien-Workloads zu automatisieren.

Wie funktioniert die Batch-Verarbeitung?

Während die Anwendungen für die Batch-Verarbeitung je nach Art der auszuführenden Aufgabe variieren, bleiben die Grundlagen von Batch-Aufträgen gleich. Der Benutzer kann Batch-Aufträge ausführen, indem er die folgenden Details angibt:

  • Name der Person, die den Auftrag übermittelt
  • Batchprozesse oder -Programme, die ausgeführt werden müssen
  • Systemstandort der Dateneingabe
  • Systemstandort für die Ausgabe verarbeiteter Daten
  • Uhrzeit oder Batchfenster, zu bzw. in dem der Batch-Auftrag ausgeführt werden soll

Der Benutzer gibt auch die Batch-Größe oder die Anzahl der Arbeitseinheiten an, die das System in einem kompletten Batchvorgang verarbeiten muss. Einige Beispiele für Batch-Größen sind: 

  • Anzahl der in der Datenbank zu lesenden und zu speichernden Batchdateizeilen
  • Anzahl der Nachrichten, die aus einer Warteschlange gelesen und verarbeitet werden sollen
  • Anzahl der zu sortierenden und an die nächste Anwendung zu sendenden Transaktionen

Während des Batchfensters verwendet das Batch-Verarbeitungssystem die Informationen zur Batch-Größe, um die Ressourcen zuzuweisen, die für die effiziente Ausführung des Batch-Auftrags erforderlich sind. Moderne Systeme können Hunderttausende von Batch-Aufträgen vor Ort oder in der Cloud ausführen.

Abhängigkeiten

Aufgaben in Batch-Aufträgen können sequentiell oder gleichzeitig ausgeführt werden. Die Sequenzen können unterschiedlich sein, je nachdem, ob eine frühere Aufgabe erfolgreich abgeschlossen wurde. Beispiele für Abhängigkeiten sind ein Kunde, der eine Bestellung in einem Online-Shop aufgibt oder eine Rechnung bezahlt. Eine Abhängigkeit kann auch eingerichtet werden, um einen Auftragsverarbeitungszyklus zu initiieren.

Cron-Befehle

Ein cron-Befehl ist ein Batch-Auftrag, der regelmäßig ausgeführt wird. Sie können Wiederholungsmuster für Batch-Aufträge einrichten, z. B. können Sie einen Auftrag so einrichten, dass Abonnements am Ende eines jeden Monats in Rechnung gestellt werden.

Wie lässt sich die Batch-Verarbeitung überwachen?

Während Batch-Verarbeitungssysteme mit minimalem Personalaufwand arbeiten, benötigen sie dennoch eine gewisse Überwachung. Um Batchprozesse zu überwachen, können Sie Warnungen (oder Ausnahmen) einrichten, die gesendet werden, wenn der Batchauftrag erfolgreich ist, fehlschlägt oder ausgeführt wurde.

Monitore

Monitore in Batch-Prozessen suchen nach Auffälligkeiten, z. B. dass die Ausführung eines Auftrags länger dauert, als er sollte. In diesem Fall würde es den nächsten Auftrag von Anfang an stoppen und das zuständige Personal über die Ausnahme informieren.

Analyse nach der Bearbeitung

Sie können den Verlauf eines Batch-Auftrags anzeigen, nachdem er verarbeitet wurde. Die meisten Batchprozesse enthalten Protokolldateien, die Meldungen aufzeichnen, während der Auftrag ausgeführt wurde.

Was ist der Unterschied zwischen Batch-Verarbeitung und Stream-Verarbeitung?

Während Batch-Systeme große Datenmengen und Anforderungen in sequentieller Reihenfolge verarbeiten, analysiert die Stream-Verarbeitung kontinuierlich Daten, die durch ein System oder zwischen Geräten fließen. Die Stream-Verarbeitung überwacht Echtzeitdaten und gibt sie kontinuierlich im Netzwerk weiter. Es erfordert mehr Rechenleistung, um die großen Datenmengen zu überwachen.

Wenn die Größe der gestreamten Daten nicht bekannt oder unendlich ist, ist Streaming von Daten möglicherweise der Stapelverarbeitung vorzuziehen. Daher wird die Stream-Verarbeitung häufig für Geschäftsfunktionen wie Cybersicherheit, Internet der Dinge (IoT), personalisierte Marketingservices und Protokollüberwachung verwendet.

Aufgrund ihrer sich ergänzenden Fähigkeiten haben einige Unternehmen ein hybrides System implementiert, das Batch-Verarbeitung und Stream-Verarbeitung in ihren täglichen Betrieb einbezieht.

Wie hilft AWS bei der Batch-Verarbeitung?

Mit AWS Batch können Sie bis zu 90 % bei der vollständig verwalteten Batch-Verarbeitung sparen. AWS Batch stellt dynamisch die optimale Menge und Art der Rechenressourcen bereit, z. B. CPU- oder speicheroptimierte Instances, und macht die Installation und Verwaltung der Infrastruktur eines Batch-Verarbeitungssystems überflüssig. So verwenden Sie weniger Zeit mit der Verwaltung der Infrastruktur und können mehr Zeit mit der Analyse von Ergebnissen und der Lösung von Problemen verbringen.

Sie können Ihre Batch-Workloads auch auf Amazon Elastic Compute Cloud (Amazon EC2)-Spot Instances ausführen. Amazon EC2-Spot Instances sind Ihre ungenutzte Amazon EC2-Kapazität, die mit bis zu 90 % Rabatt im Vergleich zu den Preisen für On-Demand-Instances verfügbar ist. Spot Instances eignen sich ideal für Batch-Verarbeitungsanwendungen, da Sie Hyperscale-Workloads mit erheblichen Kosteneinsparungen ausführen oder Ihre Workloads durch parallele Tasks beschleunigen können.

Beginnen Sie mit der Batch-Verarbeitung, indem Sie ein AWS-Konto erstellen.

Nächste Schritte mit Batch-Verarbeitung in AWS

Zusätzliche Computing-Ressourcen ansehen
Weitere Informationen zu Computing-Services 
Registrieren Sie sich für ein kostenloses Konto

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.

Kostenloses Konto erstellen 
Mit der Entwicklung in der Konsole beginnen

Beginnen Sie mit dem Entwickeln in AWS Batch in der AWS-Managementkonsole.

Anmelden