am 08-17-2020 02:28 AM
Der Alteryx Analytics Hub (AAH) stellt eine einheitliche, robuste Plattform für alle analytischen Fragestellungen und Daten zur Verfügung. Er arbeitet damit in Verbindung mit dem Alteryx Designer und einem Browser basierten Interface mittels einer Client-Server Architektur.
Abb. 1: Alteryx Analytics Hub Client-Server Architektur
Der Alteryx Analytics Hub stellt damit eine Enterprise Daten und Analytics Plattform zur Verfügung. Diese Plattform besteht aus vier Komponenten. Dem Frontend, Backend, Worker und einer permanenten Speicherschicht in Form einer PostgreSQL Datenbank.
Abb. 2: Alteryx Analytics Hub Komponenten
Das Frontend ist der Eingangspunkt in die Plattform. Es basiert auf einem Express.js Webserver, welcher das browserbasierte User Interface und eine große Menge an REST API Endpunkten zur Verfügung stellt.
Abb. 3: Das Frontend unterstützt das browserbasierte User Interface und die APIs
Das User Interface stellt eine einfache, visuelle Bedienung zur Verfügung, um mit den Geschäftsprozessen und Daten zu interagieren. Es erlaubt die Ausführung von Workflows, das teilen und zusammenarbeiten an verschiedenen Daten, sowie die Verwaltung der kompletten Umgebung. Eine Mandanten-Fähigkeit wird durch sogenannte "Site" unterstützt, welche eine logische Separierung von Inhalten und Benutzern sicherstellt.
API Endpunkte zur Automatisierung sämtlicher, auch über das User Interface zur Verfügung stehenden Funktionen stehen zur Verfügung. Diese Schnittstellen können zum Beispiel durch andere Alteryx Produkte, wie den Alteryx Designer, oder aber auch andere Applikationen genutzt werden.
Das Frontend ist über eine Username und Passwort Authentifizierung geschützt, wie auch durch eine HTTPS Verschlüsselung.
Im Backend werden sämtliche Kernprozesse des Alteryx Analytics Hub ausgeführt. Während das Frontend für das User Interface und die API Endpunkte verantwortlich ist, ist das Backend für die Ausführung dieser Aktionen verantwortlich. Das enthält die Authentifizierung von Benutzern, Schedulen von Workflows, zuweisen von Workflows zu Workern, sowie die Ausführung von administrativen Prozessen wie die Änderung von Berechtigungen oder Gruppen.
Das Backend verwaltet auch das Virtuelle Dateisystem (VFS), in dem alle Daten der analytischen Prozesse vorgehalten werden. Daten sind in dem Fall Workflows, Dateien wie Excel oder CSV, oder auch Report Ausgabedateien.
Wie in Abb. 4 zu sehen läuft jede Kommunikation zwischen den einzelnen Komponenten über das Backend. Das Backend empfängt und speichert Informationen in die PostgreSQL Datenbank basierend auf Anfragen des Frontends. Das Backend weist auch Workflows dem Worker zu, damit diese dann prozessiert werden.
Abb. 4: Das Backend steuert sämtliche Prozesse
Die Worker sind dafür verantwortlich die Workflows mithilfe der Alteryx Engine auszuführen. Die Engine kann dabei Workflows mithilfe der standard "E1" engine ausführen, oder aber auch mit der neuen "AMP" Engine ausführen. Die AMP Engine (kruz für: Alteryx Multi-Threaded Processing) ermöglicht eine schnelle Ausführung der analytischen Prozesse durch die Nutzung von mehreren Prozessor-Threads für ein und dieselbe Berechnung um komplexe, große Datenprobleme zu lösen. Eine Workfloweinstellung legt fest, welche Engine genutzt wird. Der Analytics Hub unterstützt beide Engines.
Die Skalierbarkeit und Performance ist mit dem Analytics sichergestellt, indem mehrere Jobs parallel ausgeführt werden können. Ein Job kann hier als Alteryx Workflow übersetzt werden. Jeder Engine Prozess kann einen Workflow zur selben Zeit ausführen.
Abb. 5: Eine Engine kann einen Alteryx Workflow ausführen
Jeder Worker kann mehrere Instanzen einer Alteryx Engine verwalten. Damit kann ein Worker also mehrere Jobs parallel ausführen.
Abb. 6: Ein Worker kann mehrere Engines gleichzeitig verwalten
Eine Einstellung in der Konfigurations-Datei (numer_of_engines) steuert die Anzahl an parallelen Workflow, die ein Worker ausführen kann. Zusätzliche Worker Knoten können hinzugefügt werden, um eine Redundanz zu kreieren, oder aber auch die Leistung zu erhöhen. Die Anzahl an Worker Knoten hängt von der durchschnittlichen Workflow Laufzeit und der Anzahl an Jobs, die täglich oder stündlich auf dem Analytics Hub ausgeführt werden sollen ab. Eine Architekturempfehlung kann von den Alteryx Mitarbeitern auf Basis dieser Informationen getroffen werden.
Es ist jedoch nicht möglich, dass ein einzelner Workflow über mehrere Worker Knoten verteilt werden um den Datenduchsatz zu steigern.
Die Speicherschicht des Analytics Hub wird durch eine PostgreSQL Datenbank abgebildet. Dies ist eine Standard SQL Datenbank, welche einfach zu erweitern und sicher ist. Die PostgreSQL Datenbank ist der Ort, an dem sämtliche Applikationsdaten des Analytics Hub gespeicher werden, inklusive Benutzern, Rollen, Zeitplänen und Sites. Die Daten-Dateien für die Workflows werden dabei jedoch in dem Virtuellen Dateisystem gespeichert.
Die Datenbank enthält drei Schemas, welche vom Analytics Hub genutzt werden:
Abb. 7: Die drei Schemas, welche im Analytics Hub in der PostgreSQL Datenbank genutzt werden
Das platform Schema speichert alle Daten, die für den betrieb des Analytics Hub notwendig sind. Das sind in Summe rund 50 Tabelle, welche wie in der folgenden Abbildung kategorisiert werden können.
Abb. 8: Allgemeine Kategorien der Tabellen des Analytics Hub
Jedes Reporting oder Monitoring sollte über das Schema platform erfolgen. Jedoch können exzessive Verbindungen und Abfragen eine Auswirkung auf die Performance des Analytics Hub haben.
Falls es noch Fragen zum Thema Architektur oder weiteres geben sollte kontaktieren Sie bitte Ihren Alteryx Ansprechpartner und wir werden Ihnen sehr gerne weiterhelfen.