Das Business-Netzwerk Xing ist für viele Geschäftsleute heute ein fester Bestandteil des täglichen Kontakt-Managements. Die Community gehört mittlerweile zu den wichtigsten Kommunikationswerkzeugen neben dem E-Mail-Programm und dem Web-Browser. Mehr als elf Millionen Mitglieder weltweit verwalten hier ihre Kontakte in 16 Sprachen, tauschen sich in Gruppen über Branchen-News aus, vernetzen sich neu, informieren sich über Events und melden sich teilweise auch gleich dort an.
Die Herausforderung
Wachsende Mitgliederzahlen und die zunehmende Nachfrage nach weiteren Funktionen stellen die Betreiber vor immer neue Herausforderungen. Die Ansprüche sind hoch: Auf Basis einer intelligenten Datenanalyse haben sich die Plattformbetreiber zum Ziel gesetzt, ihren Mitgliedern jeweils für sie relevante Informationen zu präsentieren. Xing bietet beispielsweise neben den Networking-Funktionen verschiedene E-Recruiting-Features und -Services, die dabei helfen sollen, passende Jobangebote oder Mitarbeiter zu finden.
Hinzu kommen Unternehmensprofile: Hier können sich Firmen professionell in Szene setzen. Mit "Xing Advertising & Best Offers" lassen sich zudem bestimmte Business-Gruppen mit gezielter Werbung oder exklusiven Angeboten innerhalb der Xing-Gemeinde erreichen. Darüber hinaus können Unternehmen und Organisationen über die "Enterprise Groups" ihre eigene professionelle Community starten. Bei all diesen Angeboten kommt es darauf an, die jeweilige Zielgruppe genau zu kennen und mehr über ihre Bedürfnisse in Erfahrung zu bringen. Die Schwierigkeit dabei: Aus der Vielzahl der Kunden und Produkte resultiert ein großes Datenvolumen mit einem komplizierten Beziehungsgeflecht. Die statistische Analyse der Daten wird dadurch komplex.
Ausgangssituation: BI-Aufgaben wurden immer komplexer
Die Xing AG mit Sitz in Hamburg betreibt ihre Internet-Plattform derzeit mit mehr als 380 Mitarbeitern. Das Unternehmen ist in den vergangenen Jahren schnell gewachsen - und mit der Firma auch die Datenmenge, was wiederum immer schwierigere Business-Intelligence-Aufgaben nach sich zog. Die steigenden Anforderungen sprengten schließlich die Kapazität der früher eingesetzten Lösung. Teilweise hatte die für die tägliche Datenverarbeitung erforderliche Zeit bereits die 24-Stunden-Marke durchbrochen, berichteten die Verantwortlichen. Das Open-Source-Datenbanksystem, das bei Xing seit 2006 im Einsatz war, konnte die Anforderungen nicht mehr erfüllen, die Durchlaufzeit einzelner Analysen dauerte unverhältnismäßig lang.
"Zur internen Analyse verarbeiten wir mittlerweile pro Jahr einige zehn Milliarden Datensätze beziehungsweise insgesamt rund 16 Terabyte", erläutert Ulrich Fricke, Teamleiter Data Warehouse und Reporting bei Xing. Bereits 2008 sei die damalige Datenbanklösung an ihre Grenzen gestoßen. "Das System war nicht ausbaufähig und nicht skalierbar; auch konnten wir kein Clustering betreiben", erinnert sich der Manager. Die Business-Intelligence-Abteilung habe sich deshalb nach einem leistungsfähigeren Datenbank-Management-System umgesehen. Die Vorgabe dabei: Die neue Lösung sollte eine deutlich höhere Performance bei einem geringen Administrationsaufwand bieten.
Suche und Auswahl
Im August 2008 begannen die Xing-Verantwortlichen ihre Suche nach einer passenden und leistungsfähigen Lösung mit einem Auswahlverfahren. Mit der engeren Auswahl der Kandidaten wurde ein "Proof of Concept" erstellt. Die Entscheidung fiel schließlich für das Produkt "Exasolution" der Firma Exasol aus Nürnberg.
Das System konnte aus Sicht der Community-Betreiber vor allem aufgrund der Leistung, des niedrigen Administrationsaufwands, der einfachen Integration in die vorhandene Infrastruktur sowie eines attraktiven Preises punkten. "Wir haben uns nach einem ausgiebigen Benchmark-Test für die Lösung entschieden", berichtet Fricke. "Die hohe Performance des Systems, das Preis-Leistungs-Verhältnis und der Service haben uns überzeugt." Im ausgewählten Szenario, dem sich die Lösung stellen musste, seien die Abfragen zehn- bis 100-mal schneller beantwortet worden als vom Altsystem. Auch bisher nicht mögliche Abfragen hätten dem Testsystem keine Probleme bereitet.
Die Abfrage-Performance ist aus Sicht des Xing-Managements eines der wesentlichen Leistungskriterien für analytische Datenbanken. Steigende Anforderungen von Anwendern hinsichtlich Antwortgeschwindigkeiten bei gleichzeitig schnell wachsenden Datenmengen seien eine bedeutende Herausforderung für BI-Umgebungen. Auch mit dem aus Xing-Sicht im Benchmark gezeigten guten Kosten-Leistungs-Verhältnis vermeide Exasol eine gravierende Schwäche vieler Systeme in diesem Segment.
Die neue Technik
Bereits seit Mai 2009 setzt der Community-Betreiber als Grundlage für die internen Analysen auf das Datenbank-Management-System Exasolution. Dabei spielt die In-Memory-Cluster-Technik eine entscheidende Rolle: Insbesondere in Kombination mit effizienten Kompressionsalgorithmen sei das System in der Lage, das große Datenvolumen von Xing zu verarbeiten, heißt es von Seiten des Anwenders. Die In-Memory-Technik ermögliche einen hohen Datendurchsatz und damit eine gute Performance beim Zugriff auf Daten. Im Rahmen von lesenden Anfragen erfolgt die Verarbeitung vollständig im RAM, so dass der im Vergleich zum Hauptspeicher langsame Zugriff auf Festplatten entfällt.
Algorithmen sind für den Hauptspeicher optimiert
Schreibende Operationen bei Veränderungen der Datenbank werden redundant auf Disks gespeichert, so dass auch im Fall von Hardwareausfällen keine Daten verloren gehen. Den Inhalt des Hauptspeichers bestimmt die Datenbank selbständig anhand der gestellten Anfragen, selten benutzte Daten werden bei Bedarf einfach nachgeladen beziehungsweise wieder aus dem Hauptspeicher verdrängt. Anders als bei reinen Caching-Verfahren in herkömmlichen Datenbankumgebungen seien die zugrunde liegenden Algorithmen dabei aber für den schnellen Hauptspeicherzugriff eingerichtet und könnten diesen damit besser ausnutzen.
Die erzielten Performance-Gewinne liegen laut Angaben von Xing in der Regel zwischen Faktor zehn und 100 bei bestehenden Abfragen. Zudem ermögliche die neue Lösung Abfragen, die mit dem alten Datenbanksystem auch nach Stunden keine Ergebnisse geliefert hätten.
Daten im Hardware-Cluster automatisch verteilt
Das zugrunde liegende System besteht aus einzelnen Servern mit jeweils zwei Quadcore-CPUs und 48 GB RAM, die zu einem Cluster zusammengeschlossen werden. In diesem werden die Daten automatisch verteilt, so dass sich bei Berechnungen sämtliche Hardwareressourcen optimal nutzen ließen. Ein Zehntel der Rechner wird dabei als Hot Standby genutzt. Etwa ein Drittel des RAMs wird dediziert von Exasolution verwendet, der Rest steht für das Betriebssystem und Erweiterungen zur Verfügung. Die benötigten Indizes werden automatisch ohne Administratoreingriff erzeugt und gegebenenfalls auch wieder gelöscht.
Die neue Lösung organisiert dabei alle Informationen spaltenorientiert statt auf Zeilenbasis wie bei herkömmlichen Datenbanksystemen. Hieraus ergeben sich verschiedene Vorteile: Da im analytischen Bereich selten alle Attribute einer Tabelle gleichzeitig genutzt werden, reduziert sich der Speicherverbrauch und auch die benötigte Disk-Bandbreite, falls Daten nachgeladen werden müssen. Dank der Uniformität der Daten innerhalb einer Spalte verbessern sich zudem die Kompressionsmöglichkeiten. Die Datenbank wählt jeweils automatisch für jeden Inhalt den günstigsten Algorithmus aus.
Anders als bei konventionellen Systemen ist bei Exasolution zudem die verteilte Datenspeicherung bereits integriert, berichten die Xing-Verantwortlichen. Ein aufwendiges Storage Area Network (SAN) als externe Speicherlösung entfalle damit. Durch die Verwendung von Standardkomponenten komme die Cluster-Hardware Unternehmen meist günstiger als Spezialhardware. Dar-über hinaus setze die Lösung Kompressionsalgorithmen ein, die eine effiziente Hauptspeichernutzung ermöglichten und demzufolge die Systemkosten nachhaltig senkten.
Auf Hauptspeicheralgorithmen abgestimmte Kompression
Die Kompression ist dabei auf die Hauptspeicheralgorithmen abgestimmt, die laut Hersteller weiterhin wahlfrei auf Einzelattribute zugreifen können, ohne dass dafür ganze Blöcke dekomprimiert werden müssten. Der Kompressionsfaktor erreiche damit zwar nicht die Werte von blockbasierten Algorithmen, bei typischen Daten sei eine Reduktion um den Faktor zwei bis vier jedoch durchaus realistisch. Die Datenbank gebe dabei Auskunft über die komprimierte Größe jeder Tabelle sowie den daraus resultierenden Ressourcenverbrauch.
Exasolution ist dem Anbieter zufolge darüber hinaus ein selbstlernendes System, das sich an die Nutzungsgewohnheiten der Anwender anpassen könne. Indizes würden automatisch verwaltet, Daten komprimiert und SQL-Anweisungen vom Query-Optimizer getunt. Xing sei damit in der Lage, die Millionen Queries pro Monat zu verarbeiten, die sich aus den täglichen hochparallelisierten und komplexen Lade- und Transformationsprozessen sowie den interaktiven Nutzerabfragen zusammensetzten.
Die wichtigsten Ressourcen werden bei diesen Prozessen ständig überwacht. Außerdem stellt das System den Anwendern kontinuierlich Informationen über verschiedene Systemtabellen bereit. Bei der wichtigsten Ressource, dem Hauptspeicherausbau, empfiehlt das System, wie sich das aktuelle Nutzungsprofil optimal abdecken lässt. Dass diese Empfehlung keine harte Grenze, sondern tatsächlich ein Optimum darstellt, zeigt sich bei Xing: Laut den IT-Experten ist die Leistung selbst bei nur 50 Prozent des empfohlenen Ausbaus gut.
Die Implementierung
Mit Hilfe von Experten des Software-Lieferanten ist es laut Xing gelungen, Exasolution innerhalb von vier Wochen in die bestehende Infrastruktur einzubinden. Die Integration in die vorhandene BI-Infrastruktur mit Lösungen von SAS und Microstrategy (direkte Schnittstelle) sowie die Anbindung an bestehende ETL-Prozesse (Extract, Transform, Load) sei dank der mitgelieferten Standardtreiber (ODBC, JDBC) reibungslos verlaufen.
Da auch das vorhandene Datenmodell zunächst fast eins zu eins übernommen werden konnte, seien an den Frontends kaum Anpassungen nötig gewesen. Im Rahmen der Implementierung sei zunächst ein wöchentlicher, später ein täglicher Datenimport der Basisdaten aus dem noch bestehenden Altsystem eingerichtet worden. Dadurch habe sich das neue System schnell für Analysen bereitstellen lassen. Alle Weiterentwicklungen, insbesondere die Anpassung der ETL-Prozesse, hätten in der Folge ohne Zeitdruck und mit dem Ziel der optimalen Ausnutzung der neuen Lösung angegangen werden können.
Migriert wurden im Rahmen der Umstellung zunächst die CPU- beziehungsweise RAM- und entwicklungszeitlastigen ETL-Prozesse des so genannten Intelligence Layers. Dort werden auf höchster granularer Ebene Informationen aus verschiedenen Quellen unter Berücksichtigung der jeweils entsprechenden Business-Logik kombiniert.
Das Lizenzmodell
Entscheidend für die Produktauswahl war nach Angaben von Xing auch ein weiteres Attribut von Exasol: Der Kunde bezahlt nur das, was er tatsächlich benötigt. Das Lizenzmodell beruht auf dem für die Datenbank konfigurierten Hauptspeicher - unabhängig davon, auf welcher Hardware mit wie vielen Benutzern auf wie viele Rohdaten zugegriffen wird.
Die Abrechnung erfolgt monatlich oder jährlich im Miet- oder Kaufmodell. Für den Kunden ist üblicherweise die TCO (Total Cost of Ownership) über drei beziehungsweise fünf Jahre entscheidend. Dabei werden neben den reinen Anschaffungskosten auch Betriebskosten sowie Wartungsgebühren und Administrationsaufwände einberechnet.
Die Resultate
Erste positive Effekte haben sich laut Angaben der Xing-Entscheider bereits nach kurzer Zeit eingestellt. Dazu zählten vor allem deutliche Verbesserungen bei den Analysen: Existierende Reports lieferten ihre Ergebnisse jetzt in einem Bruchteil der gewohnten Zeit, neue Analysen seien dank der kurzen Ausführungszeiten und der einfacheren Handhabung mit wesentlich kürzeren Entwicklungs- und Freigabezeiten verbunden.
Durch die schrittweise Migration der Prozesse vom Altsystem konnte der ETL-Prozess den Angaben zufolge um mehrere Stunden pro Tag beschleunigt werden. Auch die Entwicklung neuer ETL-Abläufe lasse sich im Vergleich zu früher um den Faktor zehn bis 50 schneller abwickeln. Durch die Entlastung des alten Systems sei auch der Administrationsaufwand gesunken, da das bis dato aufwendige Tuning nach und nach entfallen sei.
Im Datenbanksystem von Xing liegen jetzt mehr Informationen über Herkunft und Zeit der verschiedenen Datensätze und Prozesse vor. Verschiedene Tabellen wurden um weitere Attribute erweitert, um zusätzliche Details abbilden zu können. Die bisher organisch gewachsenen Prozesse und KPIs wurden größtenteils vereinheitlicht, was sowohl die Wartung als auch die Verarbeitungsgeschwindigkeit verbessert hat.
Einige Prozesse konnten laut dem Unternehmen vollständig abgestellt werden, da sie lediglich Besonderheiten des Altsystems betrafen oder sich im neu eingeführten System durch virtuelle Data Marts (Views) abbilden ließen.
Bessere Antworten auf wichtige Unternehmensfragen
Aufgrund der besseren Performance des Systems sei es den Xing-Verantwortlichen nun auch möglich, Anfragen zu stellen, die auf dem Altsystem keine Chance auf eine Antwort hatten. Eine Vorberechnung und Zusammenfassung sei heute nicht mehr notwendig. "Wegen der besseren Performance der Exasol-Lösung sind jetzt auch bisher unmögliche Auswertungen der Datensätze machbar", erläutert Fricke. Damit ließen sich die wichtigen Fragen des Unternehmens schnell durch gezielte Datenanalysen beantworten.
Die Perspektive
Die neue Data-Warehouse-Lösung hat Xing laut eigenen Angaben nach der Migration einen wichtigen Schritt vorwärtsgebracht und geht seit mehr als zwei Jahren jedes Wachstum des Community-Berteibers mit. Seitdem hat sich das Datenvolumen vervielfacht.
Darüber hinaus ist Xing auf ein kontinuierliches Datenwachstum vorbereitet. Das System wurde Anfang 2011 erweitert, um den steigenden Anforderungen gerecht zu werden: als Unterstützung für rechenintensive Anfragen wurde die Anzahl der aktiven Server verdoppelt und die Lizenz bezüglich der RAM-Kapazität auf 150 Prozent der Initialgröße erhöht. Xing nutzt außerdem den direkten Kontakt zu den Exasol-Mitarbeitern, um Feedback für zukünftige Erweiterungen zu geben.
Spaltenorientierte Datenbank |
Data Warehouse Appliance |
Verteilte Systeme (MapReduce/Hadoop |
Relationale Datenbank |
|
Hohe Leistung |
++ |
++ |
++ |
O |
Große Datenmengen |
++ |
+ |
++ |
- |
Unstrukturierte Daten |
- |
+ |
++ |
O |
Komplexe Datenbeziehungen |
O |
+ |
O |
++ |
Gute Managebarkeit |
+ |
++ |
O |
+ |
Gute Möglichkeiten für Erweiterungen |
+ |
++ |
O |
+ |
Legende: ++ = optimal, + = gut, O = durchschnittlich, - = schwach;
Quelle: Forrester
(Computerwoche)