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.
- Ease of setup and flexible with multiple client variants, Quick turnaround to insights
- Good performance on processing
- Good interactions with Hadoop, Spark, Solr