ApacheCon 2009: Lucene, Hadoop und mehr

Auf der diesjährigen ApacheCon feierten Entwickler und Anwender das zehnjährige Bestehen der Apache Software Foundation. Geprägt war die Konferenz von den aktuellen Top-Themen Hadoop und Lucene.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 16 Min.
Von
Inhaltsverzeichnis

Die diesjährige Konferenz war die erste in Tracks aufgeteilte ApacheCon. Das Konzept hat sich bewährt: Besuchern, die sich hauptsächlich für ein bestimmtes Thema interessierten, wurde so die Auswahl der Vorträge vereinfacht. In den Tracks fanden sowohl Präsentationen für Anfänger als auch technisch tiefgreifendere Vorträge ihren Platz.

Geprägt war die Konferenz von den aktuellen Top-Themen Hadoop und Lucene, was sich nicht nur im Vortragsprogramm, sondern auch in den Besucherzahlen der entsprechenden Meetups ausdrückte. Daneben nahm natürlich auch der Webserver Apache Httpd breiten Raum ein.

Torte zum zehnjährigen Bestehen der Apache Software Foundation

(Bild: Vonguard auf Flickr; Lizenz: CC Attribution-Share Alike)

Neben unzähligen spannenden Vorträgen wurde die Konferenz aber vor allem von den Apache-Entwicklern zum Austausch, zur Diskussion und zur Weiterentwicklung ihrer Projekte genutzt. In der Lucene-Community hatte sich schon bald das geflügelte Wort "heavy committing" etabliert für Community-Mitglieder, die während der Konferenz intensiv auf das nächste Lucene-Release hinarbeiten. So wurde der Hackathon quasi in die Pausen, Vorträge und Abende hinein verlängert.

Die ersten beiden Konferenztage waren nämlich reserviert für Hackathon, Barcamp, Meetups und Trainings. Die Trainings bieten Teilnehmern intensive Sessions, die von den jeweiligen Kern-Entwickler selbst durchgeführt werden: Brett Porter gab in zwei Tagen einen Überblick über die Arbeit mit Maven. Erik Hatcher, Committer bei Lucene und Solr sowie Autor des Buchs "Lucene in Action", erklärte den Teilnehmern des "Apache Solr Day" die Fähigkeiten und Prinzipien der quelloffenen Enterprise-Suchmaschine Solr. Das Lucene Bootcamp wurde von Grant Ingersoll vom Lucene Project Management Committee durchgeführt. Auch die Themen Hadoop, HTTPD, Tomcat und OSGI waren Gegenstand von Trainings.

Beim Hackathon

(Bild: Johan Oksarsson auf Flickr; Lizenz: CC Attribution-Share Alike)

Der Hackathon bietet Entwicklern und Nutzern die Möglichkeit, gemeinsam an "ihrem" Projekt zu arbeiten und vor Ort offene Probleme zu diskutieren. Ergänzend dazu waren die Teilnehmer eingeladen, beim Apache Barcamp mitzuwirken.

Die Abende der ersten beiden Tage waren geprägt von Meetups – besonders beliebt war das NoSQL Meetup am Montag Abend mit über 100 Teilnehmern. In zwei Tracks wurden hier unter anderem Cassandra, HBase, jackrabbit Jackrabbit und CouchDB vorgestellt.

Am Dienstag Abend sponsorte der Lucene-Spezialist Lucid Imagination das Lucene Meetup mit ebenfalls mehr als 100 Teilnehmern. Den Anfang machte Erik Hatcher, der auf Herausforderungen und Möglichkeiten für neue Nutzerinterfaces für Suchapplikationen einging. Anschließend stellte Uwe Schindler die neuen Möglichkeiten zur Verarbeitung von numerischen Rangequeries in Lucene vor. Mit diesem Feature ist es jetzt einfach, performante Umkreissuchen mit Lucene zu implementieren.

Den Abschluss bildete Stefan Groschupf, der mit Katta ein Projekt vorstellte, dessen Ziel es ist, Lucene in Projekten mit hohem Query-Aufkommen und umfangreichen Indizes einzusetzen. Katta bietet Möglichkeiten, einen Lucene-Index auf verschiedenen Hardwareknoten zu verteilen. Katta kümmert sich dabei einerseits um die Indexverteilung, um Failover und Load Balancing, aber auch auf der Client-Seite um das Zusammenführen und Reranking der verteilten Trefferlisten.

Mittwoch Morgen leitete das Open Plenary den von Vortragssessions geprägten Teil der Konferenz ein. Thematisch konzentrierte sich der Tag auf die Themen Hadoop, Tomcat, Content Technology, Tuscany/Synapse und Business. Highlight des Open Plenary war die Ankündigung von CollabNet, die renommierte Versionsverwaltung Subversion als Projekt bei der Apache Software Foundation forzuführen.

Beim Apache Pioneers' Panel, dem wegen des zehnjährigen Jubiläums eine Stunde am Vormittag gewidmet war, erzählten die Gründer der ASF einerseits Anekdoten aus der Gründungszeit der Foundation. Andererseits wurde der Grundsatz "Community over Code" herausgestrichen. Das Ziel von Apache-Projekten ist es nicht nur, stabilen, produktionsreifen Code zu entwickeln. Die Projekte haben auch das Ziel, möglichst stabile Communities aufzubauen, da nur so Nutzer bestmöglich unterstützt werden können.

Hier erfuhr man auch, wie die Apache Software Foundation im Innern funktioniert. Committer und Funktionsträger bei der ASF sind immer Einzelpersonen: Es ist nicht möglich, einen generellen Committer-Status für ein Unternehmen zu erhalten (oder gar zu kaufen); vielmehr muss sich jeder Committer diesen Status persönlich durch wertvolle Beiträge erarbeiten.

Der dritte Tag widmete sich in fünf parallelen Tracks den Themen Hadoop, Tomcat, Content Technology @ Apache, Apache Tuscany und Apache Synapse sowie Business.

Der Hadoop-Track begann mit Vorträgen von Owen O'Malley von Yahoo! und Doug Cutting von Cloudera. Sie stellten die aktuellen Entwicklungen innerhalb von Hadoop vor. Owen konzentrierte sich vor allem auf die Stärken von Hadoop, ging aber auch auf Szenarien ein, für die Hadoop ungeeignet ist. Schließlich gab Owen einen Überblick über die Hadoop-Entwicklung bei Yahoo!.

Doug Cutting ging auf aktuelle und zukünftige Entwicklungen von Hadoop ein. Momentan wichtigstes Ziel ist die Stabilisierung der API mit dem Ziel, die Aktualisierung auf neue Hadoop-Versionen zu vereinfachen. Mit Avro stellte Doug Cutting eine Bibliothek zur Serialisierung von Objekten ähnlich Google Protocol Buffers oder Apache Thrift vor. Avro unterstützt ein binäres Encoding von Objekten, was effizienter ist als Textformate. Zusätzlich unterstützt die Bibliothek Mechanismen, die die Interaktion zwischen verschiedenen Formatversionen vereinfacht. Im Gegensatz zu Protocol Buffers oder Thrift ist bei Avro keine Codegenerierung notwendig, was das Protocol flexibler gestaltet.

Nach der Mittagspause stellte Mark Thomas im Tomcat-Track die Neuerungen in Tomcat 7 vor. Die neue Tomcat-Version wird die Servlet-3.0-API unterstützen. Die API-Implementierung ist weit fortgeschritten – soweit die API-Definition selbst schon stabil ist. Zu den neuen Funktionen gehört unter anderem die asynchronene Requestverarbeitung. Diese erlaubt neue Kommunikationsformen in Webanwendungen etwa im AJAX-Umfeld. Der Tomcat Manager, über den neue Applikationen deployed werden können, wurde vor allem im Hinblick auf Sicherheit überarbeitet. Mit embedded Tomcat hat man eine Möglichkeit geschaffen, Tomcat sehr einfach in Java Code zu instanziieren und integriert mit der Applikation auszuliefern. Embedded Tomcat ist sehr leichtgewichtig und weist nur wenige Bibliotheksabhängigkeiten auf.

In der letzten Session den Hadoop-Tracks stellten Jonathan Gray und Michael Stack HBase vor, eine hochskalierbare spaltenorientierte Datenbank. Das Projekt stellt eine freie Implementierung von Google BigTable dar. Die Schnittstellen zum Datenaustausch mit HBase umfassen eine Java-API, Thrift-basierte Connectoren sowie eine REST-Schnittstelle. Für Aufgaben wie Monitoring und Administration kann auch ein mitgeliefertes Webinterface genutzt werden.

Im Gegensatz zu verschiedenen NoSQL-Datenbanken arbeitet HBase mit festen Schemata. Ziel beim Design eines Schemans sollte sein, die Anzahl der Reads zu maximieren sowie die Menge an Daten, die für die Verarbeitung einer Query gelesen werden müssen, zu minimieren. Üblicherweise kann dieses Ziel durch die Denormalisierung von Daten erreicht werden. Aktuell wird HBase zum Beispiel von Adobe, Meetup und Su.per im Produktionsbetrieb eingesetzt.

Den Abschluss des Tracks bildete ein Vortrag von Facebook zum Einsatz von Hive, einer Hadoop-Erweiterung, die es ermöglicht, Map Reduce Jobs mit einer SQL ähnlichen Sprache (HiveQL) zu formulieren. Innerhalb von Facebook wird Hive momentan hauptsächlich für die Analyse von Logfiles eingesetzt.

Aktuell stehen bei Facebook im Hadoop Hive Warehouse 5,5 Petabyte an Datenspeicher zur Verfügung, jeweils 12 Terabyte pro Node. Täglich werden dem System 4 Terabyte komprimierte Daten hinzugefügt. Hive macht die Interaktion mit dem Hadoop Cluster einfacher: Neu eingestellte Software-Entwickler sind nach einer Stunde Training in der Lage, erste Queries zu formulieren. Aber auch Analysten sind in der Lage, damit Reports zu erstellen und Ad-Hoc-Analysen durchzuführen. Auch Algorithmen zur Optimierung der Platzierung von Werbeanzeigen werden über Hive realisiert.

Der Abend des ersten Konferenztages blieb der Geburtstagsfeier der ASF vorbehalten: Ab 6 Uhr abends trafen sich Committer, Member und Nutzer verschiedener Apache Projekte zum "Big Feather Birthday Bash".