Video: Kenneth Cukier: Big data is better data 2025
MapReduce sta diventando sempre più utile per i big data. Nei primi anni 2000, alcuni ingegneri di Google hanno esaminato il futuro e determinato che mentre le loro attuali soluzioni per applicazioni quali la scansione del Web, la frequenza delle query e così via erano adeguate per la maggior parte dei requisiti esistenti, erano inadeguate per la complessità che prevedevano come Web ridimensionato a un numero sempre maggiore di utenti.
Questi ingegneri hanno determinato che se il lavoro poteva essere distribuito su computer economici e quindi connesso alla rete sotto forma di "cluster", potevano risolvere il problema. La distribuzione da sola non era una risposta sufficiente. Questa distribuzione del lavoro deve essere eseguita in parallelo per i seguenti tre motivi:
-
L'elaborazione deve essere in grado di espandersi e contrarsi automaticamente.
-
L'elaborazione deve essere in grado di procedere indipendentemente dai guasti nella rete o nei singoli sistemi.
-
Gli sviluppatori che sfruttano questo approccio devono essere in grado di creare servizi facili da sfruttare da parte di altri sviluppatori. Pertanto, questo approccio deve essere indipendente da dove sono stati eseguiti i dati e i calcoli.
MapReduce è stato progettato come un modello di programmazione generico. Alcune delle implementazioni iniziali hanno fornito tutti i requisiti chiave dell'esecuzione parallela, della tolleranza agli errori, del bilanciamento del carico e della manipolazione dei dati. Gli ingegneri responsabili del progetto hanno definito l'iniziativa MapReduce in quanto combina due funzionalità dei linguaggi di programmazione esistenti: mappa e riduce .
I tecnici di Google hanno progettato MapReduce per risolvere un problema pratico specifico. Pertanto, è stato progettato come un modello di programmazione combinato con l'implementazione di quel modello - in sostanza, un'implementazione di riferimento.
L'implementazione di riferimento è stata utilizzata per dimostrare la praticità e l'efficacia del concetto e per garantire che questo modello sia ampiamente adottato dall'industria informatica. Nel corso degli anni, sono state create altre implementazioni di MapReduce e sono disponibili sia come prodotti open source che commerciali.
