Overall Satisfaction with MongoDB
Our engineering department uses MongoDB to power our SaaS. It stores data for our clients to create and configure assets for their account based marketing efforts including A/B testing and personalization.
The configurations for these assets can get fairly complex and contain nested structures. A document store is ideal for this type of data and MongoDB makes it a breeze. Data is needed in web browsers as well, so having native JSON support is very convenient and valuable to us.
Our dashboard features reports for our users and once again MongoDB supports our complex reports using its aggregation framework.
MongoDB's replication has helped our application easily scale to support many clients.
The configurations for these assets can get fairly complex and contain nested structures. A document store is ideal for this type of data and MongoDB makes it a breeze. Data is needed in web browsers as well, so having native JSON support is very convenient and valuable to us.
Our dashboard features reports for our users and once again MongoDB supports our complex reports using its aggregation framework.
MongoDB's replication has helped our application easily scale to support many clients.
- Document object storage. JSON (BSON) native with JSON query syntax makes things familiar for JavaScript developers.
- Generating aggregate reports using the aggregation framework is extremely convenient for analytics and reporting. It saves time.
- MongoDB scales nicely. Replica sets are easy to bring online and help solve throughout issues for read heavy applications.
- MongoDB's auto-sharding is fairly easy and helps solve issues for scale when it comes to writing lots of data.
- When working with large data sets that benefit from many indexes (reads), it can slow down writes.
- MongoDB is simple to use, but deceptively difficult to master for performance. More documentation around some pitfalls would be great (though there is some and more than there once was, it is improving).
- MongoDB now has V8, but still runs many operations in a single-threaded capacity. It could be faster for certain tasks.
- Depending on what's going on, replication lag can be slow and can cause problems.
- Faster development of new product features.
- Cheaper cost of ownership (it's open-source, no licensing fees, easy to host).
MongoDB Implementation
- Implemented in-house
- Professional services company
We use mLab to help manage and monitor our MongoDB cluster. Their pricing is compeitive and they have excellent service. The monitoring on MongoDB that they provide is valuable for hunting down slow queries and other bottlenecks. It also provides general health and availability information at a glance. Upgrading the size of the cluster is also very easy with their services.
Change management was a small part of the implementation and was well-handled