Jaka jest różnica między Hadoop a noSQL

15

Słyszałem o wielu narzędziach / strukturach pomagających ludziom w przetwarzaniu ich danych (środowisko dużych zbiorów danych).

Jeden nazywa się Hadoop, a drugi to koncepcja noSQL. Jaka jest różnica w punkcie przetwarzania?

Czy się uzupełniają?

рüффп
źródło
3
Głosowano za brak wysiłku badawczego. Hadoop i noSQL są dobrze zdefiniowane gdzie indziej.
Spacedman
@Spacedman Zgadzam się, ale to był przykład pytania z Area51, więc jeśli nie został usunięty przed, chyba sądzę, że jest poprawny, a nawet znałem odpowiedź, kiedy opublikowałem pytanie (przynajmniej ogólnie).
рüффп

Odpowiedzi:

16

Hadoop nie jest bazą danych , hadoop to cały ekosystem.

ekosystem hadoop

Większość osób będzie odnosić się do mapreduce podczas mówienia o hadoop. Zadanie mapreduce dzieli duże zestawy danych na kilka małych fragmentów danych i rozdziela je na klaster węzłów, aby rozpocząć. Na koniec wynik z każdego węzła zostanie ponownie złożony jako jeden zestaw danych.


Załóżmy, że wczytasz do hadoopu zestaw <String, Integer>populacji niektórych dzielnic w mieście i chcesz uzyskać średnią populację z całych dzielnic każdego miasta (rysunek 1).

ryc.1

    [new york, 40394]
    [new york, 134]
    [la, 44]
    [la, 647]
    ...

Teraz hadoop najpierw mapuje każdą wartość za pomocą klawiszy (rysunek 2)

Rysunek 2

[new york, [40394,134]]
[la, [44,647]]
...

Po mapowaniu zmniejszy wartości każdego klucza do nowej wartości (w tym przykładzie średnia ponad zestaw wartości każdego klucza) (rysunek 3)

Rycina 3

[new york, [20264]]
[la, [346]]
...

teraz hadoop byłby gotowy na wszystko. Możesz teraz załadować wynik do HDFS (rozproszony system plików hadoop) lub do dowolnego DBMS lub pliku.

To tylko jeden bardzo prosty i prosty przykład tego, co może zrobić hadoop. W Hadoop możesz wykonywać znacznie bardziej skomplikowane zadania.

Jak już wspomniałeś w swoim pytaniu, hadoop i noSQL uzupełniają się. Znam kilka konfiguracji, w których miliardy zestawów danych z czujników są przechowywane w HBase i przechodzą następnie przez hadoop, aby ostatecznie zostać zapisane w DBMS.

Johnny000
źródło
5

NoSQL to sposób na przechowywanie danych, które nie wymagają żadnej relacji. Prostota jego konstrukcji i możliwość skalowania w poziomie, jednym ze sposobów przechowywania danych jest key : valuekonstrukcja pary. To nadaje się do przetwarzania podobnego do Hadoop. Korzystanie z bazy danych NoSQL naprawdę zależy od typu problemu, który występuje.

Oto dobry link do Wikipedii NoSQL

Hadoop to system przeznaczony do przechowywania i przetwarzania ogromnych porcji danych. Jest to rozproszony system plików dfs. Powodem tego jest to, że jego konstrukcja jest tak ważna, że ​​zakłada założenie, że awarie sprzętu są powszechne, tworząc w ten sposób wiele kopii tej samej informacji i rozprowadzając ją na wielu maszynach i stojakach, więc jeśli ktoś się zepsuje, nie ma problemu, my mam jeszcze dwie kopie. Oto świetny link do Hadoop również z wikipedii, zobaczysz, że moim zdaniem jest to nie tylko przechowywanie, ale także przetwarzanie: Hadoop

MCP_infiltrator
źródło