Angstfrei: Google-Technologie für alle
Passau. Der Lehrstuhl für Programmierung an der Universität Passau engagiert sich dafür, MapReduce für eine breite Palette von Institutionen und Unternehmen leichter handhabbar zu machen. MapReduce ist das Rechenschema hinter der Technologie von Suchmaschinen wie Google.
„Jedes Mal, wenn ich eine Suchmaschine nutze, bin ich hingerissen von ihrer Fähigkeit, innerhalb von Millisekunden aus einer riesigen Datenmenge Tausende relevante Treffer zu einem bestimmten Schlüsselwort zu finden.“
Was die meisten Menschen ohne viele Gedanken nutzen, identifiziert Prof. Christian Lengauer als bisher mächtigste Umsetzung des Rechenschemas MapReduce, an dem seine Gruppe bereits mitgeforscht hat, bevor Suchmaschinen alltägliches Werkzeug wurden. Die Deutsche Forschungsgemeinschaft (DFG) hat der Universität Passau nun ein Forschungsvorhaben bewilligt, das an der Fakultät für Informatik und Mathematik von Prof. Lengauer und Dr. Sven Apel koordiniert wird. Das Projekt mit dem Titel MapReduceFoundation will die Nutzung des Rechenschemas zukünftigen Anwendern erleichtern. Ein wichtiger Schritt auf diesem Weg ist es, bei der Programmierung mit MapReduce die Typsicherheit zu garantieren. In der Programmierung können sich schnell Fehler in den verwendeten Datenformaten einschleichen. Typsicherheit bedeutet, dass solche Fehler schon während des Programmierens und nicht erst im Betrieb erkannt werden. So können unerwartete Programmabbrüche vermieden werden. „Obwohl die derzeitig dominierende Programmiersprache Java als typsicher gilt, kann es bei der Programmierung von MapReduce-Berechnungen in Java zu Formatkonflikten kommen, die unerkannt bleiben. Wir entwickeln unter anderem eine Technik, die es ermöglicht, Formatkonflikte vor dem Betrieb zu erkennen, und zwar, ohne den Programmierer zusätzlich zu belasten.“, erklärt Lengauer.
Die Idee von MapReduce ist im Grunde recht einfach. Anwendungen, die sich dafür eignen, sind weit älter als das Internet. „Ein Beispiel ist die Konkordanz der Bibel, die angibt, wie oft Worte oder Phrasen in einer bestimmten Übersetzung vorkommen.“, so Lengauer. Mit dem Schema MapReduce lässt sich dies folgendermaßen formulieren: Zunächst wird jedes Wort im Bibeltext mit einer 1 versehen, die ein einmaliges Vorkommen anzeigt: der Map-Schritt. Danach werden die Vorkommen gleicher Worte aufsummiert: der Reduce-Schritt. Beide Schritte können jeweils auf vielen Prozessoren oder Rechnern hochparallel durchgeführt werden.
Durch diese starke Arbeitsteilung steht das Ergebnis viel früher zur Verfügung. „Die Herausforderung besteht darin, dieses simple Prinzip für riesige Datenmengen und eine Palette von Operationen bereitzustellen, den Prozess auf eine Vielzahl von Prozessoren zu verteilen sowie den nötigen Rechen- und Zeitaufwand zu verringern“, erklärt Lengauer. Bisher setzen vor allem Betreiber großer Datenzentren wie Google, Yahoo! und Amazon MapReduce ein. Anwendungspotential besteht aber auch in vielen weiteren Firmen mit einem großen Kundenstamm wie Fluggesellschaften, Banken oder Telefonanbietern, um ihre Daten (Kunden-, Kauf-, Konto- oder Verbindungsinformationen) unter engen Zeitvorgaben (zum Beispiel über Nacht) auswerten zu können. Um die Nutzung von MapReduce einem breiteren Publikum zu erleichtern, müssen jedoch die Programmierhürden gesenkt werden. Hier setzt das Projekt MapReduceFoundation an.
Bildunterschrift: Das Schema MapReduce in vereinfachter Darstellung: In einer Datenmenge wird jedes Wort bzw. eine bestimmte Zahlen- oder Buchstabenkombination mit einer 1 versehen, die ein einmaliges Vorkommen anzeigt: der Map-Schritt. Danach werden die Vorkommen gleicher Worte verteilt auf mehrere Rechner aufsummiert: der Reduce-Schritt.