Search code examples
hadoopmapreduce

what are the disadvantages of mapreduce?


What are the disadvantages of mapreduce? There are lots of advantages of mapreduce. But I would like to know the disadvantages of mapreduce too.


Solution

  • I would rather ask when mapreduce is not a suitable choice? I don't think you would see any disadvantage if you are using it as intended. Having said that, there are certain cases where mapreduce is not a suitable choice :

    • Real-time processing.
    • It's not always very easy to implement each and everything as a MR program.
    • When your intermediate processes need to talk to each other(jobs run in isolation).
    • When your processing requires lot of data to be shuffled over the network.
    • When you need to handle streaming data. MR is best suited to batch process huge amounts of data which you already have with you.
    • When you can get the desired result with a standalone system. It's obviously less painful to configure and manage a standalone system as compared to a distributed system.
    • When you have OLTP needs. MR is not suitable for a large number of short on-line transactions.

    There might be several other cases. But the important thing here is how well are you using it. For example, you can't expect a MR job to give you the result in a couple of ms. You can't count it as its disadvantage either. It's just that you are using it at the wrong place. And it holds true for any technology, IMHO. Long story short, think well before you act.

    If you still want, you can take the above points as the disadvantages of mapreduce :)

    HTH