venerdì 13 aprile 2007

Costruisciti il tuo Google. Oggi.

Finalmente, dopo mesi di "relax", è stata rilasciata la versione 0.9 di Nutch.

Nutch è l'implementazione (naturalmente in Java) di un motore di ricerca completo, basato sull'architettura di Google.

Il progettone include quindi un crawler, un sistema di indexing (basato su Lucene 2), un'implementazione dell'algoritmo di PageRank efficiente (il modello di Markov è risolto online, senza costruire in memoria alcuna matrice delle probabilità) e un sistema parallelo di searching sugli indici, tipicamente da consultare via servlet.

La parte più affascinante di Nutch è l'architettura concepita per lavorare in un cluster arbitrariamente grande di macchine e ispirata al paradigma Map/Reduce usato da Google.

Dopo la versione 0.6 di nutch il motore di Map/Reduce è stato implementato in un progetto a parte, chiamato Hadoop (giusto per la cronaca: i nomi li sceglie il capoprogetto ascoltando i mugugni del suo bambino mentre gioca, Hadoop è il nome del suo elefantino).
Il grosso del lavoro fatto in questi mesi è stato principalmente su Hadoop, ed è solo per questo motivo che i progressi di Nutch sembravano congelati.

Il capoprogetto di tutta la baracca e Doug Cutting, creatore di Lucene e attualmente dipendente di Yahoo. Partecipano al progetto molti programmatori di Yahoo e altra gente particolare come alcuni personaggi del JPL Nasa di Pasadena (quelli dei robotini andati su marte).

Hadoop infatti è sia un framework generico di computazione distribuita molto potente, che un file system distribuito efficiente e fault-tollerant liberamente ispirato al Google File System GFS. Va da sè che Hadoop può essere utilizzato per qualunque sistema di calcolo su terabyte di dati, a patto che che gli algoritmi siano disegnati secondo un paradigma Map/Reduce.

Ultima chicca: Nutch sarà il cuore di Wikia, il motore di ricerca libero che stanno costruendo i signori di wikipedia.


P.S. Attenzione, Nutch è un po' macchinoso da installare. La prima volta seguite passo passo questa pagina per evitare di farvi male

P.P.S. Potrebbe venirvi la voglia di creare un cluster con delle macchine virtuali (come feci io qualche mese fa)..... sappiate che l'overhead vi deluderà. Nutch inizia a pompare ferocemente dalle 3-4 macchine fisiche in su ;)

Nessun commento: