Tableau ArchiArchitekturdiagramm & Serverkomponenten

⚡ Intelligente Zusammenfassung

Tableau-Server Architecture verbindet Desktop-, Web- und Mobilclients über ein mehrschichtiges, mehrprozessbasiertes Design mit verschiedenen Datenebenen. Diese Seite erläutert die einzelnen Ebenen, den Anfragepfad durch den Server, die jeweiligen Hintergrundprozesse sowie den Unterschied zwischen Einzelknoten- und Mehrknotenbereitstellung.

  • 🧱 Vier Schichten: Datenquellen, Datenkonnektoren, Serverkomponenten und Clients sind in dieser Reihenfolge von der Datenbank bis zum Browser angeordnet.
  • ???? Verbindungswahl: Eine Live-Verbindung fragt die Quelle bei jedem Laden einer Ansicht ab, während eine Extract speichert eine komprimierte lokale Kopie in der Hyper-Daten-Engine.
  • 🧭 Gateway-Rolle: Das Gateway leitet jede eingehende Anfrage weiter und fungiert gleichzeitig als Load Balancer, wenn kein externer Load Balancer vorhanden ist.
  • 🖼️ VizQL-Übersetzung: Das VizDer QL-Prozess wandelt eine visuelle Spezifikation in eine Datenquellenabfrage um und gibt gerenderte Bilder zurück, wobei die Ergebnisse zur Wiederverwendung zwischengespeichert werden.
  • ⚙️ Unterstützende Prozesse: Hintergrundinformationen, Repository, Dateispeicher, Cache-Server und Cluster Die Controller-Ausführung befindet sich unterhalb der sichtbaren Ebenen.
  • ???? ️ Skalierungspfad: Ein einzelner Knoten führt alle Prozesse gleichzeitig aus, während Multi-Node-Cluster das Gateway trennen. VizQL und Datenrollen für Kapazität und Failover.

Tableau ArchiStrukturdiagramm

Tableau Server ist so konzipiert, dass er viele Datenebenen miteinander verbinden kann. Er kann Clients von Desktop-Computern, Mobilgeräten und dem Web verbinden. Tableau Desktop ist ein leistungsstarkes Datenvisualisierungstool. Es ist hochverfügbar und sicher.

Es kann sowohl auf virtuellen als auch auf physischen Maschinen ausgeführt werden. Es handelt sich um ein Mehrbenutzer-, Mehrprozess- und Multithread-System.

Für die Bereitstellung solch leistungsstarker Funktionen ist eine robuste Architektur erforderlich. Sehen wir uns den Tableau Server an ArchiStruktur in diesem Tutorial.

Tableau-Server Architektur

Die verschiedenen im Tableau-Server verwendeten Ebenen sind im folgenden Architekturdiagramm dargestellt

Tableau-Server Architektur
Tableau ArchiStrukturdiagramm

Liest man das Diagramm von unten nach oben, befinden sich die Datenquellen an der Basis, die Verbindungen darüber, die Serverkomponenten in der Mitte und die Clients oben. Jeder der fünf folgenden Abschnitte behandelt einen dieser Bereiche.

Lassen Sie uns die verschiedenen Komponenten von Tableau untersuchen Architektur

Datenserver

Die Hauptkomponente von Tableau ArchiDie Architektur umfasst die Datenquellen, mit denen sie verbunden werden kann. Beachten Sie, dass sich diese erste Schicht auf die gesamte Datenebene bezieht; den Datenserver. Prozessdefinierung Die Komponenten, die innerhalb von Tableau Server ausgeführt werden, werden weiter unten im Abschnitt „Komponenten von Tableau Server“ separat beschrieben.

Tableau kann Verbindungen zu mehreren Datenquellen herstellen. Diese Datenquellen können lokal oder remote gehostet werden. Es kann gleichzeitig eine Verbindung zu einer Datenbank, einer Excel-Datei und einer Webanwendung herstellen. Tableau kann Daten aus heterogenen Umgebungen integrieren und Daten aus verschiedenen Datenquellen zusammenführen. Darüber hinaus kann es Beziehungen zwischen unterschiedlichen Datentypen herstellen.

Daten-Steckverbinder

Die Datenkonnektoren bieten eine Schnittstelle zum Verbinden externer Datenquellen mit Tableau Data Server.

Tableau verfügt über einen integrierten ODBC/SQL-Connector. Dieser ODBC-Connector kann Verbindungen zu beliebigen Datenbanken herstellen, ohne dass deren nativer Connector verwendet werden muss. Tableau bietet die Möglichkeit, sowohl Live- als auch Ex-Datenbanken auszuwählen.tract-Daten. Je nach Nutzung kann man problemlos zwischen verschiedenen Beispielen wechseln.tracted und Live-Daten.

  • Live-Verbindung oder Echtzeitdaten: Tableau kann Echtzeitdaten abrufen, indem es direkt mit der externen Datenbank verbunden wird. Es nutzt die Infrastruktur des bestehenden Datenbanksystems, indem es dynamische MDX-Ausdrücke (Multidimensional Expressions) sendet. SQL Diese Funktion ermöglicht die direkte Anbindung von Tableau an Live-Daten, anstatt diese zu importieren. Dadurch amortisiert sich die Investition eines Unternehmens in ein schnelles und optimiertes Datenbanksystem. In vielen Unternehmen sind die Datenbanken sehr groß und werden regelmäßig aktualisiert. In solchen Fällen dient Tableau als Frontend-Visualisierungstool, indem es sich mit den Live-Daten verbindet.
  • Extracted- oder In-Memory-Daten: Tableau bietet die Möglichkeit, …tracDie Daten stammen aus externen Datenquellen. Wir können eine lokale Kopie in Form einer Tableau-Datei erstellen.tract-Datei, die das vom Hyper-Datenmodul erzeugte .hyper-Format verwendet. Sie kann extracMillionen von Datensätzen lassen sich mit einem einzigen Klick in diese Engine importieren. Die Daten-Engine von Tableau nutzt Arbeitsspeicher und Festplatte gemeinsam zum Speichern und Verarbeiten von Daten. Mithilfe von Filtern kann Tableau beispielsweise …tracEs werden einige wenige Datensätze aus einem riesigen Datensatz extrahiert. Dies verbessert die Leistung, insbesondere bei der Arbeit mit sehr großen Datensätzen. Beispiel:tracDurch die Verwendung von In-Memory-Daten können Benutzer die Daten offline visualisieren, ohne eine Verbindung zur Datenquelle herstellen zu müssen.

Komponenten von Tableau Server

Die verschiedenen Komponenten eines Tableau-Servers sind:

  • Anwendungsserver
  • VizQL-Server
  • Datenserver

A) Anwendungsserver:

Der Anwendungsserver dient zur Bereitstellung der Authentifizierungen und Autorisierungen. Es übernimmt die Verwaltung und Berechtigung für Web- und Mobilschnittstellen. Es gewährleistet die Sicherheit, indem es jede Sitzungs-ID auf Tableau Server aufzeichnet. Der Administrator kann das Standard-Timeout der Sitzung auf dem Server konfigurieren.

B) VizQL-Server:

VizDer QL-Server dient dazu, die Abfragen der Datenquelle in Visualisierungen umzuwandeln. Sobald die Clientanfrage weitergeleitet wird an VizBeim QL-Prozess wird die Abfrage direkt an die Datenquelle gesendet und Informationen in Form von Bildern abgerufen. Dieses Bild oder diese Visualisierung wird dem Benutzer präsentiert. Der Tableau-Server erstellt einen Visualisierungscache, um die Ladezeit zu verkürzen. Der Cache kann von vielen Benutzern gemeinsam genutzt werden, die die Berechtigung zum Anzeigen der Visualisierung haben.

C) Datenserver:

Der Datenserver dient der Verwaltung und Speicherung der Daten aus externen Datenquellen. Es handelt sich um ein zentrales Datenverwaltungssystem. Es bietet Metadatenverwaltung, Datensicherheit, Datenspeicherung, Datenverbindung und Treiberanforderungen. Es speichert die relevanten Details des Datensatzes, wie Metadaten, berechnete Felder, Mengen, Gruppen und Parameter. Die Datenquelle könnte beispielsweisetract data stellt außerdem Live-Verbindungen zu externen Datenquellen her.

Gateway

Das Gateway leitet Benutzeranfragen an die Tableau-Komponenten weiter. Clientanfragen werden zur Verarbeitung an einen externen Load Balancer gesendet. Das Gateway verteilt die Prozesse an die verschiedenen Komponenten. Steht kein externer Load Balancer zur Verfügung, übernimmt das Gateway diese Funktion. In einer Einzelserverkonfiguration verwaltet ein primärer Server (Gateway) alle Prozesse. In Mehrserverkonfigurationen fungiert ein physisches System als primärer Server, während die anderen als Worker-Server eingesetzt werden. In einer Tableau Server-Umgebung kann nur ein System als primärer Server verwendet werden.

Kunden

Die Dashboards und Visualisierungen im Tableau Server können mit verschiedenen Clients angezeigt und bearbeitet werden. Die Clients sind Tableau Desktop, Webbrowser und mobile Anwendungen.

Kunden Arbeitsumfeld
Tableau Desktop Tableau Desktop ist ein Business-Analysetool. Es hilft beim Erstellen, Anzeigen und Veröffentlichen von Dashboards in Tableau Server. Benutzer können in Tableau Desktop auf verschiedene Datenquellen zugreifen und Visualisierungen erstellen.
Mobil Die Dashboards vom Server können interaktiv über mobile Browser und Anwendungen visualisiert werden. Über den Browser und die Anwendung können die Inhalte der Arbeitsmappe angezeigt und bearbeitet werden.
Web Webbrowser wie Google ChromeSafari, Firefox und Microsoft Edge Der Tableau-Server wird unterstützt. Die Inhalte und Visualisierungen im Dashboard können über diese Webbrowser bearbeitet werden.

Die Benennung der Ebenen verdeutlicht deren Beschaffenheit. Im nächsten Abschnitt wird eine einzelne Anfrage durch alle Ebenen verfolgt, um die Abfolge konkret zu machen.

Wie eine Tableau Server-Anfrage von Anfang bis Ende abläuft

Das Öffnen eines veröffentlichten Dashboards löst eine Kette von Übergaben zwischen den oben beschriebenen Komponenten aus. Diese Kette zu verfolgen ist der schnellste Weg, um zu verstehen, warum eine Ansicht langsam erscheint und welcher Prozess zuerst überprüft werden sollte.

  1. Die Anfrage erreicht das Gateway. Ein Browser, eine mobile App oder ein Tableau Desktop-Client sendet eine HTTPS-Anfrage. Falls ein externer Load Balancer vorhanden ist, wählt dieser einen Knoten aus; andernfalls übernimmt das Gateway auf dem primären Knoten diese Aufgabe selbst.
  2. Der Anwendungsserver prüft Identität und Berechtigungen. Die Anfrage wird an den Anwendungsserverprozess weitergeleitet, der die Sitzung validiert, bestätigt, dass der Benutzer über die Berechtigungen für die Arbeitsmappe verfügt, und die Sitzungskennung aufzeichnet.
  3. Der Cache-Server wird konsultiert. Bevor eine Abfrage ausgeführt wird, prüft der Server seinen gemeinsamen Abfragecache. Ein passender Eintrag führt dazu, dass die Visualisierung sofort angezeigt wird und die restlichen Schritte übersprungen werden. Daher muss die zweite Person, die ein Dashboard öffnet, in der Regel deutlich kürzer warten als die erste.
  4. VizQL erstellt die Abfrage. Bei einem Cache-Fehler VizDer QL-Prozess übersetzt die in der Arbeitsmappe gespeicherte visuelle Spezifikation in eine Abfrage für die zugrunde liegende Datenquelle.
  5. Der Datenserver stellt die Verbindung her. Wenn die Arbeitsmappe eine veröffentlichte Datenquelle verwendet, stellt der Datenserver die Verbindungsdetails, berechneten Felder, Gruppen und Mengen bereit. Eine aktive Verbindung sendet die Abfrage an die externe Datenbank weiter; eine externe Verbindung hingegen nicht.tracDie Frage wird von der Hyper-Daten-Engine mithilfe der im Dateispeicher abgelegten .hyper-Datei beantwortet.
  6. Die Ergebnisse werden berechnet und zurückgegeben. VizQL wandelt das Ergebnis-Set in die Markierungen, Achsen und Beschriftungen der Ansicht um, gibt die gerenderte Ausgabe über das Gateway zurück und schreibt das Ergebnis für den nächsten Benutzer in den Cache.

Zwei Punkte in dieser Kette verdienen beim Tuning besondere Beachtung. Erstens, ein ExtracDie lokale Beantwortung vermeidet einen unnötigen Zugriff auf eine stark ausgelastete Produktionsdatenbank. Zweitens wandelt ein gut gefüllter Cache die meisten wiederholten Ansichten in eine einzige Abfrage um. Ein Neustart des Servers oder die Veröffentlichung einer neuen Arbeitsmappenversion führt daher dazu, dass dieser Vorteil verloren geht, bis der Cache wieder gefüllt ist.

Einige der oben genannten Prozesse erscheinen nie im Schichtendiagramm; die folgende Tabelle nennt sie.

Tableau Server-Prozesstypen und ihre jeweiligen Funktionen

Eine Tableau Server-Installation führt eine Reihe benannter Prozesse parallel aus. Administratoren sehen diese einzeln auf der Statusseite des Tableau Services Managers; die Kenntnis jedes einzelnen Prozesses beschleunigt die Fehlersuche erheblich.

Prozess Verantwortung
Gateway Empfängt jede eingehende Anfrage und leitet sie an den richtigen Knoten und Prozess weiter.
Anwendungsserver Verwaltet Anmeldung, Berechtigungen, Suche, Browserfunktionen und die administrative Schnittstelle.
VizQL-Server Lädt und rendert Ansichten, indem die visuelle Spezifikation in Abfragen übersetzt wird.
Datenserver Verwaltet veröffentlichte Datenquellen, Metadaten und Verbindungsdaten.
Datenmaschine (Hyper) Erstellt und fragt .hyperex-Dateien ab.tracts wurde auf dem Knoten gehalten.
Hintergrund Führt geplante Arbeiten aus: z. B.tract Aktualisierungen, Abonnements, Benachrichtigungen und Flow-Ausführungen.
Dokumente A PostgreSQL Datenbank mit Metadaten zu Arbeitsmappen, Benutzern, Berechtigungen und Nutzungsverlauf.
Dateispeicher Geschäfte extract-Dateien und repliziert sie auf allen Knoten, die sie benötigen.
Cache-Server Ein gemeinsam genutzter In-Memory-Abfragecache, der von VizQL, Datenserver und Hintergrundprozess.
Cluster Controller Überwacht den Zustand von Prozessen und löst Failover aus, beispielsweise durch die Aktivierung eines passiven Repositorys.
Koordinierungsdienst Sorgt für eine einheitliche Konfiguration und Topologie auf allen Knoten im Cluster.

Die Hintergrundrecherche verdient besondere Beachtung, da dieser Prozess am häufigsten unter Kapazitätsmangel leidet. Beispiel:tracAktualisierungen und Abonnement-E-Mails konkurrieren um dieselben Mitarbeiter, daher ein Vormittag voller Überschneidungen.ping Beide verzögern den Zeitplan.

Tableau Server-Bereitstellung auf einem einzelnen Knoten vs. auf mehreren Knoten

Alle oben genannten Prozesse können auf einem einzelnen Rechner ausgeführt werden, und für kleine Teams ist dies die übliche Vorgehensweise. Eine Installation auf einem einzelnen Knoten ist einfach zu patchen und zu überwachen, bietet aber keine Redundanz: Fällt der Rechner aus, fallen auch alle Dashboards und ressourcenintensive Prozesse aus.tracDie Aktualisierungen konkurrieren direkt mit den Nutzern, die Inhalte ansehen.

Ein Multi-Node-Cluster verteilt dieselben Prozesse auf zwei oder mehr Maschinen, die ein gemeinsames Repository und eine gemeinsame Topologie nutzen. Rollen werden dann gezielt und nicht standardmäßig zugewiesen.

  • Trennen Sie den Hintergrund. UmzugtracDie Aktualisierung auf einem dedizierten Knoten verhindert, dass nächtliche Prozesse die interaktiven Ansichten verlangsamen.
  • Duplizieren Sie das Gateway. Durch den Betrieb eines Gateways auf mehr als einem Knoten hinter einem externen Load Balancer wird der einzelne Einstiegspunkt als Ausfallrisiko eliminiert.
  • Fügen Sie ein passives Repository hinzu. Eine zweite Repository-Instanz ermöglicht die Cluster Der Controller soll automatisch umschalten, wenn die aktive Kopie nicht mehr reagiert.
  • Skalieren VizQL für Parallelverarbeitung. Mehr VizQL-Instanzen bedienen mehr gleichzeitige Betrachter, was üblicherweise zum Flaschenhals wird, sobald die Nutzung zunimmt.
  • Der Dateispeicher sollte sich in der Nähe der Daten-Engine befinden. Knoten, die ex abfragentracSie benötigen eine lokale Kopie, daher befinden sich diese beiden normalerweise am selben Ort.

Der praktische Auslöser für den Wechsel zu mehreren Knoten ist selten das reine Datenvolumen. Meist handelt es sich entweder um eine geschäftliche Anforderung an hohe Verfügbarkeit oder um ein Aktualisierungsfenster, das nicht mehr in die Nebenzeiten passt.

Häufig gestellte Fragen

Beide Systeme nutzen dieselben Prozesse. Bei Tableau Server ist der Kunde für die Dimensionierung, das Patchen und die Überwachung der Hardware verantwortlich. Bei Tableau Cloud hingegen betreibt Salesforce den Cluster, sodass Topologie, Skalierung und Failover automatisch übernommen werden.

Das PostgreSQL Das Repository enthält Metadaten anstelle von Analysedaten: Arbeitsmappen- und Datenquellendefinitionen, Benutzer, Gruppen, Berechtigungen, Zeitpläne und Nutzungsverlauf. Beispiel:tracDie t-Dateien selbst befinden sich im Dateispeicher.

Die erste Anfrage erreicht den Cache-Server nicht, daher VizQL muss die Datenquelle abfragen und die Ansicht rendern. Das Ergebnis wird dann zwischengespeichert, und spätere Betrachter mit denselben Filtern erhalten es ohne erneute Abfrage.

Funktionen wie Tableau Pulse und Explain Data laufen oberhalb der bestehenden Ebenen. Sie greifen über denselben Datenserver und Cache-Pfad auf veröffentlichte Datenquellen zu, sodass keine separate Analyseebene eingeführt wird.

KI kann Nutzungstelemetriedaten zusammenfassen und ausgelastete Prozesse hervorheben, die Dimensionierung hängt jedoch weiterhin von Parallelitätszielen, Aktualisierungsfenstern und Verfügbarkeitsanforderungen ab, die ein Administrator explizit angeben muss.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: