Streaming-Datenpipelines können aus verschiedenen Gründen ausfallen. Da die Quelldaten, wie z.B. Kafka-Themen, oft eine begrenzte Aufbewahrungsfrist haben, können längere Jobausfälle zu Datenverlust führen. Daher müssen Streaming-Jobs jederzeit nachfüllbar sein, um Datenverlust im Falle von Ausfällen zu verhindern.
Eine Lösung besteht darin, die Aufbewahrungsfrist der Quelle zu erhöhen, sodass das Nachfüllen einfach das Wiedergeben von Quellstreams ist, aber die Verlängerung der Kafka-Aufbewahrungsfrist ist für die Datenmengen von Netflix sehr kostspielig. Eine andere Lösung besteht darin, Quelldaten zu nutzen, die im DWH gespeichert sind, was allgemein als Lambda-Architektur bekannt ist. Diese Methode führt jedoch zu erheblicher Code-Duplikation, da sie erfordert, dass Ingenieure einen separaten äquivalenten Batch-Job pflegen.
Bei Netflix haben wir den Iceberg Source Connector entwickelt, um Nachfüllmöglichkeiten für Flink-Streaming-Anwendungen bereitzustellen. Er ermöglicht es Flink, Daten, die in Apache Iceberg gespeichert sind, zu streamen und dabei die Ordnungssemantik von Kafka zu spiegeln, was es uns ermöglicht, groß angelegte zustandsbehaftete Flink-Pipelines zu geringen Aufbewahrungskosten nachzufüllen.
Verbinden Sie sich mit uns: