Lucene, Nutch, Hadoop: Wie dem Hype gerecht werden?

JAXenter: Wenn du zurückschaust – war es die richtige Entscheidung, bei Java zu bleiben?

Doug Cutting: Für mich war es eine großartige Entscheidung. Das ist ohnehin Geschichte, wir können daran nichts ändern. Ein anderer hätte es anders gemacht und wäre auch gut damit gefahren. Aber ich finde, diese Projekte können sich sehen lassen. Und sie sprechen für sich, denn es sind effektive Tools geworden.

JAXenter: Absolut richtig. Du hast Lucene schon angesprochen – wie ist Nutch entstanden?

Doug Cutting: Das war während meiner freien Berater-Tätigkeit im Lucene-Umfeld. Jemand kam auf mich zu und sagte: „Weißt du, es wäre echt nett wenn es eine Volltext-Suchmaschine geben würde, eine Crawler-basierte Web-Suchmaschine, die Open Source ist. Wärst du daran interessiert, so ein Projekt zu starten?“ Und ich sagte: „Na klar, liebend gern.“ Ich hatte mehrere Jahre bei Excite an Crawler-basierten Engines gearbeitet und viel mit Closed-Source-Engines gemacht. Ich war in dem etwas naiven Glauben – ich glaube, ich war mir meiner Naivität damals auch bewusst -, dass so ziemlich jede Software irgendwann zum Wirtschaftsgut wird, und dass es immer eine Open-Source-Implementierung davon gibt. Und ich fand, dass Web-Suchmaschinen keine Ausnahme sein sollten. Ich wurde eines Besseren belehrt: Die besten Web-Suchmaschinen der Gegenwart sind die von Google und Microsoft, weltweit gibt es noch ein paar andere – aber die sind nicht Open Source. Und die Menge an Arbeit, die es erfordert, um so eine Suchmaschine zu unterhalten. Es gibt noch immer keine Open-Source-Engine, die wirklich Weltklasse ist, aber zu jener Zeit schien es eine gute Idee zu sein.

Also habe ich mich in die Arbeit gestürzt, ein paar Mitstreiter gefunden, und wir haben getan, was wir konnten. Ich wusste, wie verteilte Verarbeitung bei Excite funktionierte, und das war ein ziemlich unausgereifter Prozess: Man hatte eine Reihe von Maschinen zur Verfügung, verwaltete manuell Prozesse und kopierte Dateien über verschiedene Stadien hinweg. Wir hatten etwas, das theoretisch beliebig und auf vielen Maschinen skalierbar war. Aber der Betrieb war mühsam, denn er umfasste viel Handarbeit.

Dann las ich, wie Google das alles anging und welche manuellen Schritte sie automatisiert hatten. Das gab mir ein Grundgerüst. Es waren so ziemlich die gleichen Algorithmen und Datenstrukturen, die auch von MapReduce direkt unterstützt wurden. Das war offensichtlich eine Verbesserung: der Schritt hin zur Automatisierung und der Versuch, diese Nutch hinzuzufügen. Schon vorher war Nutch funktionierendes System gewesen, ein Open-Source-Projekt, das aber noch viel besser wurde, nachdem wir das Google-Paper gelesen hatten.

JAXenter: Dir ist also bei der Lektüre ein Licht aufgegangen?

Doug Cutting: Und ob. Wir haben gesehen, dass es eine bessere Lösung war. Es hat, keine Ahnung, vielleicht sechs Monate gedauert, um so weit zu kommen, dass wir MapReduce demonstrieren konnten und dass es viel besser lief als der Crawler und der Index, bevor wir auf die MapReduce-Implementierung stießen. Das war um 2004 herum, als sich in der Sache viel bewegte. Und dann kam Yahoo! mit seinem eigenen Framework für verteiltes Rechnen, das sie als Grundlage für deren Websuche verwendeten. Das hatte seine besten Tage hinter sich war und befand sich auf ziemlich dünnem Eis. Auch Yahoo! hatte die Papers von Google gelesen und dachte, das wäre eine gute Strategie, die aus ihrer Sicht in der Nutch-Implementierung am besten eingehalten wurde. Das Ganze als Open-Source-Projekt aufzuziehen hielten sie außerdem für eine gute Idee. Deshalb wollten sie mit uns gemeinsame Sache machen.

Aus rechtlichen Gründen wollten sie das allerdings im Umfeld eines Open-Source-Projekts machen, sondern in einem separaten Projekt, das sich verteiltem Rechnen widmete. Der Auslöser für die Abkapselung Hadoops von Nutch waren also Yahoo!s Pläne. Das war auch notwendig und gut so, denn die allgemeine Plattform für verteiltes Rechnen erfüllt natürlich viel allgemeinere Ansprüche als Crawler. Und Yahoo! hat im Januar 2006 den Anstoß dazu gegeben.

JAXenter: Du wirst das wahrscheinlich oft gefragt: Hättest du damals je gedacht, dass Hadoop zu dem werden würde, was es heute ist, dass es jemals so groß werden würde?

Doug Cutting: Nein, nicht wirklich. Mir war sehr wohl bewusst, dass ich etwas in die Wege geleitet hatte, was nicht nur in Sachen Websuche nützlich war. Ich wusste auch, dass es für dieses allgemeine Projekt eine Anwendung finden würde. Während meiner gesamten beruflichen Laufbahn war ich nie ein großer Fan von relationalen Datenbanken gewesen. Ich hatte damit herumgespielt und sie für meine Textsuche und Weblinks immer als unzureichend empfunden. Aber ich war nie auf eine geeignete Lösung gekommen. Auch mit Unternehmenssoftware hatte das Projekt eigentlich nichts am Hut; ich hatte – bei Webfirmen und Suchprojekten und auch bei Apple – immer mit Desktop-Betriebssystemen gearbeitet, und der Gedanke war mir nie gekommen. Ich hätte damals nicht gedacht, dass es einen derart großen Einfluss auf viele Industriezweige haben würde, es freut mich also umso mehr [lacht].

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.