Projekte

Verteiltes Webmining

Die Erforschung und Evaluierung von Websuchmaschinen stellt einen aktuellen Gegenstand der Forschung dar und verknüpft die Frage nach verteilten, skalierbaren Softwaresystemen mit der Suche nach effizienten Algorithmen zur Verarbeitung von großen Datenmengen. Im Rahmen eines Projektes des Lehrstuhls 2 der TU Dortmund wurde der Entwurf und Implementierung einer solchen Suchmaschine geplant und durchgeführt. Die hierbei auftretenden besonderen softwaretechnische Anforderungen unterscheiden die Entwicklung einer Suchmaschine maßgeblich von anderen Softwareprojekten. So muss eine Suchmaschine u.a. verteilt über einen größeren Cluster von Servern operieren können, einen effizienten Zugriff auf die gewonnen Daten ermöglichen und tolerant gegenüber Ausfällen und Datenfehlern sein.

Da kein öffentlich verfügbares Softwaresystem die geforderten Eigenschaften zufriedenstellend erfüllten konnte, wurde ein eigenes Framework, das sog. Krake-System, zur verteilten Datengewinnung- und Verwaltung von Webinhalten entwickelt. Hierzu wurde das populäre und bewährte MapReduce-Paradigma herangezogen, um auf Basis des Hadoop-Systems einen verteilten Webcrawler mit angebundener Datenbank zu implementieren.

Durch mehrere aufeinander aufbauende Erfassungsläufe wurde durch das Krake-System ein mit Inhaltsdaten annotierter Webgraph von mehreren Terabyte Datenvolumen gewonnen. Eine anschließende Datenanalyse ermöglichte das Durchsuchen und Auswerten der gespeicherten Webinhalte hinsichtlich verschiedener Fragestellungen.

Ich habe das Projekt seit seiner Entstehung bis zu seinem Ende als Entwickler mit konzipiert und realisiert.

Verwendete Sprachen und Tools:
Java, Hadoop, Hypertable

Weiterführende Informationen:
Projektseite des LS 2
Hadoop
Hypertable