Slyšel jsem o mnoha nástrojích / rámcích, které pomáhají lidem zpracovávat jejich data (prostředí velkých dat).
Jeden se nazývá Hadoop a druhý je koncept noSQL. Jaký je rozdíl v bodě zpracování?
Jsou doplňkové?
Komentáře
- Hlasovali pro nedostatek výzkumného úsilí. Hadoop a noSQL jsou dobře definovány jinde.
- @Spacedman Souhlasím, ale to byl příklad otázky z Area51 , pak pokud to bylo není odstraněn dříve, než si myslím, že je platný, a dokonce jsem věděl odpověď, když jsem otázku poslal (alespoň obecně).
Odpovědět
Hadoop není databáze , hadoop je celý ekosystém.
Většina lidí bude hovořit o mapreduce úlohách, když bude hovořit o hadoopu . Úloha mapreduce rozděluje velké datové sady na malé kousky dat a rozloží je na shluk uzlů, aby bylo možné pokračovat. Na konci bude výsledek z každého uzlu znovu spojen jako jedna datová sada.
Předpokládejme, že načtete do hadoopu sadu <String, Integer>
s počtem obyvatel některých čtvrtí ve městě a chcete získat průměrnou populaci z celých čtvrtí každého města (obrázek 1).
obrázek 1
[new york, 40394] [new york, 134] [la, 44] [la, 647] ...
Nyní hadoop nejprve namapuje každou hodnotu pomocí kláves (obrázek 2)
obrázek 2
[new york, [40394,134]] [la, [44,647]] ...
Po mapování sníží hodnoty každého klíče na novou hodnotu (v tomto příkladu průměr nad nastavenou hodnotou každého klíče) (obrázek 3)
Obrázek 3
[new york, [20264]] [la, [346]] ...
Nyní by se hadoop udělal se vším. Výsledek nyní můžete načíst do HDFS ( distribuovaný souborový systém hadoop) nebo do jakéhokoli DBMS nebo souboru.
To je jen jeden velmi základní a jednoduchý ex dostatek toho, co hadoop dokáže. V hadoopu můžete spustit mnohem složitější úkoly.
Jak jste již zmínili ve své otázce, hadoop a noSQL se doplňují. Znám několik nastavení, kde tj. Miliardy datových sad ze senzorů jsou uloženy v HBase a poté procházejí hadoopem, aby byly nakonec uloženy v DBMS.
Odpověď
NoSQL je způsob ukládání dat, který nevyžaduje, aby existovala nějaká relace. Jednoduchost jeho designu a schopnost horizontálního škálování, jedním ze způsobů ukládání dat, je design dvojice key : value
. To se hodí ke zpracování, které je podobné Hadoopu. Použití databáze NoSQL opravdu závisí na typu problému, který je po něm.
Zde je dobrý odkaz na wikipedii NoSQL
Hadoop je systém, který má ukládat a zpracovávat obrovské množství dat. Jedná se o distribuovaný souborový systém dfs. Důvod, proč to dělá, je ten, že v jeho konstrukci je hlavní předpoklad, že selhání hardwaru jsou běžná, takže se vytváří více kopií stejné informace a šíří se mezi více strojů a stojanů, takže pokud jeden spadne, žádný problém, my mít další dvě kopie. Zde je skvělý odkaz pro Hadoop také z wikipedie, uvidíte, že to podle mého názoru není jen úložiště, ale také zpracování: Hadoop