Qual é a diferença entre Hadoop e noSQL

15

Ouvi falar de muitas ferramentas / estruturas para ajudar as pessoas a processar seus dados (ambiente de big data).

Um é chamado Hadoop e o outro é o conceito noSQL. Qual é a diferença no ponto de processamento?

Eles são complementares?

рüффп
fonte
3
Votado por falta de esforço de pesquisa. O Hadoop e o noSQL estão bem definidos em outros lugares.
Spacedman
@ Spacedman Eu concordo, mas esse foi um exemplo de pergunta da Area51 , se não foi excluído antes de eu acho que é válido e, até eu sabia a resposta quando postei a pergunta (pelo menos genericamente).
рüффп

Respostas:

16

O Hadoop não é um banco de dados , o hadoop é um ecossistema inteiro.

o ecossistema hadoop

A maioria das pessoas se refere a trabalhos de maquinários enquanto fala sobre hadoop. Um trabalho de mapreduce divide grandes conjuntos de dados em alguns pequenos pedaços de dados e os espalha por um cluster de nós para prosseguir. No final, o resultado de cada nó será reunido novamente como um conjunto de dados.


Vamos supor que você carregue no hadoop um conjunto de <String, Integer>com a população de alguns bairros de uma cidade e deseje obter a população média em todos os bairros de cada cidade (figura 1).

figura 1

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

Agora, o hadoop mapeará primeiro cada valor usando as teclas (figura 2)

Figura 2

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

Após o mapeamento, os valores de cada chave serão reduzidos para um novo valor (neste exemplo, a média sobre o conjunto de valores de cada chave) (figura 3)

Figura 3

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

agora hadoop seria feito com tudo. Agora você pode carregar o resultado no HDFS (sistema de arquivos distribuídos hadoop) ou em qualquer DBMS ou arquivo.

Esse é apenas um exemplo muito básico e simples do que o hadoop pode fazer. Você pode executar tarefas muito mais complicadas no hadoop.

Como você já mencionou na sua pergunta, o hadoop e o noSQL são complementares. Conheço algumas configurações nas quais bilhões de conjuntos de dados de sensores são armazenados no HBase e passam pelo hadoop para finalmente serem armazenados em um DBMS.

Johnny000
fonte
5

O NoSQL é uma maneira de armazenar dados que não exigem que haja algum tipo de relação. A simplicidade de seu design e a capacidade de escala horizontal, uma maneira de armazenar dados, é o key : valuedesign de pares. Isso se presta a um processamento semelhante ao Hadoop. O uso de um banco de dados NoSQL realmente depende do tipo de problema que se está procurando.

Aqui está um bom link da wikipedia NoSQL

O Hadoop é um sistema destinado a armazenar e processar grandes quantidades de dados. É um sistema de arquivos distribuído dfs. A razão disso é que, no centro de seu design, assume-se que as falhas de hardware são comuns, fazendo várias cópias da mesma informação e espalhando-a por várias máquinas e racks; portanto, se uma falha, não há problema, tem mais duas cópias. Aqui está um ótimo link para o Hadoop da wikipedia, você verá que, na minha opinião, é mais do que apenas armazenamento, mas também processamento: Hadoop

MCP_infiltrator
fonte