Overall Satisfaction with MongoDB
MongoDB is being used here to support a use case where a relational DB fails miserably. The data for this use case varies by municipality, state, region, country, etc., so there's hundreds of variances between one piece of data and the next. In a relational DB this would need to be managed by either multiple tables, or a table with a very large amount of columns which quickly becomes unwieldy when indexes are added to the mix. With MongoDB we're able to store all this data together, index it appropriately and retrieve it more quickly.
- MongoDB handles variable data extremely well and allows for extremely fast retrieval and processing.
- Since MongoDB natively supports JSON it has made development extremely quick.
- MongoDB Operations are very simple and allowed us to operationalize it very quickly.
- MongoDB does not currently support ACID Transactions, they are looking to tackle this issue in their next release.
- MongoDB's query language requires a learning curve for those in the relational world.
- MongoDB does not natively support SQL.
- Faster Development Time
- Increased Developer Efficiency, leading to more leaner and agile releases
- Increased Operations Efficiency, very easy to automate the DB provisioning process
- Cassandra and Couchbase Server
We chose MongoDB because it fit our specific use cases better than the other two NoSQL products that I've identified. There are some use cases where those products would be better. Be sure to use the right tool for the job, for us, it was MongoDB, for you it might not be.