Analytische Datenbanken: Hochleistungsmotoren für CRM

Es gibt sie schon seit über 15 Jahren: Neue Datenbanktechnologien, die darauf ausgelegt sind, riesige Datenbestände bei gleichzeitig hoher Anzahl von Abfragen durch viele bis sehr viele Nutzer in Sekundenschnelle zu analysieren. Aber erst heute finden sie Beachtung und eine stark zunehmende Nachfrage.

Der Einsatz solcher analytischer Datenbanken, wie sie jetzt genannt werden, nimmt zu. Im CRM-Expertenrat sehen wir hier als Trend einen weiteren Anstieg der Nachfrage nach analytischen Datenbanken in 2011, besonders eben wenn es um den Kunden und das Kundenwissen im analytischen CRM geht.

Ziel von analytischem CRM ist es, ein umfassendes Kundenwissen bereitzustellen, kundenorientierte Prozesse mittels Kundenanalytik anzureichern und durch Performance Management zu steuern. Analytisches CRM basierte bisher auf unternehmensinternen Daten und externen Daten, die man zukaufte, um die eigenen Daten um demografische, soziografische, psychografische oder firmografische Information anzureichern. Heutzutage nutzt man darüber hinaus Daten aus dem Web und den sozialen Medien. Dazu wird analytisches CRM um neue Methoden und Technologien zur Analyse unstrukturierter Daten erweitert. So wird beispielsweise ein Social Media Monitoring möglich. Weiterhin wird in zunehmendem Maße analytisches CRM auch operationalisiert und dient jetzt auch der Überwachung und Steuerung von operativen CRM-Prozessen. Damit werden Analysen in Echtzeit möglich und Ereignisse können entdeckt werden. Das schafft intelligente Kundeninteraktionen in Echtzeit. Im analytischen CRM kommen jetzt auch die neuen Analytik-Werkzeuge zum Einsatz, die den Fokus auf hohe Interaktivität, intuitive Visualisierung und Kollaboration im Web-2.0-Stil legen. Schließlich stiften analytische Datenbanken einen hohen Nutzen im analytischen CRM: Mit fast linearer Skalierbarkeit und nahezu 100facher Performanz können so die in den Pentabyte-Bereich gewachsenen Datenmengen über den Kunden und sein Verhalten in Sekundenschnelle analysiert werden.

Der Treiber für analytische Datenbanken liegt auf der Hand. Das Datenvolumen steigt schneller als die Leistung von traditionellen Datenbanken. Man schafft es einfach nicht mehr, Daten im Detail zu analysieren, da es schlichtweg zu lange dauert. Gartner sagt in seinem Bericht zum Magic Quadrat for Data Warehouse Database Management Systems 2010: „Gartner-Klienten stehen bei der Abfrage von Data Warehouses immer häufiger vor erheblichen Performanceproblemen. Auf Grundlage dieser Informationen dürften rund 70 Prozent aller Data-Warehouses mit derartigen Problemen zu kämpfen haben.“

Was machen analytische Datenbanken anders als herkömmliche Datenbanken? Da gibt es in der Tat verschiedene Methoden, die sich auch miteinander kombinieren lassen. Beginnen wir mit spaltenorientierten Datenbanken. Herkömmliche relationale Datenbanken sind zeilenorientiert. Das schafft bei großen Datenmengen einige Probleme, die wir jetzt zuerst beleuchten und danach die Vorteile von spaltenorientierten Datenbanken herausarbeiten.

Ein Datensatz, der beispielsweise einen Kunden beschreibt, hat sagen wir 1000 Attribute, aber wir haben so viele Sätze, wie wir Kunden haben, also durchaus Millionen Sätze und vielleicht sogar noch mehr. Wenn wir nun in einer herkömmlichen Datenbank nach gewissen Kunden mit bestimmten Merkmalen (definiert über die Attribute) suchen, dann muss man eben alle Datensätze lesen. Beim Lesen stößt man gleich an ein ganz allgemeines Problem von herkömmlichen Datenbanken. Die sind nämlich gar nicht zum Lesen vieler Datensätze gebaut, sondern vom Design her eher transaktionsorientiert. Sprich, eine Datenbank gibt mir über einen Index in Bruchteilen von Sekunden eine bestimmte Datenmenge zum Ändern, Löschen oder Neuanlegen.

Schnelle Antworten finden

Will man also Ad-hoc-Abfragen auf herkömmlichen relationalen Datenbanken durchführen, dann braucht man Indizes und Aggregate, um schnelle Antworten zu erzielen. Das bedeutet aber, dass die Abfragen schon vorher bekannt sein müssen und durch Datenbankspezialisten aus der IT vorbereitet werden müssen (sie bauen die Indizes und Aggregate). Mit anderen Worten, das ist teuer, weil gut bezahlte Spezialisten notwendig sind. Das ist zudem langsam. Denn wenn man mit einer neuen Idee kommt, zu der es noch keine Indizes und Aggregate gibt, dann müssen die erst gebaut werden.

Wenn man eine Abfrage ohne eine solche Vorbereitung startet, kann der ganze IT-Betrieb empfindlich gestört werden. Indizes und Aggregate haben noch eine weitere unangenehme Eigenschaft: Sie brauchen Platz und machen die Datenbank um einen meist zweistelligen Faktor größer als notwendig. Damit wird sie dann immer langsamer. Das führt dazu, dass irgendwann der Augenblick kommt, ab dem man gar keine Abfragen an die Datenbank mehr stellt, weil die Antworten viel zu spät eintreffen. Der Nutzer ist frustriert, das Kundenwissen liegt brach in der Datenbank. Information über den Kunden wird zu einem reinen Kostenfaktor. Kundenwissen lässt sich nicht mehr anwenden. An dieser Stelle stehen heute viele Unternehmen.

Analytische Datenbanken schaffen hier Abhilfe
Bei einer spaltenorientierten Datenbank kann jede Spalte in einer eigenen Datei liegen, d.h., auf einen Wert eines Attributs eines Kundendatensatzes folgt in Lese-Reihenfolge nicht das nächste Attribut desselben Datensatzes, sondern das gleiche Attribut des nächsten Datensatzes: Die Zeilen und Spalten der Tabelle werden miteinander vertauscht. Intuitiv funktioniert dies, da in der Analytik meistens wenige Attribute von sehr vielen Datensätzen benötigt werden. Aufgrund der Spaltenorientierung müssen die restlichen Attribute nicht gelesen werden. Mit anderen Worten: Das Lesen wird drastisch reduziert, weil man durch das Vertauschen von Zeilen und Spalten nur noch höchstens so viele Datensätze wie Attribute hat. Da die Anzahl der Attribute in der Regel klein ist gegen die Anzahl der Datensätze, bringt das einen hohen Performance-Gewinn. Jedoch wird das Schreiben von Datensätzen dadurch sehr teuer, was man aber oft durch Differenzdateien zum Teil ausgleichen kann.

Aufgrund dieser Basiseigenschaft von spaltenorientierten Datenbanken erhält man einen weiteren Vorteil. Man braucht keine Indizes und Aggregate mehr. Das macht die Datenbank schlanker, was wiederum das Lesen beschleunigt. Zusätzlich lassen sich die Daten dann komprimieren. Dazu werden einfache Verfahren genutzt, die es erlauben, relationale Operationen auf den komprimierten Daten auszuführen. So können beispielsweise mehrfach vorkommende Werte durch Kürzel fixer oder variabler Länge ersetzt werden, die durch ein Wörterbuch bei Bedarf wieder in die ursprünglichen Werte übersetzt werden können. Folgen identische Werte direkt aufeinander, können diese Sequenzen lauflängencodiert abgelegt werden. Sortierte ganzzahlige Daten können durch Differenzbildung zum jeweiligen Vorgänger oder zu einem lokalen Minimum in wenigen Bits untergebracht werden. Ein solches Komprimieren bringt also Kostenvorteile, da die Datenbank „klein“ wird (Relativ zu einer zeilenorientierten Datenbank können die Daten bis zu 80 Prozent komprimiert werden.) Man erhält so weitere Performance-Vorteile.

Noch mehr Beschleunigung bringen neue Methoden, um auf komprimierten Spalten zu operieren. Die Benutzerschnittstelle bleibt zwar weiterhin SQL, aber die dahinter liegenden Zugriffsmethoden und -algorithmen ändern sich. Das wollen wir hier nicht im Einzelnen diskutieren. Als Beispiele seien hier nur das parallele Scannen mehrerer Spalten und das von Google patentierte „MapReduce“-Verfahren genannt.

Beschleunigen auf allen „Ebenen“
Eine weitere Beschleunigung lässt sich durch Parallelisieren der Verarbeitung auf Clustern und durch In-Memory-Verarbeitung erreichen. Das gilt sowohl für zeilen- wie auch spaltenorientierte Datenbanken. Daten werden dabei automatisch und gleichmäßig über alle Server eines Clusters verteilt, sodass für Abfragen alle Hardware-Ressourcen optimal ausgenutzt werden. Die Software ist so konzipiert, dass jeglicher Tuningaufwand entfällt, wie er in konventionellen Systemen üblich ist. Die Datenbanklösung legt Indizes automatisch an, analysiert und komprimiert die Daten selbstständig und verteilt sie optimal über die Knoten. Intelligente Algorithmen fangen Serverausfälle auf und sorgen dafür, dass das System für Nutzer innerhalb weniger Sekunden ohne deren Zutun wieder zur Verfügung steht.

Analytische Datenbanken werden in unterschiedlichen Ausprägungsformen angeboten. Es gibt parallelisierte herkömmliche Datenbanken, die in der Regel als Appliance angeboten werden, also eine spezielle Hardware und die parallelen Zugriffsmethoden und Algorithmen. Dabei sind solche Datenbanken dann immer noch zeilenorientiert.
Beispiele: EMC Greenplum, HP Neoview, Kognitio, IBM DB2 UDB DPF, IBM Netezza, Oracle Exadata, Teradata.

Dann gibt es analytische Datenbanken, die spaltenorientiert sind, aber weitgehend hardwareunabhängig eingesetzt werden können.
Beispiele: Apache Hadoop HBase, Illuminate, InfoBright, SAP Sybase IQ, Vertica.

Und schließlich gibt es spaltenorientierte Datenbanken, die als Appliance teilweise mit spezieller Hardware angeboten werden, aber insbesondere In-Memory einsetzen.
Beispiele: Exasol, IBM Smart Analytics Engine, ParAccel, SAP HANA.

Daneben gibt es auch noch besondere Verfahren wie beispielsweise „Database Images“, das von Panoratio eingesetzt wird. Solche besonderen Verfahren bringen ähnliche Performanz- und Skalierungsgewinne.

Wir sehen für analytische Datenbanken in 2011 ein gutes Wachstum vor allem auch im Einsatz im analytischen CRM. Einer der Treiber wird dabei sicherlich das Social Media Monitoring sein. Analytische Datenbanken lösen die Probleme, mit denen die Kunden heute kämpfen: Performance, Skalierbarkeit und Kosten. Fassen wir auch nochmal die Vorteile zusammen:

  • Informationen sind flexibler abrufbar und stehen bis zu 100-mal schneller zur Verfügung.
  • Die Nutzerzufriedenheit erhöht sich signifikant aufgrund des schnelleren und flexibleren Zugriffs auf Information. Es können jetzt Daten analysiert werden, die vorher ohne Nutzen, aber mit Kosten gespeichert wurden. Das unterstützt und schafft bessere Entscheidungen.
  • Die IT wird entlastet, da die analytischen Datenbanken hoch automatisiert sind und ein spezielles Wissen über Datenbankdesign und Tuning deutlich weniger gefragt ist.

Zwei Dinge sollten zum Schluss noch klar gesagt werden:

  • Eine analytische Datenbank macht ein physikalisches Datenbankdesign und -tuning weitgehend obsolet, aber sie ersetzt keineswegs das logische, fachliche Design der analytischen Datenbank. In diesem Sinne bleibt weiterhin ein Information Management unabdinglich, auch wenn analytische Datenbanken eingesetzt werden. Denn ein Stamm- und Metadaten-Management, ein Datenqualitäts-Management, eine Information Governance und die anderen Aufgaben im Information Management bleiben auch mit analytischen Datenbanken kritische Erfolgsfaktoren.
  • Eine analytische Datenbank ersetzt nicht die herkömmlichen Datenbanken in der Transaktionsverarbeitung. Analytische Datenbanken sind eine neue Generation von Datenbanken für analytische Aufgaben im Unternehmen. Ein Unternehmen braucht heute eben zwei unterschiedliche Datenbanktechnologien, eine für die analytischen Aufgaben, eine für die Transaktionsverarbeitung. Dabei lassen sich natürlich analytische Datenbanken nicht nur im analytischen CRM, sondern auch in allen Bereichen der Analytik einsetzen.
Fazit:
Analytische Datenbanken bringen den Nutzern ganz neue Möglichkeiten sowohl in der Skalierbarkeit und der Performance als auch bei den Betriebskosten. Neueste Techniktrends sind hierbei die Spaltenorientierung inklusive Komprimierung und Zugriffsverfahren, die massiv parallele Verarbeitung sowie die In-Memory-Technologie. Wer heute komplexe Analysen auf großen Datenmengen durch viele Benutzer mit vielen Abfragen ausführt und eine hohe Performance und Skalierbarkeit bei einfacher Wartbarkeit benötigt, sollte analytische Datenbanken auf jeden Fall berücksichtigen. Wir meinen: Eine Evaluation lohnt sich auf jeden Fall. Damit sollte man auf keinen Fall mehr warten!

Autor: Dr. Wolfgang Martin

Dr. Wolfgang Martin ist ein europäischer Experte und Analyst auf den Gebieten • Business Intelligence, Analytik, Big Data • Information Management, Information Governance • CRM (Customer Relationship Management) • Cloud Computing (PaaS, SaaS) Sein Spezialgebiet sind die Wechselwirkungen technologischer Innovation auf das Business und damit auf die Organisation, die Unternehmenskultur, die Businessarchitekturen und die Geschäftsprozesse. Er ist Mitglied im BBBT (Boulder BI Brain Trust) (www.BBBT.us), iBonD Partner(www.ibond.net), Research Advisor am Institut für Business Intelligence der Steinbeis Hochschule Berlin (www.i-bi.de) und Mitglied des CRM Expertenrates (http://www.crm-expert-site.de/expertenrat/main_expertenrat.cfm?site=rat). Vor der Gründung des Wolfgang MARTIN Teams in 2001 war Dr. Martin über fünf Jahre bei der META Group, zuletzt als Senior Vice President International Application Delivery Strategies.

E-Mail: wolfgang.martin@wolfgang-martin-team.net

Internet: http://www.wolfgang-martin-team.net