sql >> Database teknologi >  >> NoSQL >> MongoDB

Hadoop Kort/Reducer vs indbygget Kort/Reducer

Mit svar er baseret på viden og erfaring med Hadoop MR og indlæring af Mongo DB MR. Lad os se, hvad der er store forskelle, og prøv derefter at definere kriterier for udvælgelse:Forskellene er:

  1. Hadoop's MR kan skrives i Java, mens MongoDB's er i JavaScript.
  2. Hadoops MR er i stand til at bruge alle kerner, mens MongoDB's er enkeltgevind.
  3. Hadoop MR vil ikke blive samlokaliseret med dataene, mens Mongo DB'er vil blive samlokaliseret.
  4. Hadoop MR har millioner af motor/timer og kan klare mange hjørnesager med massiv outputstørrelse, dataskævheder osv.
  5. Der er rammer på højere niveau som Pig, Hive, Cascading bygget oven på Hadoop MR-motoren.
  6. Hadoop MR er mainstream, og en masse fællesskabsstøtte er tilgængelig.

Ud fra ovenstående kan jeg foreslå følgende kriterier for udvælgelse:
Vælg Mongo DB MR, hvis du har brug for simpel gruppe efter og filtrering, forvent ikke tung blanding mellem kort og reducer. Med andre ord - noget simpelt.

Vælg hadoop MR, hvis du skal udføre komplicerede, beregningsmæssigt intense MR-opgaver (f.eks. nogle regressionsberegninger). At have en masse eller uforudsigelig størrelse af data mellem kort og reducere tyder også på Hadoop MR.

Java er et stærkere sprog med flere biblioteker, især statistiske. Det bør der tages højde for.



  1. Hvornår skal man bruge et nøgle-/værdilager såsom Redis i stedet for/ved siden af ​​en SQL-database?

  2. Apache HBase + Apache Hadoop + Xceivers

  3. få objekt fra redis uden eval?

  4. Architecting for Security:En guide til MongoDB