Projekt mit In-Memory-Technik

Daten-Analyse rapide beschleunigt

05.10.2010 von Hartmut  Wiehr
Ein hochskalierbares Datenbankmanagement-System beim Marktforschungsunternehmen IMS Health soll die Performance der Daten-Analysen um bis zu 80 Prozent steigern.
Das Marktforschungsunternehmen IMS Health setzt für seine Datenanalysen im Pharma- und Gesundheitsbereich Cluster-Löungen für Data Warehouses ein. (Foto: IMS Health)

IMS Health versorgt seit über 50 Jahren die Entscheider und Forscher der Pharma- und Gesundheitsindustrie mit Daten und Analysen über die Marktentwicklung ihrer Produkte. Zur Erschließung, Aufbereitung und analytischen Nutzung neuer Datenquellen wurde auf lokaler Ebene in Deutschland ein leistungsstarkes System benötigt, um große Datenmengen in ein Data Warehouse zu laden, zeitnah zu analysieren und ad hoc in entsprechenden Strukturen auszugeben.

Neben den primären Datenanalysen werden permanent Informationen und Beratungsleistungen zur Steuerung von Unternehmensbereichen für die strategische Planung und die Portfolio-Entwicklung gesammelt. Dafür nutzen die Marktforscher Daten aus unzähligen Quellen wie Krankenhäusern, Apotheken, dem pharmazeutischen Großhandel und niedergelassenen Ärzten.

Das Unternehmen mit Hauptsitz in Norwalk (Connecticut) )beobachtet permanent etwa eine Million Präparate und benutzt dafür über 200.000 Datenquellen weltweit. Am Deutschlandsitz in Frankfurt laufen allein über die Apotheken monatlich etwa 40 Millionen Verordnungen, und IMS Health erhält all diese Daten zur Weiterverarbeitung im Tages-, Wochen- und Monatsrhythmus.

Die besondere Herausforderung bei der Modernisierung der Datenanalysen bestand darin, ein hochskalierbares System einzusetzen. Im Laufe der Jahre kommen beständig neue Datenlieferanten hinzu, was mit steigenden Datenvolumina einhergeht und eine Integration verschiedener Datenquellen erfordert.

Um diese Aufgaben zu meistern, setzt IMS Health auf ein breites Produktportfolio mit verschiedenen Hardware-Systemen, Datenbanken und Client-Server-Applikationen. Um den speziellen, lokalen Bedürfnissen in Deutschland Rechnung zu tragen, ergab sich die Notwendigkeit, eine alternative Infrastruktur zu finden, auf der Prototypen für neue, innovative Projekte und Produkte entwickelt werden konnten, ohne jedoch die Kosten massiv in die Höhe zu treiben.

Data Warehouse für Pharma- und Healthcare-Informationen

Als IMS Health vor drei Jahren die In-Memory-Cluster-Datenbanktechnologie von dem Anbieter Exasol aus Nürnberg testete, ging es zunächst um einen Proof-of-Concept für das Produkt EXASolution. Dabei zeigte die eingesetzte Lösung eine bis um den Faktor 80 höhere Performance als die bisher eingesetzten Client-Server-Systeme.

Der Nürnberger Anbieter führte einen dreiwöchigen Stresstest auf einem Datenvolumen durch, das mit den Anforderungen der Marktforscher vergleichbar war, und setzte dann bei IMS Health den Cluster mit der Datenbanklösung auf. Auf Wunsch von IMS Health implementierte der Datenbankanbieter zwei wichtige Features: Es wurde eine zusätzliche Funktion im ETL-Bereich (Extraction Transformation Loading) integriert, die es ermöglicht, Dateien im FBV-Format (Fixblock-Datenformat) performant in die Datenbank zu laden. Darüber hinaus wollte IMS Health in der Lage sein, eigene Client-Applikationen zu programmieren und über native Schnittstellen auf die Datenbank zuzugreifen. Die Bereitstellung eines Client-SDK (Software Development Kit) machte diese Anforderung möglich.

Das Data-Warehouse-System bestand zunächst aus fünf Servern mit Intel Xeon-CPUs, von denen einer als Stand-by für die Ausfallsicherheit sorgt. Die Prozesse der Befüllung konnten nach einer Schulung selbst durchgeführt werden. Das Team definierte die Strukturen für die Daten, konfigurierte das Sicherheitskonzept und stellte die Integration in die IT-Infrastruktur des Rechenzentrums sicher.

Sehr wichtig war das Aufsetzen der Validierungsprozesse, das heißt die Implementierung der Regeln, nach denen die Daten validiert beziehungsweise aufbereitet werden, bevor sie aus dem System extrahiert und für die Analysen und weiterführenden Systeme bereitgestellt werden.

Zuletzt musste das Team noch die verschiedenen Abfragen, Reports, Extrakte und Datenausschnitte programmieren, die in der Produktion verwendet werden. Bestimmte Prozesse und Analysen verlangen den Aufruf von kompletten Datenbeständen in der Größe von mehreren hundert Gigabyte, was sehr hohe Ansprüche an die Leistungsfähigkeit des Systems stellt. Deshalb sollte das neu eingeführte System die Nutzer in die Lage versetzen, die Performance ihrer Prozesse und Programme signifikant zu erhöhen.

Datenwachstum - per Cluster-Lösung bewältigt

Mit der zunehmenden Erweiterung des Nutzungskonzeptes von EXASolution, der Ausdehnung auf weitere fachliche Anwendungen bei IMS Health und der weiter wachsenden Datenmenge wurde im Jahre 2010 eine zweite Erweiterung der Systemkapazität um 150 Prozent erforderlich.

Die eingesetzte Datenbank-Lösung ist für die Anforderungen von Data-Warehouse-Umgebungen konzipiert und beruht auf einem Shared-Nothing-Cluster aus parallel arbeitenden Standard-Servern. Das bedeutet, dass die Daten automatisch und gleichmäßig auf die Server verteilt und spaltenweise lokal auf die Festplatten der Rechner gespeichert werden. Für die hohe Leistung sorgen eine In-Memory-Verarbeitung sowie spezielle Kompressionsalgorithmen.

Durch den Einsatz großer RAM-Mengen je Server und automatische Kompressionsmethoden können die aktiven Daten der Nutzer komplett im Hauptspeicher gepuffert werden. Bei lesenden Anfragen erfolgt die Verarbeitung vollständig im RAM, so dass der langsame Zugriff auf Festplatten entfällt. Datenänderungen hingegen werden mehrfach auf die Festplatten gespeichert.

Dieser Ansatz lässt völlig neue Algorithmen hinzu, die nicht auf die I/O-Beschränkungen ausgelegt sein müssen. Die Technologie macht dabei eine Aggregation der Daten überflüssig, welche die Analysemöglichkeiten stark einschränkt. IMS Health kann mit dem Data Warehouse auf die Rohdaten zurückgreifen und damit exaktere Analysen liefern.

Zudem ist das System selbstlernend, das heißt, es optimiert sich während der Abfrageläufe selbst und verbessert damit stetig die Performance. Das Datenbanksystem liefert derzeit Datenextrakte, die nach bestimmten Regeln erzeugt und danach weiterverarbeitet werden, entweder mit statistischen Werkzeugen oder in einem Online-Tool, auf das die Kunden Zugriff haben. Mehr als 20 skalare Funktionen anderer Datenbank-Hersteller sind heute implementiert. Dadurch können Kunden die Lösung einfacher integrieren, auch im Bezug auf die Anpassungen bei SQL-Abfragen oder Ladeprozessen.

Standard-Hardware und steigende Performance

Aufgrund der Performance-Steigerung können die Marktforscher den Kundenanforderungen besser begegnen: Das Bereitstellen und Darstellen von Daten hat sich von mehreren Tagen auf einen Tag beziehungsweise von Stunden auf Minuten verkürzt. Dies ist auch im Hinblick darauf bedeutend, dass die Rohdaten, die die Datenbank liefert, häufig nur einen von vielen Bausteinen in komplexen Analysen in nachgelagerten Prozessen darstellen, und es daher besonders wichtig ist, sie zeitnah zur Verfügung zu stellen.

Für die Kunden bedeuten verkürzte Liefertermine der benötigten Daten einen maßgeblichen Gewinn, denn gerade in der Pharmaindustrie und im Gesundheitswesen sind zeitnahe und risikoarme Entscheidungen, basierend auf qualitativ hochwertigen Daten, sehr wichtig. Das neue System ist auf preiswerter Standard-Hardware verfügbar und erhöht den überschaubaren Aufwand für den Betrieb im Firmennetzwerk beziehungsweise Rechenzentrum. Die Skalierbarkeit benötigt keine komplett neue Hardware, sondern lediglich weitere Standard-Server. Falls einer der Server ausfällt, sichern intelligente Failover-Mechanismen die Verfügbarkeit der Datenbank.