Stackable

Demos

Demos

favicon

Stackable Demos

Einsatzmöglichkeiten der Stackable Data Platform

Die nachfolgenden Anwendungsbeispiele demonstrieren, wie einfach und flexibel sich die Stackable Data Platform für sehr unterschiedliche Anwendungsfälle einsetzen lässt. Alle Demos fokussieren bewusst auf jeweils ein Themengebiet und:

  • nutzen stackablectl zur Installation
  • lassen sich 1:1  bei Dir aufsetzen
  • demonstrieren Zusammenhänge schrittweise
  • sind als Open Source Code in Github verfügbar

Highlights:

  1. Integrierte Datensicherheit
  2. Data Lakehouse Technologie Showcase
  3. Machine Learning zur Ausreißererkennung
  4. Echtzeitanzeige von Wasserpegelständen
  5. Analysen mit einem Data Lake
  6. Event Streaming von Erdbeben-Daten

Die Demos:

Demo: end-to-end-security

Integrierte Datensicherheit

In dieser Technologiedemo werden einige der neuesten Funktionen von Stackable vorgestellt, wobei der Schwerpunkt auf der End-to-End-Sicherheit liegt:

Sie zeigt, wie Single Sign-On auf der gesamten Plattform funktioniert und wie Impersonation eine Trennung des Zugriffs auf die zugrunde liegenden Daten ermöglicht. Außerdem werden erweiterte Anwendungsfälle wie Sicherheit auf Zeilenebene und Datenmaskierung für kritische Daten demonstriert.

Die Demo verwendet einen Data-Lakehouse-Schemaauszug des TPC-DS, einem Benchmark zur Entscheidungsunterstützung, der die robusten Analysefunktionen der Plattform veranschaulicht.

Technologisch sind Elemente früherer Demos enthalten, wie z. B.:

  • HDFS mit Iceberg: Das Hadoop Distributed File System, das für die skalierbare und zuverlässige Speicherung großer Datenmengen verwendet wird. Als Table-Format wurde Apache Iceberg konfiguriert.
  • Hive: Eine Data-Warehouse-Infrastruktur, die auf Hadoop aufbaut und die Zusammenfassung, Abfrage und Analyse von Daten ermöglicht.
  • Trino: Eine schnelle verteilte SQL-Engine für interaktive Analysen. Sie bietet leistungsstarke SQL-Abfragefunktionen für große Datensätze.
  • Open Policy Agent (OPA): Eine allgemeine Richtlinien-Engine, die eine fein abgestufte Steuerung und eine einheitliche Durchsetzung von Richtlinien in verschiedenen Stackable Data Apps ermöglicht.
  • Superset: Eine moderne Plattform zur Datenexploration und -visualisierung, die intuitive Datenanylyse ermöglicht.
  • Spark: Eine einheitliche Analyse-Engine für die Verarbeitung großer Datenmengen, die hier zur Durchführung von Data Engineering, Data Science und maschinellem Lernen verwendet wird.
end2endsecuritydemo

Außerdem zeigt die Demo neue Sicherheitskomponenten:

  • Kerberos: Ein Netzwerk-Authentifizierungsprotokoll, das entwickelt wurde, um eine starke Authentifizierung für Client-Server-Anwendungen unter Verwendung von Kryptographie mit geheimen Schlüsseln zu ermöglichen, und jetzt auf Kubernetes für eine sichere Authentifizierung läuft.
  • Rego-Regeln: Die Policy-Sprache für OPA, die die Erstellung komplexer Policy-Entscheidungen für eine feingranulare Zugriffskontrolle ermöglicht.
  • OpenID Connect (OIDC): Eine einfache Identitätsschicht, die auf dem OAuth 2.0-Protokoll aufbaut und es Clients ermöglicht, die Identität von Nutzern zu überprüfen und deren Profilinformationen sicher abzurufen.
  • Keycloak: Zusätzlich zur der Stackable Data Platform – eine Open-Source-Lösung für die Identitäts- und Zugriffsverwaltung. Sie verwaltet die Benutzerauthentifizierung und -autorisierung und bietet Single Sign-On (SSO) für verschiedene Anwendungen.

Das Ergebnis ist ein für die fiktive „knab“-Organisation erstelltes leistungsstarkes und sicheres Template für einen modernen Data Stack mit der Stackable Data Platform.

HOW-TO zum Starten,

im Kubernetes-Cluster:

stackablectl demo install end-to-end-security

Demo: data-lakehouse-iceberg-trino-spark

Data Lakehouse Technologie Showcase

Diese Technologie-Demo zeigt einige der Funktionen der neuesten Features von Stackable.

Die Demo enthält Elemente früherer Demos, z.B.

  • Echtzeit-Event-Streaming mit Apache NiFi
  • Trino für SQL-Zugriff und
  • visuelle Datenanzeige und -analyse mit Apache Superset
Lakehouse overview

Zusätzlich enthält die Demo aber auch neue Lakehouse-Funktionen wie die Integration mit Apache Iceberg, die z. B. transaktionale Konsistenz und vollständige Schema-Evolution bietet.

Das Ergebnis ist eine umfassende Vorlage für einen modernen Data Stack mit der Stackable Data Platform.

Weitere Highlights der Demo:

  • Apache Spark: Eine mehrsprachige Engine für die Ausführung von Data Engineering, Data Science und maschinellem Lernen. In dieser Demo wird es verwendet, um Daten von Kafka in das Lakehouse zu streamen.
  • Open Policy Agent (OPA): Eine quelloffene, universell einsetzbare Policy-Engine, die die Durchsetzung von Richtlinien im gesamten Stack vereinheitlicht. In dieser Demo wird sie als Autorisierer für Trino verwendet, um zu entscheiden, welcher Benutzer welche Daten abfragen darf.

HOW-TO zum Starten,

im Kubernetes-Cluster:

stackablectl demo install data-lakehouse-iceberg-trino-spark

(Hinweis: getestet mit 10x4Core Nodes jeweils mit 20GB RAM ind 30GB HDD, Persistent Volumes mit Gesamtgröße ca. 1TB)

Anmerkung: für ein kleineres Setup, schau Dir gern unsere trino-iceberg Demo an:

stackablectl demo install trino-iceberg

Demo: SPARK-K8S-ANOMALY-DETECTION-TAXI-DATA

Machine Learning zur Ausreißererkennung

Diese Stackable-Data-Platform-Demo stellt eine Erweiterung der ursprünglichenTRINO-TAXI-DATA-Demo um Apache Spark™ dar.

Superset anomaly scores

Ein oft vernachlässigter Faktor beim Einsatz von Daten zum Machine Learning ist die Datenqualität. Falschmessungen, fehlende Werte und ähnliches verfälschen die spätere Prognosequalität. In bestimmten Szenarien sind Spitzen, Ausreißer oder andere Anomalien in den Daten auch relevant, in dem sie eine Grundlage für die Definition von Warnmeldungen bilden können. 

Somit liefert die Erkennung von Ausreißern einen wichtigen Beitrag für die erfolgreiche Nutzung von Daten. Wissenschaft und Wirtschaft setzen in der Praxis hier heutzutage eine Vielzahl an Verfahren und Methoden ein.

In dieser Demo erfolgt die Ausreißererkennung exemplarisch mit Apache Spark, indem ein Isolation Forest Algorithmus auf die Daten ausgeführt wird. Der Isolation-Forest-Algorithmus wird für das unüberwachte Modelltraining (unsupervised model training) verwendet, was bedeutet, dass das Modell ohne Labelling auskommt.

Ergebnisse der Erkennung werden im Apache Iceberg Format gespeichert und mit Apache Superset visualisiert.

HOW-TO zum Starten,

im Kubernetes-Cluster:


stackablectl demo install spark-k8s-anomaly-detection-taxi-data

Demo: NIFI-kafka-druid-water-level-data

Echtzeitanzeige von Wasserpegelständen

Niedrigwasser oder Überschwemmungsgefahr – die Wasserpegel unserer Flüsse sind in Zeiten des Klimawandels ins öffentliche Interesse gerückt.

Unsere Stackable-Data-Platform-Demo zeigt die Pegelstände von Flüssen nahezu in Echtzeit auf Basis der Daten von Pegel Online.

kafka druid earthquake data DB

Mehrere Komponenten der Stackable Data Platform spielen dabei zusammen, ohne dass dafür ein großer Konfigurationsaufwand notwendig ist:

Mit Apache Nifi und Apache Kafka werden Pegelstandsmessungen von deutschlandweit verteilten Messstationen über eine API von Pegel Online abgeholt und in Apache Druid gespeichert.

Druid ist eine skalierbare Echtzeitdatenbank, die mittels SQL abgefragt werden kann. Diese Methode wird in der Demo genutzt, um über Apache Superset die Pegelstände abzufragen und im Dashboard zu visualisieren. Für die dauerhafte Speicherung benötigt Druid einen sogenannten „Deep Storage“, der in unserem Beispiel über MinIO als S3-kompatibler Objektspeicher, wie er in den meisten öffentlichen und privaten Cloud-Umgebungen vorhanden ist, realisiert wird.

HOW-TO zu Starten,

im Kubernetes-Cluster:


stackablectl demo install nifi-kafka-druid-water-level-data

Demo: trino-taxi-data

Analysen mit einem Data Lake

Diese Stackable-Data-Platform-Demo zeigt in S3 gespeicherte Daten für die Analyse und bis zur Anzeige im Dashboard.

Trino taxi data

Mit unseren Stackable-Operatoren werden verschiedene Komponenten konfiguriert und ausgerollt. Dieses Beispiel zeigt insbesondere, wie ein rollenbasierter Datenzugriff über den Open Policy Agent realisiert werden kann:

  • In MinIO, einem S3-kompatiblen Objektspeicher, werden die Daten für diese Demo persistent gespeichert.

  • Hive-Metastore speichert die notwendigen Metadaten, um die Beispieldaten über SQL zugreifbar zu machen und wird in unserem Beispiel von Trino verwendet.

  • Trino ist unsere extrem schnelle, verteilte SQL-Abfrage-Engine für Big-Data-Analysen, mit der sich Datenräume erkunden lassen und die wir in der Demo verwenden, um SQL-Zugriffe auf die Daten zu ermöglichen.

  • Apache Superset verwenden wir schließlich, um Daten von Trino über SQL-Abfragen abzurufen und Dashboards auf diesen Daten aufzubauen.

  • Open Policy Agent (OPA): Eine quelloffene, universelle Policy Engine, die die Durchsetzung von Richtlinien im gesamten Stack vereinheitlicht. In dieser Demo autorisiert OPA, welcher Benutzer welche Daten abfragen darf.

HOW-TO zum Starten,

im Kubernetes-Cluster:


stackablectl demo install trino-taxi-data

Demo: NIFI-kafka-druid-earthquake-data

Event Streaming von Erdbeben-Daten

Diese Stackable-Data-Platform-Demo zeigt gestreamte Erdbebendaten bis zur Anzeige im Dashboard.

Illustration of a map of Real-time display of water levels

Sie enthält folgende Operatoren:

  • Apache Superset: Eine moderne Plattform zur Datenexploration und -visualisierung. Diese Demo nutzt Superset, um Daten von Druid über SQL-Abfragen abzurufen und Dashboards auf diesen Daten aufzubauen.

  • Apache Kafka®: Eine verteilte Event-Streaming-Plattform für leistungsstarke Datenpipelines, Streaming-Analysen und Datenintegration. In dieser Demo wird Kafka als Event-Streaming-Plattform verwendet, um die Daten nahezu in Echtzeit zu streamen.

  • Apache Nifi: Ein einfach zu bedienendes, leistungsstarkes System zur Verarbeitung und Verteilung von Daten. Diese Demo verwendet es, um Erdbebendaten aus dem Internet zu holen und in Kafka zu übertragen.

  • Apache Druid: Eine Echtzeit-Datenbank zur Unterstützung moderner Analyseanwendungen. Diese Demo verwendet Druid, um Daten nahezu in Echtzeit aus Kafka aufzunehmen, zu speichern und den Zugriff auf die Daten über SQL zu ermöglichen.

  • MinIO: Ein S3-kompatibler Objektspeicher. In dieser Demo wird er als persistenter Speicher für Druid verwendet, um alle gestreamten Daten zu speichern.

HOW-TO zum Starten,

im Kubernetes-Cluster:


stackablectl demo install nifi-kafka-druid-water-level-data

Du hast Fragen oder Anmerkungen?

Mehr Infos?

Kontaktiere Sönke Liebau, um mit uns in Kontakt zu treten:

 

Sönke Liebau

Sönke Liebau

CPO & CO-FOUNDER von Stackable

An illustration of a laptop and phone on a desk

Newsletter

Subscribe to the newsletter

With the Stackable newsletter you’ll always be up to date when it comes to updates around Stackable!