Data Operations: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

#dataops: Folgen Sie der Diskussion auf Twitter
#dataops: Folgen Sie der Diskussion auf Twitter

Sind Sie mit der Geschwindigkeit Ihrer Datenanlyse unzufrieden? Oder haben Ihre Dashboards lange Ladezeiten? Dann können Sie bzw. Ihr Datenbank-Administrator folgenden Hinweisen nachgehen, die sich je nach Datenquelle unterscheiden können.

Allgemeine Empfehlungen zur Performance-Optimierung

Möchten Sie die Geschwindigkeit der Analyse verbessern? Dann beachten Sie folgende Punkte:

  • Benutzen Sie mehrere »kleinere« Datenquellen für individuelle Fragestellungen anstatt einer einzigen Datenquelle, die alle Fragestellungen abdecken soll.
  • Verzichten Sie auf nicht notwendige Verknüpfungen.
  • Aktivieren Sie in Tableau die Option »Referentielle Integrität voraussetzen« im »Daten«-Menü (siehe Abbildung 2.20). Wenn Sie diese Option verwenden, schließt Tableau die verknüpften Tabellen nur dann in die Datenabfrage ein, wenn sie explizit in der Ansicht verwendet wird*. Wenn Ihre Daten nicht über referentielle Integrität verfügen, sind die Abfrageergebnisse möglicherweise ungenau.
Aktivierte Option „Referentielle Integrität voraussetzen“ im „Daten“-Menü
Abbildung 2.20: Aktivierte Option »Referentielle Integrität voraussetzen« im »Daten«-Menü

* So wird beispielsweise der Umsatz anstatt mit der SQL-Abfrage SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID lediglich mit der SQL-Abfrage SELECT SUM([Sales Amount]) FROM [Sales] ermittelt.

Empfehlungen für Performance-Optimierung bei Dateien und Cloud-Diensten

Achten Sie insbesondere beim Arbeiten mit Dateiformaten, wie Excel-, PDF- oder Textdateien, oder Daten aus Cloud-Diensten wie Google Tabellen zusätzlich auf folgende Punkte:

  • Verzichten Sie auf Vereinigungen über viele Dateien hinweg, da deren Verarbeitung sehr zeitintensiv ist.
  • Nutzen Sie einen Datenextrakt anstatt einer Live-Verbindung, falls Sie nicht mit einem schnellen Datenbanksystem arbeiten (siehe Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden).
  • Stellen Sie sicher, dass Sie beim Erstellen des Extrakts die Option »Einzelne Tabelle« wählen, anstatt der Option »Mehrere Tabellen« (siehe Abbildung 2.21). Dadurch wird das erzeugte Extrakt zwar größer und das Erstellen des Extrakts dauert länger, das Abfragen hingegen wird um ein Vielfaches beschleunigt.
Ausgewählte Option „Einzelne Tabelle“ im „Daten extrahieren“-Dialog
Abbildung 2.21: Ausgewählte Option »Einzelne Tabelle« im »Daten extrahieren«-Dialog

Empfehlungen für Performance-Optimierung bei Datenbank-Servern

Arbeiten Sie mit Daten auf einem Datenbank-Server, wie Oracle, PostgreSQL oder Microsoft SQL Server, und möchten die Zugriffszeiten verbessern? Dann achten Sie bzw. der dafür zuständige Datenbankadministrator zusätzlich auf folgende Punkte:

  • Definieren Sie für Ihre Datenbank-Tabellen sinnvolle Index-Spalten.
  • Legen Sie für Ihre Datenbank-Tabellen Partitionen an.

Dieser Beitrag ist der dritte Teil der Data-Operations-Serie:

Teil 1: Daten für die Analyse optimal vorbereiten
Teil 2: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden
Teil 3: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

Außerdem basiert dieser Blog-Post auf einem Unterkapitel des Buches „Datenvisualisierung mit Tableau„:

Data Operations: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden

#dataops: Folgen Sie der Diskussion auf Twitter
#dataops: Folgen Sie der Diskussion auf Twitter

Nachdem Sie Ihre Daten für die Analyse optimal vorbereitet haben, stellt sich die Frage auf welche Weise Sie Ihre Daten bereithalten wollen, damit Sie schnell erste Erkenntnisse erhalten.

Tableau bietet Ihnen für die meisten Datenquellen die Möglichkeit, zwischen einer Live-Verbindung, also einer direkten Verbindung zur Datenbank, und einem Datenextrakt, also einem Abzug der Daten zu wählen. Wie Abbildung 1.1 zeigt, können Sie einfach zwischen beiden Verbindungstypen wechseln.

Auswahlknöpfe, um zwischen Live-Verbindung und Datenextrakt zu wechseln
Abbildung 1.1: Auswahlknöpfe, um zwischen Live-Verbindung und Datenextrakt zu wechseln

Live-Verbindungen ermöglichen Ihnen die Arbeit mit den Daten, wie sie zum momentanen Zeitpunkt auf der Datenbank oder der Datei vorliegen. Wenn Sie Daten extrahieren, importieren Sie einige oder alle Daten in die Data Engine von Tableau. Dies gilt sowohl für Tableau Desktop als auch für Tableau Server. Welche Verbindungsmethode Sie bevorzugen sollten, hängt von Ihrer Situation und dem Anwendungsfall, Ihren Anforderungen sowie von der Verfügbarkeit der Datenbank und der Netzwerkbeschaffenheit ab.

Immer aktuell mit der Live-Verbindung

Durch die direkte Verbindung mit Ihrer Datenquelle visualisieren Sie immer die aktuellsten Daten, die Ihnen die Datenbank zur Verfügung stellt. Wenn Ihre Datenbank in Echtzeit aktualisiert wird, müssen Sie die Tableau-Visualisierung nur über die Funktionstaste F5 aktualisieren oder indem Sie mit der rechten Maustaste auf die Datenquelle klicken und die Option Aktualisieren auswählen.

Wenn Sie eine Verbindung zu großen Datenmengen herstellen, die Visualisierung sehr viele Details enthält oder Ihre Daten in einer leistungsstarken Datenbank mit entsprechend ausgestatteter Hardware gespeichert sind, können Sie mit einer direkten Verbindung eine schnellere Antwortzeit erzielen.

Die Auswahl einer direkten Verbindung schließt nicht die Möglichkeit aus, die Daten später zu extrahieren. Andersherum können Sie auch wieder von einem Extrakt zu einer Live-Verbindung wechseln, indem Sie mit der rechten Maustaste auf die Datenquelle klicken und die Option Extrakt verwenden deaktivieren.

Unabhängig mit einem Datenextrakt

Datenextrakte haben naturgemäß nicht den Vorteil, dass sie in Echtzeit aktualisiert werden, wie es bei einer Live-Verbindung der Fall ist. Die Verwendung der Data Engine von Tableau bietet jedoch eine Reihe von Vorteilen:

Leistungsverbesserung bei langsamen Datenquellen:

Vielleicht ist Ihre Datenbank stark mit Anfragen belastet oder bereits mit transaktionalen Operationen beschäftigt. Mithilfe der Data Engine können Sie Ihre Datenbank entlasten und die Datenhaltung von Tableau übernehmen lassen. Extrakte können Sie am besten außerhalb der Stoßzeiten aktualisieren. Tableau Server kann Extrakte auch zu festgelegten Zeitpunkten aktualisieren, zum Beispiel nachts um 3 Uhr.

Inkrementelles Extrahieren:

Durch das inkrementelle Extrahieren wird auch die Aktualisierungszeit beschleunigt, da Tableau nicht die gesamte Extraktdatei aktualisiert. Es fügt nur neue Datensätze hinzu. Um inkrementelle Extrakte auszuführen, müssen Sie ein Feld angeben, das als Index verwendet werden soll. Tableau aktualisiert die Zeile nur, wenn sich der Index geändert hat. Daher müssen Sie beachten, dass Änderungen an einer Datenzeile, die das Indexfeld nicht ändert, von der Aktualisierung nicht berücksichtigt werden.

Datenmenge mit Filtern einschränken:

Eine andere Möglichkeit, Extrakte zu beschleunigen, besteht darin, beim Extrahieren der Daten Filter anzuwenden. Wenn für die Analyse nicht die gesamte Datenmenge benötigt wird, können Sie den Extrakt so filtern, dass er nur die erforderlichen Datensätze enthält. Wenn Sie eine sehr große Datenmenge haben, müssen Sie nur selten den gesamten Inhalt der Datenbank extrahieren. Zum Beispiel kann Ihre Datenbank Daten für viele Regionen enthalten, aber Sie benötigen möglicherweise nur die Daten zur Region »Süd«.

Um einen Extrakt entsprechend anzulegen, wählen Sie als Verbindung Extrakt aus und klicken dann auf das nebenstehende Bearbeiten. Es öffnet sich das Fenster Daten extrahieren. Mit einem weiteren Klick auf Hinzufügen können Sie nun einen Filter erstellen, der für Ihren Extrakt angewandt wird (siehe Abbildung 1.2).

Der Datenextrakt kann mit Filtern eingeschränkt werden
Abbildung 1.2: Der Datenextrakt kann mit Filtern eingeschränkt werden

Weitere Funktionen für bestimmte Datenquellen:

Wenn Ihre Daten aus einer bestimmten Datenquelle stammen, so sind unter anderem Aggregationsfunktion wie Median (beispielsweise bei Access-Datenbanken ) bei einer Live-Verbindung nicht verfügbar. Arbeiten Sie mit einem Extrakt, können Sie diese Funktionen nutzen, auch wenn sie von der ursprünglichen Datenquelle nicht unterstützt werden.

Datenübertragbarkeit:

Sie können Extrakte lokal speichern und auch dann verwenden, wenn die Verbindung zu Ihrer Datenquelle nicht verfügbar ist. Eine Live-Verbindung funktioniert nicht, wenn Sie nicht über ein lokales Netzwerk oder das Internet auf Ihre Datenquelle zugreifen können. Extrakte werden außerdem komprimiert und sind normalerweise wesentlich kleiner als die ursprünglichen Datenbanktabellen, was dem Weitertransport der Daten zugutekommt.

Achten Sie auf Datenschutz und Data Governance

In Unternehmen spielen Datenschutz und Data Governance und damit verbunden Integrität und Sicherheit der Daten eine wichtige Rolle. Wenn Sie Extrakte an Mitarbeiter oder Geschäftspartner verteilen, sollten Sie die etwaige Vertraulichkeit Ihrer Daten berücksichtigen. Ziehen Sie in Betracht, den Inhalt des Extrakts über Filter einzuschränken und zu sichtbaren Dimensionen zu aggregieren.

Sind Sie sich unsicher, arbeiten Sie im Zweifelsfall besser mit einer Live-Verbindung, da in diesem Fall Ihre Datenbank das Rechte-Management steuert und so Ihre Daten nicht von Personen ohne ausreichende Berechtigungen gesehen werden können.

Dieser Beitrag ist der dritte Teil der Data-Operations-Serie:

Teil 1: Daten für die Analyse optimal vorbereiten
Teil 2: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden
Teil 3: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

Außerdem ist dieser Blog-Post ein Auszug aus dem Buch „Datenvisualisierung mit Tableau„, das am 31. Juli 2018 erschienen ist:

Data Operations: Daten für die Analyse optimal vorbereiten

#dataops: Folgen Sie der Diskussion auf Twitter
#dataops: Folgen Sie der Diskussion auf Twitter

Kürzlich habe ich einige Blog-Posts zum Thema Datenstrategie veröffentlicht. Für viele Unternehmen geht die Entwicklung und Einführung einer Datenstrategie nicht tief genug. Häufig habe ich ähnliches gehört: „So weit ist unser Unternehmen noch gar nicht. Wir haben noch viel operativ vorzubereiten, bevor wir eine Datenstrategie voll umfänglich etablieren können.“

Ich habe in diesen Gesprächen nachgehakt, wo diese grundlegenden Lücken in den Unternehmen bestehen, und entschlossen eine neue Blog-Post-Serie aufzusetzen, um zum Thema Data Operations (#dataops) konkrete und einfach umsetzbare Vorschläge zu geben.

Daten für die Analyse vorbereiten

Eine der wesentlichen Fragen, die sich Datenanalysten immer wieder stellen, lautet: „Gibt es eine Möglichkeit meine Daten für die Verwendung mit Analysewerkzeugen, wie Tableau, optimal vorzubereiten?“

Daten können auf unterschiedliche Arten strukturiert sein. Die meisten neuen Tableau-Anwender erliegen der Versuchung, Tableau mit einem bereits formatierten und voraggregierten Excel-Bericht (siehe Abbildung 1.1) zu verbinden und diesen in Tableau zu visualisieren. Heißt es nicht mit Tableau können Daten jeder Art einfach und intuitiv verwenden werden? Sehr schnell stellt man fest, dass ein solches Vorgehen nicht funktioniert, wie erwartet und sich so auch keine Visualisierungen erstellen lassen.

Abbildung 1.1: Bereits formatierter und voraggregierter Excel-Bericht
Abbildung 1.1: Bereits formatierter und voraggregierter Excel-Bericht

Dieses Szenario, dem viele Einsteiger begegnen, ist nicht ungewöhnlich und tatsächlich ein häufiger Stolperstein bei der Einarbeitung in Tableau, der die Analyse Ihrer Daten erschweren kann.

Die folgenden Punkte zeigen Ihnen Vorschläge zur sauberen Vorbereitung Ihrer Daten anhand des Beispielberichts:

  • Verzichten Sie auf den einleitenden Text („Temperaturmessung zum Monatsbeginn“).
  • Überführen Sie hierarchische Überschriften („Frankfurt“, „Berlin“) auf eine Spalteninformation (neue Spalte „Ort“).
  • Pivotisieren Sie Daten von einer „weiten“ Kreuztabelle mit Variablen in Spalten („Früh“, „Mittag“, „Abend“) in eine „lange“ Tabelle, die die Variablen stets in den Zeilen trägt (in diesem Beispiel die Uhrzeit).
  • Nutzen Sie vollständige Datums- und ggf. Zeitformate („01.04.2018 06:00“) anstatt z.B. nur den Monatsnamen („April“).
  • Überprüfen Sie, dass Zahlen im Zahlenformat und nicht im Textformat gespeichert sind.
  • Verzichten Sie voraggregierte Daten („Durchschnitt“, „Gesamtdurchschnitt“).
  • Entfernen Sie leere Zeilen.
  • Achten Sie darauf, dass jede Spate eine aussagekräftige Spaltenüberschrift trägt.

Haben Sie diese Vorschläge befolgt, ist aus Ihrer „weiten“ Kreuztabelle nun eine „lange“ Zeilen-basierte Tabelle geworden, und damit die perfekte Basis zur umfangreichen Datenanalyse (siehe Abbildung 1.2).

Abbildung 1.2: Zur Datenanalyse geeignete „lange Tabelle“ ohne Aggregationen
Abbildung 1.2: Zur Datenanalyse geeignete „lange Tabelle“ ohne Aggregationen

Dieser Beitrag ist der dritte Teil der Data-Operations-Serie:

Teil 1: Daten für die Analyse optimal vorbereiten
Teil 2: Wann sollten Sie Datenextrakte und wann Live-Verbindungen verwenden
Teil 3: Wie Sie die Performance Ihrer Datenanalyse und Dashboards steigern

Außerdem ist dieser Blog-Post ein Auszug aus dem Buch „Datenvisualisierung mit Tableau„, das am 31. Juli 2018 erscheinen wird: