Editorial Dezember 2016

In-Memory-Datenbanken - Wo kommen sie eigentlich her?

Auf eins kann man sich verlassen: Die Entwicklung in der Computer- und Softwaretechnik geht rasend schnell vonstatten. Aber auch wenn von verschiedenen Seiten (u.a. hier Von-Neumann-Flaschenhals) das Ende der Mooreschen Gesetzmäßigkeit vorhergesagt wird, es steht immer mehr Rechenleistung zur Verfügung. Gerade die Entwicklung im Bereich der Algorithmen hat in den letzten Jahren wieder stark zugenommen, nachdem um den Jahrhundertwechsel dieser Bereich etwas "geruht" hat.

Doch wenn man in Datenmengen wühlt, um Informationen zu generieren und Einblick zu erhalten, wenn man Daten "massiert" oder "niederringt" (erster Begriff von einem Anwender, zweiter von einem Anbieter geprägt) und wenn man an Datenbreite und -tiefe nicht genug bekommt, es geht immer zu langsam. Unser Thema Business Intelligence frisst Performance. Was mit ein paar Gigabyte an Rohdaten und einer Quelle noch funktionieren mag, mit x Terabyte und y Quellen wird die Wartezeit unerträglich. Wenn das Ergebnis dann vorliegt, hat man die Frage entweder vergessen oder das Ergebnis ist längst überholt.

Wo setzt man also an?

Drei Dinge braucht die Datenverarbeitung, hat der geschulte Informatiker gelernt: Prozessor (CPU), Hauptspeicher (RAM) und persistenter Speicher (früher Festplatte, heute eher SDD). Der Prozessor-interne Speicher (Cache) ist aktuell mit einem Datendurchsatz von ca. 400 GByte/s deutlich schneller als der Hauptspeicher mit ca. 10 GByte/s Datendurchsatz (beide Werte für einen aktuellen Intel i7 mit passendem RAM). Eine moderne SSD kommt dagegen gerade einmal auf 0,5 GByte/s.

Der Flaschenhals liegt als eindeutig beim persistenten Speicher. Die absoluten Zahlen mögen sich geändert haben, der Geschwindigkeitsunterschied ist jedoch im Verhältnis ähnlich seit es Personal Computer gibt, also ca. Mitte der 70er Jahre.

Auch zu dieser Zeit gab es bereits Anwendungen zur Auswertung von Informationen, speziell Finanz-Informationen, und Planung mit entsprechendem Bedarf an schneller Lieferung derselben. Was taten also findige Programmierer, um die Geschwindigkeit zu erhöhen? Möglichst viel Datenverarbeitung vom langsameren persistenten Speicher in den Hauptspeicher verlagern. Die ersten In-Memory-Systeme waren geboren.

Bereits Ende der 70er Jahre gab es mit heutigen OLAP-Datenbanken vergleichbare Anwendungen. Eine der ersten In-Memory-Systeme von einem vielversprechenden Entwickler aus Vancouver wurde leider gerichtlich durch eine Garagen-Firma aus dem Silicon Valley verhindert. 

Das erste richtig brauchbare Produkt in dieser Klasse wurde dann 1984 von der Firma Sinper Corporation aus New Jersey präsentiert. Der Gründer dieser Firma war vorher 14 Jahre für die Planung bei ExxonMobil zuständig: Manny Perez. Das Produkt hieß "Table Manager 1", kurz TM1 genannt. Die erste, jetzt noch existierende In-Memory-Datenbank ist also TM1, founded 1984. Anderslautende Meldungen sind schlechtes Marketing.

Zu den ersten vier Kunden von Sinper gehörte das Pharmaunternehmen Bristol Myers-Squibb. Der dort für internationales Controlling zuständige Mitarbeiter, Duane Presti, war begeisterter TM1-Anwender. Sein Credo: "Wenn ich hier (BM-S) damit (TM1) Erfolg habe, kann ich damit (TM1) überall Erfolg haben". Er hatte Erfolg, kündigte und erwarb von Sinper die internationalen Vertriebsrechte an TM1. Beeinflußt wurde die Weiterentwicklung durch seine Feature-Requests wie Rule-Engine, Benutzerberechtigung und Schnittstellen zum damals neuerschienenen Excel. Der weltweite Erfolg von TM1 nahm seinen Lauf.

Durch Duane Presti stieg die Kundenzahl rasant, vor allem in Großbritannien, Australien und ... Deutschland. Erster Kunde wurde hier die Bank für Gemeinwirtschaft (BfG). Daneben erfuhr TM1 vor allem durch die Partnerschaft mit dem Darmstädter Unternehmen MIS GmbH in Deutschland Anfang der 90er Jahre große Verbreitung.

Die Fortsetzung der Geschichte finden Sie im nächsten Newsletter.