В чем разница между Hadoop и noSQL

15

Я слышал о многих инструментах / платформах, помогающих людям обрабатывать свои данные (среда больших данных).

Один называется Hadoop, а другой - концепцией noSQL. Какая разница в точке обработки?

Они дополняют друг друга?

рüффп
источник
3
Отказался за отсутствие исследовательских усилий. Hadoop и noSQL четко определены в других местах.
Spacedman
@Spacedman Я согласен, но это был пример вопроса из Area51, тогда, если он не был удален, прежде чем я думаю, что он действителен, и даже я знал ответ, когда я публиковал вопрос (по крайней мере, в общем).
рüффп

Ответы:

16

Hadoop - это не база данных , Hadoop - это целая экосистема.

экосистема хадооп

Большинство людей относятся к MapReduce рабочих мест во время разговора о Hadoop. Задание mapreduce разбивает большие наборы данных на несколько маленьких порций данных и распределяет их по кластеру узлов, чтобы продолжить. В конце результат от каждого узла будет снова объединен как один набор данных.


Давайте предположим, что вы загружаете в набор данных <String, Integer>о населении некоторых районов города, и вы хотите получить среднюю численность населения по всем районам каждого города (рисунок 1).

фигура 1

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

Теперь hadoop сначала отобразит каждое значение, используя ключи (рисунок 2)

фигура 2

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

После сопоставления это приведет к уменьшению значений каждого ключа до нового значения (в этом примере среднее значение по набору значений каждого ключа) (рисунок 3)

рисунок 3

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

Теперь Hadoop будет сделано со всем. Теперь вы можете загрузить результат в HDFS (распределенную файловую систему hadoop) или в любую СУБД или файл.

Вот лишь один очень простой и простой пример того, что может сделать hadoop. Вы можете выполнять намного более сложные задачи в hadoop.

Как вы уже упоминали в своем вопросе, hadoop и noSQL дополняют друг друга. Я знаю несколько установок, где, например, миллиарды наборов данных от датчиков хранятся в HBase и затем передаются через hadoop для окончательного хранения в СУБД.

Johnny000
источник
5

NoSQL - это способ хранения данных, который не требует каких-либо отношений. Простота конструкции и возможность горизонтального масштабирования - один из способов хранения данных - key : valueпарная конструкция. Это поддается обработке, аналогичной Hadoop. Использование базы данных NoSQL на самом деле зависит от типа проблемы, за которой он следует.

Вот хорошая ссылка на Википедию NoSQL

Hadoop - это система, предназначенная для хранения и обработки огромных кусков данных. Это распределенная файловая система DFS. Это объясняется тем, что в основе его конструкции лежит предположение о том, что аппаратные сбои являются обычным явлением, что делает несколько копий одного и того же фрагмента информации и распределяет его по нескольким машинам и стойкам, поэтому, если один из них выходит из строя, нет проблем, мы есть еще две копии. Вот отличная ссылка на Hadoop из Википедии, и вы увидите, что это, на мой взгляд, больше, чем просто хранение, но и обработка: Hadoop

MCP_infiltrator
источник