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?
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?
Respostas:
O Hadoop não é um banco de dados , o hadoop é um ecossistema inteiro.
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.
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 : value
design 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