Słyszałem o wielu narzędziach / frameworkach pomagających ludziom przetwarzać dane (środowisko big data).

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

Czy się uzupełniają?

Komentarze

  • Odrzucono z powodu braku wysiłku badawczego. Hadoop i noSQL są dobrze zdefiniowane gdzie indziej.
  • @Spacedman Zgadzam się, ale to był przykład pytania z obszaru51 , gdyby tak było nie usunięte, zanim wydaje mi się, że jest prawidłowe, i nawet ja znałem odpowiedź, kiedy publikowałem pytanie (przynajmniej ogólnie).

Odpowiedź

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

ekosystem hadoopów

Większość ludzi będzie odnosić się do zleceń mapreduce , mówiąc o hadoopach . Zadanie mapreduce dzieli duże zbiory danych na małe porcje danych i rozprowadza je w klastrze węzłów, aby kontynuować. W końcu wynik z każdego węzła zostanie ponownie złożony jako jeden zbiór danych.


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

rysunek 1

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

Teraz hadoop najpierw zamapuje 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 z zestawu wartości każdego klucza) (rysunek 3)

rysunek 3

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

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

To tylko jeden bardzo podstawowy i proste ex wiele tego, co potrafi hadoop. W hadoopie można wykonywać znacznie bardziej skomplikowane zadania.

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

Odpowiedź

NoSQL to sposób przechowywania danych, który nie wymaga żadnego rodzaju relacji. Prostota jego projektu i możliwość skalowania w poziomie, jednym ze sposobów przechowywania danych jest projekt pary key : value. To nadaje się do przetwarzania podobnego do Hadoop. Użycie bazy danych NoSQL naprawdę zależy od typu problemu.

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 w swoim projekcie przyjmuje założenie, że awarie sprzętu są powszechne, tworząc w ten sposób wiele kopii tej samej informacji i rozprzestrzeniając ją na wiele maszyn i szaf, więc jeśli jedna z nich się zepsuje, nie ma problemu, my mieć jeszcze dwie kopie. Oto świetny link do Hadoop z Wikipedii. Zobaczysz, że moim zdaniem jest to coś więcej niż tylko przechowywanie, ale także przetwarzanie: Hadoop

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *