Übersicht (StreamInsight)

Microsoft StreamInsight stellt eine leistungsstarke Plattform zum Entwickeln und Bereitstellen von komplexen Ereignisverarbeitungsanwendungen (Complex Event Processing, CEP) bereit. CEP ist eine Technologie für die Verarbeitung von Ereignisdatenströmen mit einem hohen Durchsatz und einer niedrigen Latenzzeit. Typische Ereignisdatenstromquellen sind Daten aus Herstellungsanwendungen, Anwendungen für finanzielle Transaktionen, Webanalysen oder Betriebsanalysen. Die StreamInsight-Datenstromverarbeitungsarchitektur und die vertraute, auf .NET basierende Entwicklungsplattform ermöglichen Entwicklern die schnelle Implementierung robuster und hoch effizienter Anwendungen zur Ereignisverarbeitung.

StreamInsight verfügt über folgende wesentliche Vorteile:

  • Hoch optimierte Leistung und hoch optimierter Datendurchsatz

    StreamInsight implementiert eine vereinfachte Streamingarchitektur, die die hoch parallele Ausführung kontinuierlicher Abfragen über Hochgeschwindigkeitsdaten unterstützt. Die Verwendung von Caches im Arbeitsspeicher und der inkrementellen Ergebnisberechnung stellen eine ausgezeichnete Leistung mit hohem Datendurchsatz und niedriger Latenz bereit. Die Niedrige Latenzzeit wird erreicht, da die Ereignisse ohne kostspielige Datenlasten oder Speichervorgänge im kritischen Verarbeitungspfad verarbeitet werden. Mit StreamInsight wird die gesamte Verarbeitung automatisch durch eingehende Ereignisse ausgelöst. Insbesondere entsteht für Anwendungen kein Aufwand für den Ereignisabruf. Die Plattform stellt die Funktionalität zum Behandeln von Ereignissen außerhalb der Reihenfolge bereit. Außerdem kann auf statische Verweise oder Vergangenheitsdaten zugegriffen werden, die in die Analyse mit niedriger Latenzzeit eingeschlossen werden können.

  • .NET-Entwicklungsumgebung

    Entwickler können ihre CEP-Anwendungen mittels der .NET-Sprache von Microsoft schreiben, wie Visual C#, und damit die erweiterte Sprachplattform LINQ (Language Integrated Query) als eingebettete Abfragesprache nutzen. Angesichts der großen Community von Entwicklern, die mit diesen Technologien bereits vertraut sind, reduziert diese Funktion die Entwicklungskosten sowie die Zeit von der Anwendungsentwicklung bis zur Produktion. In der aktuellen Version unterstützt StreamInsight nur C# als Hostsprache.

    Mit LINQ sind mit SQL vertraute Entwickler in der Lage, schnell Abfragen auf eine deklarative Weise zu schreiben, die Daten aus mehreren Datenströmen zu sinnvollen Ergebnissen verarbeiten und korrelieren. Der Optimierer und der Planer des StreamInsight-Servers stellen ihrerseits eine optimale Abfrageleistung sicher.

  • Flexible Bereitstellungsfunktion

    StreamInsight unterstützt drei Bereitstellungsszenarien:

    • Vollständige Integration in die Anwendung als gehostete (eingebettete) DLL

    • Als eigenständiger Server mit mehreren Anwendungen und Benutzern, die den Server gemeinsam verwenden In der eigenständigen Konfiguration wird der StreamInsight-Server in einem Wrapper ausgeführt, z. B. einer ausführbaren Datei, oder der Server wird als Windows-Dienst verpackt.

    • Der gehostete oder eigenständige StreamInsight-Server kann Teil einer Serverfarm sein.

  • Verwaltbarkeit

    • Die Überwachungs- und Verwaltbarkeitsfunktionen, die in den StreamInsight-Server integriert sind, sorgen für niedrige Gesamtkosten (TCO) für CEP-Anwendungen. Die Verwaltungsschnittstellen- und Diagnosesichten, die im StreamInsight-Server bereitgestellt werden, ermöglichen dem Administrator die Überwachung und Verwaltung der CEP-Anwendung. Das Verwaltbarkeitsframework erlaubt außerdem ISVs und Systemintegratoren die Remoteüberwachung und -unterstützung von mittels StreamInsight bereitgestellten Systemen bei der Fertigung und anderen horizontalen Skalierungsinstallationen.

    • StreamInsight stellt einen eigenständigen Ereignisflussdebugger bereit, der verwendet werden kann, um die in StreamInsight-Anwendungen verwendeten Abfragen zu analysieren, Diagnosen zu erstellen sowie Fehler in diesen zu beheben.

CEP-Szenarien

Die Verarbeitung von Ereignisdatenströmen mit einem hohen Durchsatz und einer niedrigen Latenzzeit ist häufig in den folgenden Geschäftsszenarien erforderlich:

  • Überwachung und Steuerung von Fertigungsprozessen

  • Klickstreamanalysen

  • Finanzdienstleistungen

  • Energieversorgungseinrichtungen

  • Gesundheitswesen

  • IT-Überwachung

  • Logistik

  • Telekommunikation

In den folgenden Abschnitten werden einige dieser Szenarien erläutert und deren Anforderungen an die Ereignisverarbeitung untersucht.

Überwachung und Steuerung von Fertigungsprozessen

Um sicherzustellen, dass Produkte und Prozesse optimal und mit der geringstmöglichen Ausfallzeit ausgeführt werden, benötigen Fertigungsunternehmen eine Datensammlung und -analyse mit niedriger Latenzzeit für Fertigungsgeräte und Sensoren. Das typische Fertigungsszenario schließt die folgenden Anforderungen ein:

  • Ressourcenbasierte Überwachung und Aggregation computergenerierter Daten

  • Sensorbasierte Beobachtung von Fertigungsaktivitäten und -ergebnissen

  • Beobachtung und Reaktion mittels Gerätecontrollern

  • Fähigkeit, bis zu 10.000 Datenereignisse pro Sekunde zu verarbeiten

  • Generierung von Ereignissen und Benachrichtigungen in dem Moment, in dem der Fehler auftritt

  • Proaktive, bedingungsbasierte Wartung für die wesentliche Ausrüstung

  • Analysen der aggregierten Daten mit einer niedrigen Latenzzeit (Fensterfunktionen und Protokolle)

Klickstreamanalysen

Eine optimale Kundenerfahrung auf einer kommerziellen Website erfordert die Verarbeitung des Benutzerverhaltens und der Interaktionen auf der Website mit einer niedrigen Latenzzeit. Die typische Klickdatenstromanalyse-Anwendung schließt die folgenden Anforderungen ein:

  • Fähigkeit, Seitenlayout, Navigation und Präsentation auf Grundlage einer Klickdatenstromanalyse mit einer niedrigen Latenzzeit zu verarbeiten

  • Fähigkeit, bis zu 100.000 Datenereignisse pro Sekunde während Zeiten mit hohem Verkehr zu verarbeiten

  • Sofortige Klickdatenstrom-Mustererkennung und Antwort mit gezielter Werbung

Algorithmischer Handel in einer Finanzdienstleistungsumgebung

Der algorithmischer Handel mit seinen hohen Anforderungen an die Volumendatenverarbeitung schließt in der Regel die folgenden Anforderungen ein:

  • Fähigkeit, bis zu 100.000 Datenereignisse pro Sekunde zu verarbeiten

  • Zeitkritische Abfrageverarbeitung

  • Überwachung und Nutzung aktueller Marktbedingungen bei sehr kurzen Zeitspannen für deren Nutzung

  • Intelligentes Filtern von Eingabedaten

  • Fähigkeit, Muster über mehrere Datenquellen zu definieren und über die Zeit automatisch Entscheidungen über Kauf/Verkauf/Halten von Anlagen in einem Portfolio zu treffen

Energieversorgungseinrichtungen

Die Energieversorgung erfordert eine effiziente Infrastruktur für die Verwaltung von elektrischen Rastern und anderen Versorgungsdienstleistungen. Diese Systeme haben in der Regel folgende Anforderungen:

  • Sofortige Antwort auf Veränderungen im Energie- oder Wasserverbrauch, um Ausfälle oder andere Unterbrechungen der Versorgung zu minimieren.

  • Erzielen betrieblicher und umweltbezogener Vorteile durch die Migrierung zu intelligenten Rastern.

  • Mehrere Ebenen von Aggregation im Raster

  • Fähigkeit, bis zu 100.000 Ereignisse pro Sekunde aus Millionen von Datenquellen zu verarbeiten

Siehe auch

Konzepte

StreamInsight-Serverarchitektur

StreamInsight-Serverkonzepte