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?

Comentários

  • Votado por falta de esforço de pesquisa. Hadoop e noSQL são bem definidos em outro lugar.
  • @Spacedman, eu concordo, mas esse foi um exemplo de pergunta da Area51 então se fosse não excluído antes, acho que é válido, e até eu sabia a resposta quando postava a pergunta (pelo menos genericamente).

Resposta

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

o ecossistema hadoop

A maioria das pessoas se refere a trabalhos de mapreduce ao falar sobre hadoop . Um trabalho mapreduce divide grandes conjuntos de dados em alguns pequenos pedaços de dados e os espalha por um cluster de nós para continuar. 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 você deseja obter a população média de 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 chaves (figura 2)

figura 2

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

Após o mapeamento, ele reduzirá os valores de cada chave 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 o hadoop seria feito com tudo. Agora você pode carregar o resultado no HDFS ( hadoop sistema de arquivos distribuído) ou em qualquer DBMS ou arquivo.

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

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

Resposta

NoSQL é uma forma de armazenar dados que não requer que haja algum tipo de relação. A simplicidade de seu design e 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 busca.

Aqui está um bom link da wikipedia NoSQL

Hadoop é um sistema criado para armazenar e processar grandes blocos de dados. É um dfs de sistema de arquivos distribuído. A razão de fazer isso é que, fundamental para seu design, ele pressupõe que as falhas de hardware são comuns, fazendo assim várias cópias da mesma informação e espalhando-a por várias máquinas e racks, portanto, se um cair, não há problema, nós tenho mais duas cópias. Aqui está um ótimo link para Hadoop da wikipedia também. Você verá que, em minha opinião, é mais do que apenas armazenamento, mas também processamento: Hadoop

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *