Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Database paralleli contro MapReduce di Google
Scritto da Paolo Raviola il 23-04-2009 ore 08:03
Intel Cluster Studio XE
Un gruppo di ricercatori ha presentato un lavoro, che mostra come i database SQL paralleli siano fino a 6,5 volte più veloci della tecnologia proprietaria usata da Google per gestire la sua immensa mole di dati, e cioè MapReduce.

Quest'ultima permette di indicizzare il World Wide Web usando una griglia di computer a basso costo. Secondo un intervento di Grzegorz Czajkowski, nel gennaio 2008 MapReduce gestiva 20 PB di dati al giorno e nel novembre 2008 poteva ordinare un TB di dati in 68 secondi, utilizzando 1000 computer. Questi risultati hanno conquistato molti seguaci, che ritengono i vecchi database relazionali oramai superati, soprattutto per grid di grandi dimensioni e per il cloud computing.

Di parere diverso sono David DeWitt — professore di Computer Sciences alla University of Wisconsin, Madison — e Michael Stonebraker — CTO di Vertica — i più noti fra gli autori del lavoro sopracitato, che sarà pubblicato sul numero di giugno-luglio di ACM SIGMOD. Essi sostengono che MapReduce manca di alcune funzionalità chiave, e addirittura rappresenta "un grande passo indietro".

Nel test sono stati impiegati due cluster, ciascuno dei quali con 100 nodi in parallelo; sul primo girava il database column-based di Vertica e sull'altro un database row-based "senza nome" di un grande produttore non specificato; entrambi sono stati confrontati con un sistema, configurato in maniera simile, sul quale girava MapReduce. I server, collegati da porte Gigabit Ethernet, erano degli Intel Core 2 Duo a 2,4 GHz, 4 GB di RAM, con a bordo il 64-bit Red Hat Enterprise Linux e due dischi 250GB SATA-I.

I database SQL si sono dimostrati da 3,1 a 6,5 più veloci e hanno richiesto meno codice per implementare i vari task; tuttavia hanno richiesto un lavoro più lungo per il caricamento dei dati e per la messa a punto dei paramentri. L'analista Curt Monash ritiene che questi dati confermino le sue opinioni, e cioè che MapReduce sia superiore solo in certi casi limitati, come il text indexing and searching.

I ricercatori ammettono comunque che l'installazione e la configurazione dei database SQL sono nettamente più laboriose; MapReduce, in questo campo, si è dimostrato 3 volte più veloce di Vertica e 20 volte più veloce del database "senza nome". Il fatto che il test si sia basato su 100 cluster, invece dei 1000 impiegati da Google, non è rilevante, secondo gli autori.
Precedente: Un metodo più semplice per costruire un circuito spintronico
Successiva: Accelerare le sezioni critiche nella programmazione multithread (1/2)
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.337 secondi.