Stetig wachsende Datenmengen zu bändigen, ist ohne ein geeignetes Datenbanksystem nicht möglich. Dabei gilt: Je besser die Performance, desto höher die Effizienz der damit verbundenen Verarbeitungsprozesse. Die Nürnberger Datenbankspezialisten Exasol wollen hier durch eigene Algorithmen für Leistung sorgen. Grund genug für den IT-Administrator, die aktuelle Version Exasol 7.0.8 hinsichtlich Handhabung, Datenmigration und Performance genauer unter die Lupe zu nehmen.
Das Big-Data-Zeitalter verlangt nach Datenbanksystemen, die sich durch eine hohe Stabilität und Performance auszeichnen. Unter den Analysedatenbanken hat sich Exasol in den vergangenen Jahren einen ausgezeichneten Ruf erarbeitet – nicht zuletzt wegen mehreren Top-Platzierungen im BARC Data Management Survey 20. Unternehmen haben dabei die Wahl, ob sie das Datenbanksystem lokal, in der Cloud oder in einer hybriden Umgebung einsetzen wollen.
Hohe Performance will der Anbieter durch In-Memory-Algorithmen und das Massively Parallel Processing (MPP) erzielen. Dabei werden Anfragen über alle Knoten eines Clusters verteilt und lassen sich somit wesentlich schneller verarbeiten. Exasol bietet sein System in zwei Varianten an: Während die Community Edition (CE) einen kostenlosen Einstieg bietet, ermöglicht Exasol One den Zugriff auf den vollen Funktionsumfang. So erlaubt die CE etwa die Verwaltung von bis zu 200 GByte Daten, die One-Variante lässt hier bis zu 1 TByte pro Knoten zu.
IT-Verantwortliche haben die Wahl zwischen der Installation eines VM-Images oder der Nutzung der Exasol-Cloud. Im zweiten Fall bedarf es lediglich eines SQL-Clients nach Wahl, womit sich die Verbindung zur Testumgebung herstellen lässt. Nutzen Unternehmen eine lokale virtuelle Maschine, lässt sich mit der Community Edition sehr schnell ein Ein-Knoten-Exasol-System zum Laufen bringen. Alles, was es dazu braucht, ist eine gängige Virtualisierungssoftware wie VirtualBox, VMware et cetera. Exasol stellt hierzu ISO-Images für die manuelle Installation und VM-Images bereit. Der folgende Test basiert auf der Version 7.0.8.
Das Big-Data-Zeitalter verlangt nach Datenbanksystemen, die sich durch eine hohe Stabilität und Performance auszeichnen. Unter den Analysedatenbanken hat sich Exasol in den vergangenen Jahren einen ausgezeichneten Ruf erarbeitet – nicht zuletzt wegen mehreren Top-Platzierungen im BARC Data Management Survey 20. Unternehmen haben dabei die Wahl, ob sie das Datenbanksystem lokal, in der Cloud oder in einer hybriden Umgebung einsetzen wollen.
Hohe Performance will der Anbieter durch In-Memory-Algorithmen und das Massively Parallel Processing (MPP) erzielen. Dabei werden Anfragen über alle Knoten eines Clusters verteilt und lassen sich somit wesentlich schneller verarbeiten. Exasol bietet sein System in zwei Varianten an: Während die Community Edition (CE) einen kostenlosen Einstieg bietet, ermöglicht Exasol One den Zugriff auf den vollen Funktionsumfang. So erlaubt die CE etwa die Verwaltung von bis zu 200 GByte Daten, die One-Variante lässt hier bis zu 1 TByte pro Knoten zu.
IT-Verantwortliche haben die Wahl zwischen der Installation eines VM-Images oder der Nutzung der Exasol-Cloud. Im zweiten Fall bedarf es lediglich eines SQL-Clients nach Wahl, womit sich die Verbindung zur Testumgebung herstellen lässt. Nutzen Unternehmen eine lokale virtuelle Maschine, lässt sich mit der Community Edition sehr schnell ein Ein-Knoten-Exasol-System zum Laufen bringen. Alles, was es dazu braucht, ist eine gängige Virtualisierungssoftware wie VirtualBox, VMware et cetera. Exasol stellt hierzu ISO-Images für die manuelle Installation und VM-Images bereit. Der folgende Test basiert auf der Version 7.0.8.
Schneller Einstieg in Community Edition
Die Inbetriebnahme von Exasol gestaltet sich unkompliziert. Wenn der Nutzer beispielsweise VirtualBox präferiert, verwendet er die Importfunktion, um das Datenbanksystem zu starten. Bevorzugt er eine eigene Installation auf Grundlage des ISO-Images, initiiert er den Installationsvorgang auf der Konsolenebene und folgt den Anweisungen des Setupassistenten. Im Unterschied zur OVA-basierten Installation handelt es sich bei der ISO-basierten Variante nicht um eine vorkonfigurierte virtuelle Maschine mit Standardwerten. Daher mussten wir mithilfe der Managementoberfläche "EXAoperation" die notwendigen Systemkonfigurationen vornehmen. Dazu meldeten wir uns mit dem Benutzernamen "Admin" und dem identischen Passwort an. Die wichtigsten Anpassungen nahmen wir im Menü "Service" vor. Über das Untermenü "EXAStorage" konfigurierten wir den Speicherdienst, mit "EXASolution" legten wir eine erste Datenbankkonfiguration an.
Die notwendigen Einstellungen sind selbsterklärend und stellen erfahrene Administratoren vor keine größeren Herausforderungen. Nachdem wir Exasol das Erzeugen der Datenbank überlassen haben, konnten wir diese mit der Ausführung von "Startup" aus dem Auswahlmenü "Actions" starten. Der Setupassistent präsentiert nach dem erfolgreichen Startvorgang eine Erfolgsmeldung. Dieser konnten wir auch die IP-Adresse und den Port des Datenbankservers, die Zugangsdaten sowie die URL zur webbasierten Administration über "EXAoperation" entnehmen.
Damit die Evaluierung einer Exasol-VM beziehungsweise eines Images nicht durch ungünstige Umgebungseigenschaften ausgebremst wird, ist eine optimale Konfiguration der Ausführungsumgebung vonnöten. Wichtige Stellschrauben sind dabei das VM-RAM und die Anzahl der virtuellen Kerne. Die virtuelle Maschine für die Community Edition verlangt mindestens 4 GByte RAM. Durch eine Erhöhung lässt sich die Leistung verbessern, es sollte jedoch sichergestellt sein, dass genügend RAM für das Hostbetriebssystem verbleibt. Abhängig von der Kapazität des Hostsystems lässt sich auch die Anzahl der virtuellen Kerne für die virtuelle Maschine erhöhen.
Die VM-Appliance, die die Exasol-Entwickler zum Download bereitstellen, basiert auf einer Red-Hat-Enterprise-7.5-Installation und ist standardmäßig mit 4 GByte RAM und einer CPU ausgestattet. Nach Inbetriebnahme der Appliance präsentierte das zugrundeliegende Red-Hat-Betriebssystem eine Zusammenfassung der Systemkonfiguration. Mit den Zugangsdaten zum Datenbankserver konnten wir als Nächstes erste Clientverbindungen testen; außerdem verriet uns die Konfiguration die URL für den Zugriff auf die Exasol-Administration EXAoperation – einfacher geht es kaum.
Bild 1: Die webbasierte Administrationsoberfläche EXAoperation stellt alle wichtigen Funktionen für das Management von Datenbanken, das Monitoring sowie die System- und Netzwerkkonfiguration bereit.
Um erste Erfahrungen mit Exasol zu sammeln, bedarf es eines SQL-Clients. Grundsätzlich integriert sich das Datenbanksystem in alle gängigen BI-, Data-Warehouse- und ETL-Umgebungen. Der Anbieter unterstützt Unternehmen bei der Planung, wie Exasol sich in eine bestehende Umgebung integrieren lässt. Hierfür existiert ein "Planning Guide". Dieser erläutert die unterstützten Integrationsarten. Neben diversen Standard-SQL-Clients unterstützt Exasol verschiedene Plattformen:
- Business Intelligence: SAP Business Objects, IBM Cognos, Microsoft PowerBI, Tableau, Pentaho Business Analytics.
Exasol spielt außerdem mit allen bekannten relationalen Datenbanken wie MySQL, PostgreSQL und Microsoft SQL Server zusammen. Die Entwickler stellen weiterhin verschiedene Treiber und Standardschnittstellen bereit – ein wichtiger Punkt bei der System- und Datenintegration.
Nutzerfreundliche Administration
Die Datenbankadministration von Exasol gestaltet sich einfach. Das bereits erwähnte webbasierte Administrationsinterface EXAoperation erlaubt den Zugriff auf die Service- und Konfigurationseinstellungen. Der Hersteller zeigt, dass auch die Administration von High-End-Datenbanken kein Hexenwerk sein muss – im Gegenteil. Die schnörkellose und reduzierte Administration trennt die service- von den konfigurationsspezifischen Einstellungen über das Navigationsmenü. Ein Blick genügt, um sich zurechtzufinden.
Bild 2: Das Anlegen von Datenbanken ist mit EXASolution mit wenigen Mausklicks erledigt.
Im "Services"-Menü verwalteten wir die Datenbankinstanzen mit dem EXASolution-Modul. Die Instanzverwaltung erlaubt das Starten, Herunterfahren und den Neustart genauso wie das Anlegen neuer Instanzen. Besonders einfach gestaltete sich das Hinzufügen einer neuen Datenbankinstanz: Hierfür klickten wir auf den "Add"-Button und bestimmten die Datenbankeigenschaften wie die Datenbankbezeichnung, Speicherplatz- und RAM-Größe sowie LDAP- beziehungsweise Kerberos-spezifische Einstellungen.
Eine wesentliche Aufgabe der Exasol-Administration ist das Umgebungsmonitoring. Hierfür stehen die Funktionen des "Monitoring"-Untermenüs zur Verfügung. Hier finden sich rudimentäre Überwachungsfunktionen. Ein Klick auf einen Logservice-Eintrag öffnet die konkreten Protokolle. Unter "Threshold Values" lassen sich die kritischen Grenzwerte bestimmen. Allerdings handelt es sich bei diesen Monitoringoptionen lediglich um Basisfunktionen. In der Regel genügen diese nicht, um kritische Systeme im Blick zu behalten. Exasol verfügt aber über ein XML-RPC-API, das die Anbindung an ein Zabbix-System erlaubt. Alternativ spielt das Datenbanksystem hervorragend mit Nagios und Splunk zusammen.
Auch die Benutzerverwaltung über EXAoperation gestaltete sich einfach. Im Untermenü "Configuration / Access Management" öffneten wir die Registerkarte "Users" und legten mit "Add" einen ersten Benutzer an. Ebenso unkompliziert verlief die Integration von LDAP: Unter "Identified by" aktivierten wir die LDAP-Option und spezifizierten den LDAP-Server und den Distinguished Name.
Bild 3: Der JDBC-Treiber lässt sich mit wenig Aufwand für das Zusammenspiel mit einem MySQL-Datenbanksystem konfigurieren.
Kommunikation ab Werk nur über CLI
Während die webbasierte Exasol-Administration ausgesprochen leicht von der Hand ging, stellte sich uns die Frage, wie wir in der Praxis mit dem Datenbanksystem interagieren sollten. Um erste Erfahrungen mit Exasol zu sammeln, bietet sich der Einsatz eines SQL-Clients an. Wer einen grafischen Client bevorzugt, kann beispielsweise zu einem Werkzeug wie SQL Workbench greifen. Hierfür mussten wir zunächst den JDBC-Treiber installieren. In SQL Workbench legten wir dann ein neues Verbindungsprofil an und wählten aus dem Auswahlmenü "Driver" den Treiber "EXASolution". Weiterhin sind die Verbindungseinstellungen anzugeben. Das SQL-Statement "SELECT * FROM EXA_SYSCAT;" sorgt für eine erste Ausgabe im Query-Fenster.
Die Exasol-Entwickler stellen leider nur einen kommandozeilenbasierten Client zum Download bereit, "EXAplus CLI". Dabei handelt es sich um eine Java-basierte Konsole, die sich unter Linux, macOS und Windows einsetzen lässt. Besonders einfach gestaltet sich die Inbetriebnahme des Windows-Clients. Zur Ausführung werden Administratorrechte, das Microsoft .NET Framework 4.0 sowie eine Java-Laufzeitumgebung benötigt.
Anschließend konnten wir den konsolenbasierten Client im Verzeichnis "C:\Programme\Exasol\EXAPlus-7.0\EXAplus\ exaplusx64.exe" starten. Um die Verbindung herzustellen, benötigten wir die Zugangsdaten und die IP-Adresse des Datenbanksystems. Mit dem Kommando -version riefen wir die Clientversion ab. Um ein Skript auszuführen, nutzten wir den Befehl -f <Skript-Dateiname>. Selbstverständlich lassen sich auch SQL-Kommandos ausführen. Dazu verwendeten wir den Befehl -sql sql-statement.
Grundsätzlich tut der Exasol-Client, was er soll – nicht mehr, aber auch nicht weniger. Wir hätten uns bei einem derart anspruchsvollen System einen eigenen grafischen Client gewünscht. Die Datenanbindung an andere Systeme gestaltet sich indes dank der Verfügbarkeit von entsprechenden Treibern und Schnittstellen einfach.
für Unternehmen mit extrem hohem Datenaufkommen und performancekritischen Datenanalysen.
bedingt
für Organisationen, die einen kontinuierlichen Anstieg der zu verwaltenden Datenmengen aufweisen.
nicht
für Firmen, denen Standarddatenbanksysteme wie MySQL eine ausreichende Leistung bieten.
Vorbildliche Datenmigration
Damit Exasol sein Potenzial ausspielen kann, müssen IT-Verantwortliche das Datenbanksystem mit Daten füttern beziehungsweise bestehende Datenbestände migrieren. Exasol unterstützt Import- und Exportkommandos, die beispielsweise Datenbanken von externen Quellen per JDBC oder lokale Dateien im CSV-Format abholen. Für den Import von lokalen Dateien verwendeten wir das SQL-Statement "Import" und bestimmten, welche Daten wohin eingelesen werden sollten.
Zu den häufigsten Anwendungsfällen zählt sicherlich das Laden von Daten aus MySQL-Datenbanken. Dazu waren zunächst der Download und die Installation des JDBC-Treibers erforderlich. Als Nächstes konfigurierten wir Exasol für das Zusammenspiel mit dem JDBC-Treiber. Dazu öffneten wir EXAoperation, wählten "Configuration / Software" und klickten auf das "JDBC Drivers"-Register. Um die Angaben für den JDBC-Treiber zu spezifizieren, klickten wir auf die Schaltfläche "Add" und nahmen folgende Einstellungen vor:
- Driver Name: MySQL
- Main Class: com.mysql.jdbc.Driver
- Prefix: jdbc:mysql:
- Disable Security Manager: nicht aktivieren.
- Comment: Platz für einen optionalen Kommentar.
Die weiteren Konfigurationsschritte gehen – wie die gesamte Arbeit mit dem Exasol-System – leicht von der Hand. Administratoren profitieren nicht zuletzt davon, dass die Konfiguration des Exasol-MySQL-Zusammenspiels sich einfach gestaltet, ebenso die Anbindung eines SQL-Servers.
Performance als Highlight
Exasol verfügt nach Angaben der Entwickler über ausgefeilte Selbstoptimierungstechniken, die dafür sorgen, dass kaum Verwaltungsaufwand erforderlich ist, um eine optimale Leistung aus dem System herauszuholen. Ohne Zutun des Nutzers laufen im Hintergrund diverse Prozesse ab. So generiert Exasol automatisch verschiedene performancerelevante Statistiken.
Weiterhin kümmert sich das System automatisiert um die Indexerstellung, -pflege und -löschung. Dabei werden insbesondere die Indizes, die für JOIN-Vorgänge erforderlich sind, automatisch generiert und anschließend in Data Manipulation Language (DML) verwaltet. Indizes, die älter als fünf Wochen sind, werden automatisch gelöscht. Im Hintergrund erfolgt weiterhin eine automatische Tabellenreorganisation.
Exasol nutzt außerdem einen Query-Cache, um das Ergebnis von Abfragen zwischenzuspeichern. Wenn eine Anweisung wiederholt ausgeführt wird und deterministische Ergebnisse liefert, zeigt das System das zwischengespeicherte Ergebnis erneut an, anstatt auf Datenblöcke zuzugreifen, um das Ergebnis abzurufen. Diese Zwischenspeicherung ist standardmäßig aktiviert.
Ein weiterer Pluspunkt: Unabhängig von verschiedenen Automatismen erlaubt Exasol die Nutzung von weiteren performancerelevanten Funktionen wie Profiling, Datenbankmonitoring und den Verzicht auf verschiedene SQL-Kommandos wie "USING" oder "ORDER BY". Durch gezielte manuelle Eingriffe lassen sich weitere Systemoptimierungen vornehmen.
Fazit
Es gibt sie also doch noch: High-Tech-IT Made in Germany. Mit der Exasol Community Edition hat der Hersteller ein erstklassiges Datenbanksystem entwickelt, das einfach zu handhaben sowie flexibel einsetzbar ist und durch eine ausgezeichnete Performance zu glänzen weiß. Während die Community Edition den einfachen Einstieg in die Welt der Exasol-Datenbanken erlaubt, lassen sich die Entwickler ihre kommerzielle Variante allerdings ordentlich etwas kosten.