Batch vs. Streaming: das richtige Paradigma wählen
Das 12-Millionen-Dollar-Refresh, das niemand angesehen hat
2019 baute ein großererDas Verhältnis von Interaktionen (Likes, Kommentare, Shares) zur Reichweite eines Inhalts. Zeigt, wie stark die Zielgruppe reagiert, gemessen an der Zahl der Personen, die den Inhalt gesehen haben.Vollständige Definition ansehen → nordamerikanischer Einzelhändler seine Bestandsanalytik auf einem vollständigen Streaming-Stack neu auf, Kafka, Flink, das ganze Programm, damit Filialleiter Bestände "in Echtzeit" sehen konnten. Achtzehn Monate und rund 12 Millionen Dollar später förderte ein internes Audit die hässliche Wahrheit zutage: Der mediane Filialleiter sah sich die Bestands-Dashboards einmal pro Schicht an, und Nachbestellentscheidungen waren an einen nächtlichen Nachschubzyklus gekoppelt, der ohnehin um 2 Uhr morgens lief. Das Unternehmen hatte Latenz im Subsekundenbereich für eine Entscheidung gekauft, die sich einmal täglich bewegte. Die Streaming-PipelinePipelineAlle aktiven Verkaufschancen über die Phasen des Vertriebsprozesses hinweg, zusammen mit ihrem gesamten potenziellen Wert und ihrer Abschlusswahrscheinlichkeit.Vollständige Definition ansehen → war ein Ferrari, der auf einem Parkplatz im Leerlauf stand.
Das ist die Falle. Streaming ist zum Statussymbol geworden, zum Beweis, dass eine Datenorganisation "modern" ist. Aber Latenz ist ein Kostenfaktor, keine Tugend. Ihre Aufgabe als CDO ist nicht, Latenz zu minimieren; sie besteht darin, Latenz an die Entscheidung anzupassen, die sie konsumiert. Bauen Sie zu groß, verbrennen Sie Budget und Personal für operative Komplexität, nach der niemand gefragt hat. Bauen Sie zu klein, erwürgen Sie einen Use Case, Betrugserkennung, dynamisches Pricing, Flottensteuerung, der ohne Aktualität tatsächlich stirbt.
Diese Lektion liefert Ihnen das Entscheidungs-Framework und die operative Disziplin, um diese Zuordnung richtig hinzubekommen.
Das Framework der Entscheidungslatenz
Hören Sie auf zu fragen "sollte das in Echtzeit laufen?" Das ist die falsche Frage, weil sie von technischer Begeisterung beantwortet wird. Fragen Sie stattdessen: Wie hoch ist die Entscheidungslatenz des konsumierenden Prozesses?
Entscheidungslatenz ist die Zeit zwischen dem Eintreten eines Ereignisses und dem Moment, in dem ein Mensch oder System tatsächlich so *handeln* kann, dass sich ein Ergebnis ändert. Sie hat drei Komponenten, die Sie getrennt hinterfragen müssen:
- Datenaktualität, wie schnell die Daten ankommen kkDie durchschnittliche Zahl neuer Nutzer, die jeder bestehende Nutzer über Empfehlungen generiert. Über 1,0 verstärkt sich das Wachstum selbst und wird exponentiell.Vollständige Definition ansehen →önnen.
- Entscheidungstakt, wie oft der konsumierende Prozess tatsächlich eine Wahl trifft.
- Handlungslatenz, wie lange die Ausführung nach der Entscheidung dauert.
**Die bindende Restriktion ist die *langsamste* der drei**. Der Einzelhändler oben hatte Aktualität unter einer Minute, einen Entscheidungstakt von einmal täglich und eine Handlungslatenz (physischer Nachschub), die in Stunden gemessen wurde. Aktualität war nie der Engpass. Geld dafür auszugeben, war ökonomischer Analphabetismus.
Daraus folgt diese Regel: Aktualität lohnt sich nur bis zu dem Punkt, an dem sie aufhört, die bindende Restriktion zu sein. Darüber hinaus bringt jeder Dollar Latenzreduktion null Entscheidungsverbesserung.
Die Wertverfallskurve
Zeichnen Sie für jeden Use Case auf, wie der Wert eines Datenpunkts mit dem Alter verfällt. Die Form sagt Ihnen das Paradigma.
- Klippenverfall, der Wert fällt innerhalb von Sekunden bis Minuten auf nahezu null. Betrugsautorisierung, Ad Bidding, algorithmischer Handel, Flottendisposition, anomaliegetriggerte Sicherheitsabschaltungen. Hier ist Streaming kein Luxus; verspätete Daten sind *wertlose* Daten. Ein Fraud Score, der 400 ms nach der Freigabe der Transaktion geliefert wird, ist ein Report, keine Kontrolle.
- Linearer Verfall, der Wert erodiert stetig über Stunden. Operatives Monitoring, taggleiche Supply Chain, Kundenservice-Kontext. Micro-Batch (Intervalle von 1 bis 15 Minuten) gewinnt hier meist: der größte Teil des Werts bei einem Bruchteil der Komplexität.
- Flach-dann-Abfall, der Wert ist einen Tag oder länger stabil und zählt dann an einer festen Grenze. Financial Close, regulatorisches Reporting, wöchentliche Kohortenanalyse, Model Retraining. Nächtlicher Batch ist hier kein Kompromiss; er ist das *korrekte* Engineering.
Der Fehler, den CDOs machen, ist, die Wertverfallskurve als Eigenschaft der *Daten* zu behandeln ("Transaktionen sind wichtig, also müssen sie in Echtzeit laufen"). **Sie ist eine Eigenschaft der *Entscheidung, die die Daten konsumiert***. Derselbe Transaktionsdatensatz speist aus derselben Quelle eine Betrugsprüfung mit Klippenverfall *und* einen Quartalsumsatzbericht mit flachem Verfall. Die eine verlangt Streaming; der andere darf es nicht nutzen.
Streaming vs. Batch Processing Explained
Die Gesamtkosten der Latenz
Der Ferrari ist nicht nur teuer in der Anschaffung. Er ist teuer im *Unterhalt*, und bei diesen Betriebskosten lügen die meisten CDO-Business-Cases stillschweigend.
Batch-Systeme haben einen gnädigen Fehlermodus: Ein Job stirbt um 2 Uhr morgens, Sie werden gepaged, Sie starten ihn neu, und um 6 Uhr sieht die Welt gleich aus. Idempotente Reruns, klare Checkpoints, einfache Backfills. Streaming-Systeme kennen keine solche Gnade. Sie fallen kontinuierlich und im Flug aus, was Kostenkategorien einführt, die auf der ersten Architekturfolie nie auftauchen:
- Exactly-once-Semantik. Zu garantieren, dass jedes Event genau einmal verarbeitet wird, nicht null Mal, nicht zweimal, und das bei Teilausfällen, ist wirklich schwer. Ein Fehler hier bedeutet doppelt belastete Kunden oder doppelt gezählte Kennzahlen.
- Out-of-order und verspätet eintreffende Events. Echte Event-Streams kommen nicht in Reihenfolge an. Sie brauchen Watermarking- und Windowing-Logik, um zu entscheiden, wie lange Sie auf Nachzügler warten, bevor Sie ein Window schließen, ein Tradeoff zwischen Vollständigkeit und Latenz, für den es keine kostenlose Antwort gibt.
- Backpressure und Replay. Wenn ein Downstream-Consumer langsamer wird, muss die gesamte Pipeline kontrolliert degradieren, sonst verlieren Sie Daten. Die Erholung von einem Bug bedeutet Replay ab einem Offset, was voraussetzt, dass Sie den Rohstream aufbewahrt haben.
- On-Call-Realität. Streaming ist eine operative 24/7-Verpflichtung. Ein nächtlicher Batch hat ein Wartungsfenster; ein Stream schläft nie. Budgetieren Sie die Rufbereitschaft und den Burnout, nicht nur das Cluster.
Eine nützliche Faustregel von Teams, die beides betrieben haben: Eine produktive Streaming-Pipeline kostet ungefähr das 3- bis 5-Fache des gesamten Betriebsaufwands einer äquivalenten Batch-Pipeline, wenn man On-Call, Testkomplexität und den Aufschlag für spezialisierte Talente einrechnet. Dieser Multiplikator ist Ihre Hurdle RateHurdle RateDie Mischrendite, die ein Unternehmen erzielen muss, um alle Kapitalgeber (Kreditgeber und Aktionäre) zufriedenzustellen. Sie setzt die Messlatte für jede Investition.Vollständige Definition ansehen →. Der Streaming-Use-Case muss mindestens den 3- bis 5-fachen *Entscheidungswert* der Batch-Alternative erzeugen, um überhaupt die Nulllinie zu erreichen, bevor Sie einen Dollar Upside verdient haben.
Das rahmt den Business Case neu. Die Frage lautet nicht "können wir es uns leisten, Streaming zu bauen?" Sie lautet: "Übersteigt der marginale Entscheidungswert aus frischeren Daten ein 4-faches Kostenvielfaches?" Für Betrugserkennung, dynamisches Pricing im großen MaMaEinsatz von Software, um wiederkehrende Marketingaufgaben und Kampagnen zu automatisieren und Personalisierung in großem Maßstab über Kanäle wie E-Mail, Web und Social zu ermöglichen.Vollständige Definition ansehen →ßstab oder Echtzeit-Personalisierung auf einer stark frequentierten Property: locker ja. Für ein internes Ops-Dashboard, auf das zweimal täglich geschaut wird: fast nie.
Die Micro-Batch-Mitte
Die meisten CDOs rahmen das binär. Ist es nicht. Micro-Batch, also Batch-Jobs in engen Intervallen (alle 1, 5 oder 15 Minuten), greift den Großteil des Aktualitätsvorteils von Streaming ab und behält dabei die operative Vernunft von Batch: Reruns bleiben einfach, die Semantik ist simpler, und Sie behalten eine normale Wartungshaltung.
Das architektonische Signal ist geradlinig:
# Micro-batch: still batch semantics, near-real-time cadence.
# You get idempotent reruns and simple checkpointing.
spark.readStream \
.format("delta") \
.load("/events/transactions") \
.writeStream \
.trigger(processingTime="5 minutes") \
.foreachBatch(upsert_to_warehouse) \
.start()Ändern Sie processingTime auf "1 minute" und Sie sind enger dran; setzen Sie es auf availableNow=True und Sie sind zurück beim geplanten Batch, *derselbe Code*. Das ist der Punkt: Micro-Batch lässt Sie am Aktualitätsregler drehen, ohne sich auf das volle operative Gewicht von kontinuierlichem Streaming festzulegen. Ein großer Teil der Use Cases, die in Anforderungsdokumenten als "Echtzeit" bezeichnet werden, ist mit einem 5-Minuten-Micro-Batch vollständig bedient. Greifen Sie nur dann zu echtem Event-für-Event-Streaming, wenn die Wertverfallskurve eine echte Klippe ist *und* Ihre Handlungslatenz Aktualität unter einer Minute tatsächlich ausnutzen kann.
Die Entscheidung am Montagmorgen durchziehen
Hier ist die Abfolge, die Sie durchlaufen, wenn ein Stakeholder "Echtzeit" fordert.
1. Erzwingen Sie das Gespräch über Entscheidungslatenz. Fragen Sie: "Wenn diese Daten frischer sind, welche konkrete Entscheidung ändert sich, wer trifft sie, und wie oft?" Wenn die Entscheidung nicht benannt werden kann, ist die Anforderung ein Wunsch, keine Realität. In neun von zehn Fällen heißt "Echtzeit" nichts anderes als "ich habe die veralteten Dashboards satt", ein Datenqualitäts- oder Refresh-Frequenz-Problem, kein Paradigmenproblem.
2. Finden Sie die bindende Restriktion. Kartieren Sie die drei Latenzkomponenten. Wenn die Handlungslatenz (eine menschliche Freigabe, ein physischer Prozess, ein nachgelagerter nächtlicher Job) dominiert, ist Aktualität upstream verschwendet. Die Nachschubsperre des Einzelhändlers machte das im Rückblick offensichtlich; machen Sie es *vorab* offensichtlich.
3. Bepreisen Sie den Entscheidungswert. Schätzen Sie den Zusatzwert, N Minuten früher zu handeln. Betrugserkennung hat eine saubere Zahl: verhinderter Schaden in Dollar pro Minute schnellerer Erkennung. Dynamisches Pricing: Umsatzhebung pro Pricing-Zyklus. Ist die Zahl unscharf oder klein, haben Sie Ihre Antwort.
4. Wenden Sie den Multiplikator an. Übersteigt der Entscheidungswert die Hürde der 3- bis 5-fachen Betriebskosten gegenüber der Micro-Batch-Alternative? Wenn nicht, liefern Sie Micro-Batch aus und gehen Sie weiter.
5. Wählen Sie im Zweifel das einfachere Paradigma. Bei echter Unsicherheit nehmen Sie die Option mit weniger Komplexität. Sie können ein Micro-Batch-Intervall jederzeit verkürzen oder eine Pipeline später auf Streaming hochstufen. Einen überkonstruierten Streaming-Stack zurückzubauen, von dem inzwischen drei Teams abhängen, ist ein politischer und technischer Albtraum.
Die Portfolio-Sicht
Sie wählen nicht *ein* Paradigma für die Organisation. Sie managen ein Portfolio, und die erfolgreiche Architektur betreibt meist beides gegen dieselben Quelldaten, das Muster, das Sie als Zwei-Spuren-Design kennen, bei dem eine schnelle Serving-Schicht Klippenverfall-Entscheidungen bedient und eine Batch-Schicht den maßgeblichen, abgestimmten Datensatz erzeugt.
Die CDO-Disziplin ist Platzierung: zu entscheiden, welcher Use Case auf welcher Spur sitzt, und sich zu weigern, technische Begeisterung oder Vorstandsmoden Workloads mit flachem Verfall auf teure Infrastruktur ziehen zu lassen. Führen Sie ein einfaches Register, halten Sie für jedes wichtige Datenprodukt Verfallsform, bindende Restriktion, gewähltes Paradigma und den rechtfertigenden Entscheidungswert fest. Ziehen Sie es heran, wenn jemand ein Upgrade verlangt. Damit wird aus "sollte das Streaming sein?" statt einer wiederkehrenden emotionalen Debatte eine geregelte, evidenzbasierte Entscheidung.
Noch eine Falle sei benannt: Freshness Theater. Führungskräfte lieben eine Dashboard-Kachel, die jede Sekunde tickt. Es *fühlt* sich modern an. Es treibt Streaming-Investitionen, die von keiner Entscheidung getragen werden. Wenn Sie eine Echtzeit-Visualisierung sehen, deren zugrunde liegende Entscheidung sich täglich bewegt, sehen Sie Kosten, die als Fähigkeit verkleidet sind. Stellen Sie sie ein oder stufen Sie sie auf Micro-Batch zurück, und setzen Sie die Ersparnis für einen Use Case ein, der auf der Klippe lebt.
Wissenscheck
1. Welche Frage sollte ein CDO laut Lektion stellen, wenn er zwischen Batch und Streaming entscheidet?
2. Welcher Faktor bestimmt im Framework der Entscheidungslatenz die bindende Restriktion?
3. Warum wurde die Investition in Aktualität unter einer Minute im Einzelhandelsbeispiel als "ökonomischer Analphabetismus" bezeichnet?
4. Wählen Sie ALLE Aussagen, die die Sicht der Lektion auf Latenz und Streaming widerspiegeln.
Wählen Sie alle richtigen Antworten aus.
5. Wählen Sie ALLE Komponenten, aus denen sich die Entscheidungslatenz laut Lektion zusammensetzt.
Wählen Sie alle richtigen Antworten aus.
Wenn Batch die mutigere Wahl ist
Es gibt eine kulturelle Dimension, die Führungskräfte unterschätzen. In vielen Datenorganisationen gilt die Wahl von Batch als Wahl des *Rückstands*. Ehrgeizige Engineers wollen Streaming im Lebenslauf; Anbieter verkaufen es als Grundvoraussetzung; der Vorstand hat einen McKinsey-Artikel über Echtzeitunternehmen gelesen. Der Druck geht nur in eine Richtung.
Eine Batch-Entscheidung zu verteidigen oder eine Streaming-Ambition auf Micro-Batch herunterzustufen, verlangt mehr organisatorischen Mut als das Absegnen des Glänzenden. Aber es ist häufig die Entscheidung mit dem besseren Urteil. Die 12-Millionen-Lektion des Einzelhändlers war kein Technologieversagen; jede Komponente funktionierte wie entworfen. Es war ein Platzierungsversagen und ein Mutversagen: Niemand mit ausreichend Rang fragte, ob sich die Entscheidung, die die Pipeline speiste, überhaupt schnell genug bewegte, um sie zu rechtfertigen.
Ihre Glaubwürdigkeit als CDO beruht zum Teil darauf, zu anspruchsvollen Dingen aus unanspruchsvollen Gründen nein zu sagen. Wenn Sie es ablehnen, einen Workload zu streamen, dokumentieren Sie die Entscheidungslatenz-Logik und den Kostenmultiplikator. Diese Aktenlage macht aus einer "konservativen" Wahl eine belegbare, quantifizierte, und schützt Sie, wenn der Modezyklus dreht und jemand fragt, warum das Unternehmen nicht "überall Echtzeit" ist.
Der umgekehrte Mut zählt ebenso. Wenn ein Use Case tatsächlich auf der Klippe lebt, Betrugserkennung, Sicherheit, Real-time Bidding, und jemand Geld sparen will, indem er ihn in nächtlichen Batch zwingt, müssen Sie in die andere Richtung genauso hart kämpfen. Einen Klippenverfall-Use-Case von Aktualität abzuschneiden ist keine Sparsamkeit; es bedeutet, ein Kontrollsystem auszuliefern, das nach dem Ereignis eintrifft, das es verhindern sollte. Das ist schlimmer, als es gar nicht zu bauen, weil es falsches Vertrauen erzeugt.
Die wichtigsten Erkenntnisse
- Passen Sie Latenz an die Entscheidungslatenz an, nicht an den Ehrgeiz. Kaufen Sie Aktualität nur so lange, bis sie aufhört, die bindende Restriktion unter Datenaktualität, Entscheidungstakt und Handlungslatenz zu sein. Ab da bringt jeder Latenz-Dollar null.
- Klassifizieren Sie nach Wertverfallsform, pro Entscheidung, nicht pro Datensatz. Klippenverfall → Streaming. Linearer Verfall → Micro-Batch. Flach-dann-Abfall → Batch. Dieselbe Quelle speist verschiedene Entscheidungen auf verschiedenen Spuren; behandeln Sie Platzierung als Ihre zentrale CDO-Disziplin.
- Wenden Sie den 3- bis 5-fachen Kostenmultiplikator als Hurdle Rate an. Die wahren Kosten von Streaming, Exactly-once-Semantik, Umgang mit Out-of-order, Replay, 24/7-On-Call, liegen um ein Mehrfaches über einem Batch-Äquivalent. Der Use Case muss dieses Vielfache im zusätzlichen Entscheidungswert überspringen, bevor Sie sich festlegen.
- Wählen Sie im Zweifel Micro-Batch. Ein 5-Minuten-Intervall erfüllt die meisten "Echtzeit"-Anforderungen mit operativer Vernunft auf Batch-Niveau, und derselbe Code lässt sich von geplantem Batch bis nahe Echtzeit justieren. Stufen Sie nur bei echten Klippen auf echtes Streaming hoch.
- Beenden Sie Freshness Theater und haben Sie den Mut, Batch zu verteidigen. Ein Echtzeit-Dashboard, das eine tägliche Entscheidung speist, ist Kosten in der Verkleidung von Fähigkeit. Dokumentieren Sie die Entscheidungslatenz-Logik hinter jeder Paradigmenwahl, damit eine konservative Entscheidung zu einer quantifizierten, belegbaren wird.
Was Sie aus dieser Lektion umsetzen
Diese Maßnahmen sind im Playbook der Rolle zusammengefasst.
- Die Latenz jeder Data Pipeline an die Decision-Decay-Kurve anpassen
- Standardmäßig Micro-Batch, echtes Streaming nur bei echten Cliffs
Verwandte Artikel
Aktuelle Blogartikel, die auf dieser Lektion aufbauen.
- DataEchtzeit-Streaming-Daten: ein CDO-Playbook für die richtige UmsetzungDie meisten Unternehmen sammeln Streaming-Daten, aber nur wenige handeln schnell genug, damit es etwas bringt. Dieses Playbook gibt CDOs eine konkrete Reihenfolge für den Aufbau einer Echtzeit-Datenfähigkeit, die operativen Nutzen liefert statt nur architektonischer Komplexität.
- DataFeature Stores und die ML-Datenlieferkette: was CDOs wirklich verstehen müssenFeature Stores lösen ein Problem, das die meisten Organisationen zu spät entdecken: die schmerzhafte Lücke zwischen Rohdaten und produktionsreifen ML-Inputs. Bevor man sich auf einen festlegt, sollte man die Mechanik und die ehrlichen Tradeoffs kennen.
- DataFeature Stores und die ML-Data-Supply-Chain: was CDOs wirklich verstehen müssenFeature Stores lösen eines der teuersten und am wenigsten sichtbaren Probleme im Enterprise-ML: die wiederholte, inkonsistente Umwandlung von Rohdaten in modellfähige Inputs. Zu verstehen, wie sie funktionieren und wann sich die Investition lohnt, gehört inzwischen zum Kerngebiet des CDO.