Big-Data-Analysen in Echtzeit: Anwendungsfälle und Implementierungsoptionen

Big-Data-Analysen in Echtzeit: Anwendungsfälle und Implementierungsoptionen

November 1, 2021

Martin Anderson

Unabhängiger KI-Experte

Business Intelligence war traditionell ein "Offline"-Ansatz, bei dem historische Unternehmensdaten in regelmäßigen Abständen zu Berichten verarbeitet wurden. Infolgedessen blieben verwertbare Informationen über Trends und mögliche Probleme oft auf der Strecke; wenn kritische Trends schließlich ins Blickfeld gerieten, war es oft zu spät für ein rechtzeitiges Eingreifen.

Im Gegensatz dazu stellen Echtzeit-Big-Data-Lösungen, die ein Segment von Big-Data-Services bei Itransition bilden, einen "Live"-Blick auf kritische Unternehmensdatenströme in einer Reihe von möglichen Anwendungen, einschließlich Verkaufszahlen, Marketing-Reichweite, Verkehrsspitzen (auch als Ergänzung zur Cybersicherheit von unschätzbarem Wert), die Verfolgung interner Kennzahlen für die Mitarbeiterleistung, volatile Hochgeschwindigkeitsmärkte (wie den Aktienhandel), die Disposition von Einsatzflotten (von der militärischen Aufsicht bis hin zu Mitfahrdiensten) und die Betrugserkennung, neben vielen anderen möglichen Anwendungen.

prognostiziert, dass bis zum Jahr 2022 mehr als die Hälfte der wichtigsten neuen Geschäftssysteme Echtzeit-Datenanalysen enthalten werden.

In diesem Artikel werfen wir einen Blick auf einige geschäftliche Anwendungsfälle, potenzielle Vorteile und Möglichkeiten zur Implementierung von Big-Data-Analysen in Echtzeit

Was ist Echtzeit-Big-Data-Analytik?

Echtzeit-Big-Data-Analytik ist die sofortige Analyse strukturierter und unstrukturierter Daten, um dynamische und evidenzbasierte Entscheidungen zu ermöglichen. Big-Data-Analysen ermöglichen es Unternehmen, die Risikoüberwachung, Personalisierung, Betrugserkennung und Business Intelligence insgesamt zu verbessern.

Gewerbliche Anwendungsfälle

Es gibt mehr Anwendungsfälle für Echtzeit-Analytik, als wir hier vernünftigerweise untersuchen können. Schätzungen zufolge gibt es allein in der intelligenten Fertigung mindestens 865 Anwendungsbereiche für die Geschäftsanalytik, von denen die meisten (wie die Energieanalyse) in Echtzeit arbeiten und Anomalien melden müssen, während andere, wie data-storytelling, bei der Interpretation von Produktionsdaten helfen. Sehen wir uns dennoch einige beliebte Beispiele aus verschiedenen Sektoren an.

Web-Überwachung

Die Anbieter digitaler Dienste können bei Datenanomalien nicht auf ein historisches Post-Mortem warten. Anbieter von Netzinfrastrukturen wie Content Delivery Networks (CDNs), Netzbetreiber und Cybersicherheitsdienste benötigen beispielsweise sofortigen Zugang zu Informationen über neue Ausfallereignisse, um schnell reagieren und Abhilfe schaffen zu können.

Als einer der größten Betreiber im CDN-Bereich gehörte CloudFlare zu den ersten Befürwortern von Echtzeit-Big-Data-Analysen, sowohl im Hinblick auf interne Sicherheits- und Leistungsanalysetools als auch als Einnahmequelle in Echtzeit-Dashboards für seine zahlenden Kunden.

Im September 2021 führte das Unternehmen "Instant Logs" in seine live-aktualisierende Analysekonsole ein, die Analyse-Abonnenten eine 100-prozentige Echtzeit-Reflexion von Daten im kommerziellen Maßstab bietet.

Cloudfare instant logs
Cloudfare instant logs

Die "Instant Logs"-Funktionalität war zwar bereits in die Infrastruktur von CloudFlare integriert, erforderte aber einen hohen Einrichtungsaufwand für die Kunden. Die Innovation bestand hier darin, das Logpush-System des Unternehmens in einen einfach zu navigierenden Bereich der Schnittstelle zu integrieren. Auf diese Weise kann ein Kunde Anomalien wie 404-Fehler (fehlende Seiten) oder Traffic-Spitzen, die durch Werbung, Malware oder DDoS-Angriffe entstehen können, sofort untersuchen und entsprechende Maßnahmen ergreifen, bevor sich das Zeitfenster schließt.

Finanzmarktüberwachung

Bis zum Aufkommen von Echtzeit-Cybersicherheitsüberwachungssystemen und seismischen Überwachungssystemen war die Überwachung von Börsenkursen das vielleicht am intensivsten untersuchte und implementierte Echtzeit-Datensystem. Die Volatilität der Handelsmärkte erfordert eine sofortige Benachrichtigung über Aktienschwankungen, sowohl im Dienste automatisierter Handelsalgorithmen, die von Maschinenlernmodellen für den Aktienmarkt angetrieben werden, als auch um den Menschen auf dem Laufenden zu halten.

Eine besondere Herausforderung für die Entwickler von Datensystemen stellen Echtzeit-Finanzanwendungen dar, die nicht nur veränderte Werte melden, sondern auch Live-Analysen durchführen, da die Datenflut, die bei Öffnung und Schließung der Märkte in der ganzen Welt anfällt, im Laufe eines Arbeitstages weder in Bezug auf das Volumen noch auf die Herkunft konsistent ist.

Daher kann es notwendig sein, Risikoanalysen auf der Grundlage von reduzierten historischen Mustern von Markttrends und -verhalten durchzuführen und auch sicherzustellen, dass anomale neue Ereignisse nicht ignoriert werden, nur weil sie nicht zu früheren Ereignistrends passen.

Im Jahr 2005 wurden in einer vom MIT geleiteten Studie mit dem Titel The 8 Requirements of Real-Time Stream Processing acht zentrale Herausforderungen für Echtzeit-Streaming-Lösungen für den Finanzhandel aufgestellt, die sich seitdem kaum verändert haben:

  • Die Daten in Bewegung halten - Kontinuität der Analyse sicherstellen.
  • Bieten Sie SQL-Interpretierbarkeit von Daten - ermöglichen Sie leichtgewichtige, strukturierte Abfrageberechnungen in Echtzeit für Live-Daten.
  • Bewältigung von Stream-Imperfektionen - Fehlertoleranz für Ausfälle der Datenquelle oder nicht standardmäßige, unerwartete Fehler in der Ausgabe.
  • Hochverfügbarkeit - gewährleisten Sie minimale oder gar keine Ausfallzeiten, denn mangelnde Verfügbarkeit ist ein zerstörerischer Prozess für die Finanzmärkte.
  • Gespeicherte und gestreamte Daten - ermöglichen die Einspeisung neuester Daten in historischere Daten und erlauben gleichzeitig deren Interpretation im Zusammenhang mit älteren Daten.
  • Verteilung und Skalierbarkeit - machen Systeme resistent gegen unerwartetes Wachstum von Quellen und/oder Daten.
  • Sofortige Reaktion- in der Lage sein, Berichte und Berechnungen mit sehr geringer Latenz über Daten zu liefern, die Millionen von Punkten umfassen können.

Ein Streaming-Framework erfordert eine angemessene Bandbreite, niedrige Latenzzeiten und geeignete Interpretations- und Analysearchitekturen, die diese Elemente zu einem wirklich reaktionsschnellen Dashboard oder einer API zusammenfassen können. Dies ist bei weitem nicht nur den großen SaaS-Anbietern vorbehalten, sondern kann auch von kleineren Teams mit Open-Source-Software und angemessener Bandbreite umgesetzt werden.

Wege zur Implementierung von Big-Data-Analysen in Echtzeit

Hier sehen wir uns einige der Kernanforderungen für Echtzeit-Big-Data-Streaming an und vergleichen SaaS-Angebote "von der Stange" mit der Art und Weise, wie Open-Source-Software hocheffiziente interne Daten-Streaming-Implementierungen ermöglichen kann.

Echtzeit-Datenstromverarbeitung

Der Großteil der Daten in einem Echtzeit-Big-Data-Analytics-Framework ist historisch. Wie weit die Daten zurückreichen, hängt von der Konfiguration ab, die Sie Ihren Endbenutzern zur Verfügung stellen, und davon, inwieweit Ihre Back-End-Architektur in der Lage ist, große Datenmengen zu verarbeiten (oder aus älteren Daten breite Trends zu extrahieren, um die Verarbeitungslast zu verringern) und gleichzeitig ein Dashboard reaktionsfähig zu halten.

Die Entwicklung eines Echtzeit-Datenberichterstattungssystems hängt davon ab, ob es in der Lage ist, minutengenaue Ereignisse in diese Tranche älterer Daten zu "injizieren". Dies wird als Echtzeit-Datenstromverarbeitung (RTSP) bezeichnet, und es überrascht nicht, dass die größten Tech-Giganten bei dieser Technologie eine Vorreiterrolle spielen.

FAANG-Streaming-Angebote

Google Cloud bietet Dataflow, dessen Kerntechnologien seit 16 Jahren das Google Analytics-Framework des Suchmaschinenriesen antreiben. Eine typische Pipeline-Anwendung kann bis zu einem Dutzend anderer Frameworks und Filtermechanismen (siehe Bild unten) sowie Lastausgleichssysteme umfassen, um sicherzustellen, dass die Daten ausreichend aktuell sind.

Stream analytics using Google Dataflow

Auch wenn Google selbst erklärt hat, dass RTSP in der Lage sein muss, "Hunderte von Millionen von Ereignissen pro Stunde" zu bewältigen, sollte dies vor dem Hintergrund des großen Kundenstamms des Unternehmens betrachtet werden; nur ein sehr schlecht optimiertes typisches Unternehmensnetzwerk würde normalerweise eine solche Belastung tragen müssen.

Amazon vertreibt mit Amazon Kinesis einen ähnlichen Dienst, der neben vielen anderen Funktionen die Extraktion von Metriken und die Generierung von KPIs in Echtzeit bietet, von denen die meisten auch in konkurrierenden Produkten angeboten werden (oder entwickelt werden können).

Microsoft Azure verfügt über eine breite Palette von RTSP-Lösungen, darunter Azure Stream Analytics, HDInsight mit Spark Streaming und mehrere andere Mix-and-Match-Architekturen, die eine Vielzahl von Programmiersprachen unterstützen, darunter C#/F#, Java, Python, R und Scala. Daher hat ein Unternehmen, das eine Analyseplattform von Grund auf neu erstellen möchte, den Luxus, eine leistungsstarke Programmiersprache zu wählen, in der das Unternehmen bereits über Fachwissen verfügt, und einen Dienst zu nutzen, der auf diese Sprache zugeschnitten ist.

Zu den Kosten: Wie wir in diesem Blog beim Vergleich der SaaS-Dienste der FAANG bereits mehrfach festgestellt haben, lassen sich die Fähigkeiten und Funktionen der Anbieter von Hyperscale-Cloud-Diensten nur schwer direkt vergleichen, da sie nicht gleichmäßig verteilt oder gleichmäßig in Nutzschichten unterteilt sind.

Außerdem sind auch die Metriken für die Abrechnung (und sogar die Nutzungseinheiten) nicht immer direkt vergleichbar, und die Stream-Analytics-Preisseite von Microsoft Azure veranschaulicht eine Wahrheit, die für alle RTSP-Anbieter der FAANG gilt: Die Kosten hängen von dem Land ab, in dem das Framework betrieben wird, sowie von seinem Übergang in andere Rechtsordnungen (ein wahrscheinliches Szenario für globale Betreiber).

Open-Source-Stream-Verarbeitung

Die FAANG-Unternehmen bieten so etwas wie eine On-Demand-Funktionalität für die RTSP-Bedürfnisse eines Unternehmens, aber wie bei anderen Bereichen der Cloud-Infrastruktur bleibt ihre Hauptattraktion ihre enorme Netzwerk- und Verarbeitungskapazität. Ganz gleich, wie man die Preiskalkulationen von Google, Azure und Amazon (und vielen anderen) durchforstet, dieses Rentier-Modell ist zwangsläufig mit einem Preisaufschlag verbunden.

Wenn Ihr Unternehmen Kapazitäten vorhersehen kann und klar definierte Wachstumsziele hat, ist es möglich, die großen Cloud-Anbieter zu umgehen und eigene Echtzeit-Streaming-Systeme unter Verwendung von Open-Source-Repositories zu entwickeln - in den meisten Fällen die gleichen Repositories, die auch die FAANG-Angebote nutzen.

Apache

Die Open-Source-Serverangebote von Apache dominieren bei der Entwicklung eigener Echtzeit-Streaming-Systeme, wobei es mehrere prominente Konkurrenten für lokale, individuell erstellte Systeme gibt.

Der Apache Flink, der ursprünglich ein akademisches Projekt in Deutschland war, ist heute ein Apache-Projekt auf höchster Ebene, das RTSP mit blitzschnellen Aktualisierungsgeschwindigkeiten anbietet und riesige Mengen historischer Daten in Echtzeit mit extrem niedrigen Latenzzeiten durchläuft. Es ist außerdem eine der stabilsten und skalierbarsten FOSS-Echtzeit-Streaming-Lösungen und kann so eingestellt werden, dass nur brandneue Daten verarbeitet werden, was den Informationsfluss noch reaktionsschneller macht.

Flink kann sowohl begrenzte als auch unbegrenzte Daten verarbeiten, was bedeutet, dass es entweder missionsorientierte Projekte abschließen oder eine sich ständig aktualisierende Live-Streaming-Datenumgebung schaffen kann. Es ist eine gute Ergänzung zu Kafka (siehe unten) und einer Vielzahl anderer Frameworks, einschließlich Open-Source-Hadoop, und kann in einer Reihe von Sprachen implementiert werden, darunter SQL, Scala, Java und Python.

Bounded and unbounded capability range for Flink

Flink ist Teil einiger der ambitioniertesten und weitreichendsten globalen Daten-Frameworks und wird unter anderem von eBay, Huawei, Pinterest, Uber (siehe auch unten), AWS, Tencent, Capital One und Alibaba genutzt.

Das in Scala und Java geschriebene Apache Kafka ging 2011 aus einem LinkedIn-Projekt hervor und hat seitdem eine breite Nutzerbasis aufgebaut, zu der sogar einige der größten Tech-Dienstleister gehören. Uber bezeichnet seine umfangreiche Nutzung von Kafka als "Eckpfeiler" seines Technologie-Stacks. Das Framework ist für die Weitergabe und den Empfang von Millionen von Nachrichten täglich zwischen Fahrern und Kunden verantwortlich.

Uber’s Kafka ecosystem

Außerdem betreibt Kafka die internen Streaming-Analysesysteme von Uber, verarbeitet die Dateneingabe in die Hadoop-Datenbank des globalen Fahrdienstriesen und streamt Änderungsprotokolle an wichtige Akteure in der Überwachungs- und Wartungshierarchie von Uber.

Vielleicht am wichtigsten ist, dass diese beeindruckende Open-Source-Lösung auch das berühmte flexible Preissystem von Uber antreibt, das billigere Fahrten in Zeiten geringerer Nachfrage ermöglicht und den Fahrern die Möglichkeit gibt, von "Surge"-Preisen zu profitieren, wenn die Nachfrage das Angebot übersteigt.

The architecture of live and active surge pricing at Uber

Kafka wird bei Uber mit regionalen Clustern implementiert, die zu aggregierten Clustern weiterleiten, die einen globalen Überblick über die aktuellen Aktivitäten in den Gebieten, in denen Uber tätig ist, liefern können. Die Redundanz wird durch eine benutzerdefinierte Abspaltung des MirrorMaker-Pakets von Kafka gewährleistet.

Kafka wird auch von LinkedIn verwendet, um operative Metriken zu verfolgen und Berichte über die sieben Billionen Nachrichten zu erstellen, die jeden Tag übermittelt werden, während Twitter Kafka mit Apache Storm kombiniert, um ein Stream-Processing-Framework zu schaffen. Kafka ist auch eine hervorragende Lösung für IoT-Anwendungsfälle, wobei neuere Versionen Disaster Recovery und eine geringere Abhängigkeit von Java bieten.

Andere Angebote aus Apaches leistungsfähigem RTSP-Angebot sind Apache Storm, ein Echtzeit-Berechnungssystem, das mit einer Million Tupel pro Sekunde pro Knoten arbeiten kann und MapReduce-Operationen auf einer Live-Basis bietet, die auf Hadoop YARN läuft; und Apache Samza, ein verteiltes Stream-Processing-Framework, das von Kafka und YARN abgeleitet ist und einen schnellen Durchsatz für eine Reihe namhafter Unternehmen bietet, darunter der CDN-Anbieter Optimizely, der Immobilienmakler Redfin, Slack und TripAdvisor, um nur einige zu nennen.

Selbst machen?

In diesem Artikel konnte nur ein Überblick über die wichtigsten FOSS-Live-Streaming-Lösungen gegeben werden, aber alle verfügen über Community-Ressourcen und eine Reihe von Erweiterungssoftware und -projekten, und alle können an die Bedürfnisse eines Unternehmens angepasst werden (wie es viele der oben genannten Unternehmen getan haben), ohne dass die Kosten für kommerzielle Cloud-basierte Rahmenlösungen in großem Umfang anfallen.

Auch wenn man die FAANG-Bereitstellung für die architektonische Infrastruktur für das Live-Daten-Streaming vermeidet, sollte man bedenken, dass man in Bezug auf die Netzwerkarchitektur oft nicht an den Giganten vorbeikommt, vor allem nicht an dominanten Akteuren wie AWS, deren architektonische Lösungen diesen Prozess in einer Weise rationalisieren, die auf unabhängiger Ebene nur schwer zu replizieren ist. Interne Projekte benötigen mehr Entwicklungsressourcen im Vorfeld und die Bereitschaft, eine steile Lernkurve in Bezug auf Lastausgleich und Latenzentwicklung zu durchlaufen.

Allerdings stellen kundenspezifische Lösungen, die von Datenanalyse-Beratungsunternehmen bereitgestellt werden, den Unterschied zwischen dem Besitz und der Miete Ihrer Business Intelligence-Architektur dar - mit allen Auswirkungen auf die endgültige Rentabilität, die mit dedizierten lokalen Lösungen verbunden sind.