MongoDB takes over the Web!
Updated December 08, 2015

MongoDB takes over the Web!

Rekha Joshi | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with MongoDB

MongoDB was used as a backend NoSQL document store on services which needed to work with JSON document files.
  • It is very simple to setup and quick to get started on, it becomes a developer's paradise.
  • It is the top NoSQL document store and provides consistency and partition tolerance. Works very well with JSON files.It has ease of shell interaction.
  • It supports clients on multiple languages.
  • It works well with Hadoop, Spark and Solr.
  • MongoDB is written mainly in C++ and Javascript. As Java is still the main language of developers, and Java 8 providing even the functional paradigm, MongoDB codebase and getting developer community around it can be a concern.
  • Understanding internals of MongoDB functionality can be a challenge due to the language barriers. It uses a specialized leader election algorithm, not standard Paxos or Raft consensus algorithm and this becomes a concern when trying to understand its internal functionality.
  • When I last evaluated it, it did not have best in class performance across different workloads.
  • The write performance needed improvement, but I hear Mongo 3.0 does has good performance on writes.
It provides web scale performance and works great for most part, and is top document NoSQL store. The availability is a concern as it is kind of master-slave with primary/secondary and leader election. The writes performance/batch was a worry with journaling and the performance hit. Some of the workload performance could be improved.
  • Ease of setup and flexible with multiple client variants, Quick turnaround to insights
  • Good performance on processing
  • Good interactions with Hadoop, Spark, Solr
I use Cassandra more often these days for best in class performance, tunable consistency, linear scalability. In similar cases, I have used Apache HBase. But if there is a need for document store, MongoDB is the top choice.
I hear MongoDB3.0 has great write performance, new features, improved performance on different workloads, and more scalability. Definitely interesting to look into!
MongoDB is well suited as:

  • Highly performant processing and if your data model is mostly documents, this is a natural fit.
  • Ease of setup and simplicity of MongoDB interface remains much favored by developers.
  • Developers have a need to understand the internals, so if you have C++/javascript developers that is ideal.
  • If you really need relational database with ACID guarantees, you would need to use a relational database. But most use cases these days need often some set of features among them: consistency, partition tolerance and availability. MongoDB favors consistency and partition tolerance and most interactions/workloads have reasonably good performance with MongoDB.
  • It has great connectivity with Hadoop, Spark, Solr. This works in favor of MongoDB to be a part of your overall ecosystem.