/ / Map Reduce & RDBMS - hadoop, mapreduce

Mappa Reduce & RDBMS - hadoop, mapreduce

Stavo leggendo la guida definitiva di hadoop, lo erascritto Map Reduce è utile per aggiornare porzioni più grandi del database e utilizza Sort & Merge per ricostruire il database che dipende dal tempo di trasferimento.

Anche RDBMS è buono per aggiornare solo porzioni più piccole di un grande database, usa un B-Tree che è limitato dal tempo di ricerca

Qualcuno può approfondire ciò che entrambe queste affermazioni significano veramente?

risposte:

0 per risposta № 1

Non sono veramente sicuro di cosa significhi il libro, ma di solito esegui una mappa per ridurre il lavoro per ricostruire l'intero database / qualsiasi cosa se hai ancora i dati grezzi.

Il vero vantaggio di hadoop è che è distribuito, quindi le prestazioni non sono un problema in quanto potresti aggiungere solo più macchine.

Prendiamo un esempio, è necessario ricostruire atavolo complesso con 1 miliardo di righe. Con RDBMS, è possibile scalare solo verticalmente, quindi dipenderà più dalla potenza della CPU e dalla velocità dell'algoritmo. Lo farai con qualche comando SQL. Dovrai selezionare alcuni dati, elaborarli, fare cose, ecc. Quindi molto probabilmente sarai limitato dal tempo di ricerca.

Riducendo la mappa di hadoop, potresti aggiungere altromacchine, quindi le prestazioni non sono il problema. Supponiamo che tu usi 10000 mapper, il che significa che il compito sarà diviso in 10000 contenitori di mapper e, data la natura di hadoop, tutti questi contenitori di solito hanno già i dati sul loro hard disk memorizzati localmente. L'output di ogni mapper è sempre un formato strutturato a valore chiave sul proprio disco fisso locale. Questi dati sono ordinati usando la chiave dal mappatore.

Ora il problema è che hanno bisogno di combinare i datiinsieme, quindi tutti questi dati saranno inviati a un riduttore. Ciò avviene attraverso la rete, è solitamente la parte più lenta se si dispone di grandi dati. Il riduttore riceverà tutti i dati e li unirà, ordinandoli per ulteriori elaborazioni. Alla fine hai un file che potrebbe essere appena caricato nel tuo database.

Il trasferimento dal mapper al riduttore è di solitoche cosa impiega più tempo se hai molti dati e la rete di solito è il collo di bottiglia, forse questo è ciò che significa in base al tempo di trasferimento.