Over a million developers have joined DZone.

Understanding the Limitations of MongoDB

DZone's Guide to

Understanding the Limitations of MongoDB

· Big Data Zone
Free Resource

Need to build an application around your data? Learn more about dataflow programming for rapid development and greater creativity. 

This article from Henrique Weismann (aka Kico Lobo) at /dev/Kico takes an interesting look at MongoDB by highlighting its limitations, not to criticize or demonize MongoDB, but to clarify weaknesses in order to prevent lack of user understanding from misrepresenting it. According to Weismann, "I see the same story repeating itself: people unhappy with it treating [MongoDB's] limitations as if they were bugs."

Weismann's article summarizes each of the areas he considers to be limitations, including:

  • Consumption of disk space
  • 12-node limit to the replica-set strategy
  • Manual changes to master node in the master-slave strategy
  • 32-bit MongoDB only handles 2GB of data

In the full article, Weismann goes into more detail and presents a few more limitations beyond these. Again, though, Weismann stresses that this is not a condemnation of MongoDB - these aren't trade secrets, after all, as MongoDB has published their own record of the MongoDB Limits and Thresholds - and it's important to remember that every technology has limitations.

In other words, you can't blame a screwdriver for not being a hammer. Check out Weismann's full article to get a better understanding of the strengths and weaknesses of MongoDB.

Check out the Exaptive data application Studio. Technology agnostic. No glue code. Use what you know and rely on the community for what you don't. Try the community version.


Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}