Vereinheitlichung von Batch und Streaming für die Datenintegration

streaming_data_integration

Bislang haben wir in dieser Reihe von Beiträgen die Grundlagen der Batch- und Streaming-Berechnungen sowie einige der Open-Source-Frameworks für Batch und Streaming vorgestellt. Der Vorteil eines einheitlichen Batch- und Streaming-Programmiermodells kann zu einer höheren Produktivität führen, da die Benutzer weniger Umgebungen erlernen und pflegen müssen. In einigen Fällen kann auch mehr Code wiederverwendet werden, da einige der Berechnungen, die für Batch eingesetzt werden, auch für Streaming verwendet werden können. In ähnlicher Weise kann der Vorteil einer einheitlichen Datenverarbeitungs-Engine die betriebliche Komplexität verringern.

Datenverarbeitungsprojekte wie Spark mit Spark Streaming und Flink versuchen, die Semantik von Batch- und Streaming-Daten zu vereinheitlichen. Diese Engines entwickeln sich sowohl in Bezug auf die Leistung als auch auf die Flexibilität weiter, so dass im Hinblick auf Datenintegrationsaufgaben mehrere Probleme gelöst werden müssen.

  1. Unterschiedliche Semantiken für verschiedene Modi: Während einige Datenverarbeitungs-Engines versuchen, in Bezug auf Stapelverarbeitung und Streaming universell zu werden, hat jede Engine unterschiedliche Semantiken für den Stapelverarbeitungsmodus und den Streaming-Modus. Für einige Anwendungen kann die Mikrostapelverarbeitung mit Spark Streaming geeignet sein, während andere Anwendungen jede Nachricht sofort verarbeiten müssen. Darüber hinaus haben diese Datenverarbeitungs-Engines unterschiedliche betriebliche Anforderungen, die Auswirkungen auf die Bereitstellung innerhalb einer bestehenden IT-Infrastruktur haben können.
  2. Robustheit und Ausgereiftheit: Diese Datenverarbeitungssysteme sind noch relativ jung, was ihre Robustheit und Reife angeht. MapReduce hat von vielen Jahren Produktionseinsatz, Fehlersuche und Open-Source-Entwicklung profitiert. Auch wenn die aufkommenden Engines vielversprechend sind, wird es einige Lücken in ihrer Anwendbarkeit und Stabilität geben. Die fortgesetzte Akzeptanz wird dazu beitragen, die Feedback-Schleife zu vergrößern und diese Engines letztendlich zu festigen.
  3. Grundlegende Konnektivität: Schließlich bieten diese Engines relativ einfache Schnittstellen und APIs für die Erstellung von Berechnungen. Aus Sicht der Integration können viele Arten von Operationen auf einer höheren Ebene spezifiziert werden. Außerdem geht es bei der Integration sowohl um die Datenverarbeitung als auch um die Verbindung mit einer großen Anzahl verschiedener Datenendpunkte. Die Datenverarbeitungs-Engines bieten nur eine grundlegende Konnektivität zu Datenendpunkten für eine begrenzte Anzahl von Endpunkten.

Bei SnapLogic sehen wir, dass die Vereinheitlichung von Batch und Streaming auf mehreren Ebenen stattfindet. Neue Datenverarbeitungs-Engines bieten eine einheitliche Semantik, aber diese Engines sind für eine weit verbreitete Nutzung der Datenintegration zu unausgereift. Unsere Elastic Integration Platform nutzt eine einheitliche Datenverarbeitungs-Engine und bietet gleichzeitig ein High-Level-Programmiermodell für die Schnittstelle zu mehreren Engine-Typen. So können Unternehmen die Vorteile moderner Hybrid-Engines nutzen und ihre Datenendpunkte mit einem visuellen Programmiermodell auf höherer Ebene verbinden.

Nächste Schritte:

Kategorie: Integration

Wir stellen ein!

Entdecken Sie Ihre nächste große Karrierechance.