MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Hadoop Map/Reduce vs Map/Reduce integrado


Minha resposta é baseada no conhecimento e experiência do Hadoop MR e no aprendizado do Mongo DB MR. Vamos ver quais são as principais diferenças e, em seguida, tentar definir os critérios de seleção:As diferenças são:
  1. O MR do Hadoop pode ser escrito em Java, enquanto o do MongoDB está em JavaScript.
  2. O MR do Hadoop é capaz de utilizar todos os núcleos, enquanto o do MongoDB é de thread único.
  3. Hadoop MR não será colocado com os dados, enquanto o Mongo DB's será colocado.
  4. O Hadoop MR tem milhões de mecanismos/horas e pode lidar com muitos casos de canto com tamanho enorme de saída, distorções de dados etc.
  5. Existem estruturas de nível superior, como Pig, Hive, Cascading, construídas sobre o mecanismo Hadoop MR.
  6. O Hadoop MR é popular e há muito suporte da comunidade disponível.

Do acima, posso sugerir os seguintes critérios para seleção:
Selecione Mongo DB MR se você precisar de agrupamento e filtragem simples, não espere embaralhamento pesado entre mapa e redução. Em outras palavras - algo simples.

Selecione hadoop MR se for fazer trabalhos de MR complicados e computacionalmente intensos (por exemplo, alguns cálculos de regressões). Ter muito ou tamanho imprevisível de dados entre map e reduzir também sugere o Hadoop MR.

Java é uma linguagem mais forte com mais bibliotecas, especialmente estatísticas. Isso deve ser levado em consideração.