Neues Datenbanksystem

Xing analysiert seine Community in-Memory

02.10.2012
Von Wiebke Lörcher

3) 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 werden 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.