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ą?
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ą?
Odpowiedzi:
Hadoop nie jest bazą danych , hadoop to cały ekosystem.
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.
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 : value
konstrukcja 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