MongoDB, a flexible/reliable DB that will draw you to the NoSQL world.
Overall Satisfaction with MongoDB
We use MongoDB at the heart of our application where speed and consistency are critical. It's used primarily by the engineering backend team and vicariously by other teams using parts of the product. It gives us the means to quickly iterate our data models with fewer painful migrations than we'd have with a traditional RDBMS and its JSON-like BSON object modeling maps nicely to our APIs.
Pros
- The BSON-based document storage models allow for sophisticated data modeling.
- Flexible MongoDB collection schemas allow for the storage of polymorphic records and easy migrations.
- MongoDB has readily adopted popular database concepts like change streams and graph queries.
Cons
- MongoDB will start to struggle with very large datasets even when well-indexed.
- Complex aggregation queries can be tricky in MongoDB when compared with an SQL-based database.
- Scaling a Mongo database can be expensive.
- MongoDB reduced development time spent on risky database migration for minor iterations.
- MongoDB has reduced the amount of time we need to spend on database maintenance.
- If it has cost us in terms of ROI, it would be in some of the complexity that's been involved in joining different pieces of data across collections, but that's been somewhat mitigated with GraphQL.
- MySQL and Amazon DynamoDB
In our early development days we weighed NoSQL databases like MongoDB with RDBMS solutions like MySQL. We were more familiar with MySQL from past experience but also were wary of painful data migrations that slowed down development iterations and increased the risk of outages during deployments. We also evaluated raw key-value document stores like DynamicDB, but we found those to be severely limited when compared to the functionality you'd get with an RDBMS. MongoDB provided a nice middle-ground, supporting many of the nice querying and indexing features you'd get from an RDBMS, but with the flexible model convenience of a key-value store.
Comments
Please log in to join the conversation