Overall Satisfaction with MongoDB
The Engineering team uses MongoDB as our NoSQL database technology. While we do use a relational database (MySQL) as the primary data warehouse solution, we use Mongo for specific data sources that are very unstructured. The effectiveness of Mongo on schema-less data makes it a great tool for us because accomplishing the same things we do in Mongo in MySQL would take longer and be far less performant.
- Very easy to learn and use. Arguably a simpler query language than traditional SQL.
- Large community and excellent documentation. This means many resources and support available.
- Great for dealing with unstructured data. No need to spend time creating schemas (when unnecessary).
- Cost efficient. Free for many types of use.
- Less flexible than traditional SQL (i.e.: no joins). This means it's not suitable for certain data needs.
- Can take up more space than typical relational DB, which can be problematic for very large data warehouses.
- Not fully transactional (ACID compliant).
- Cost us very little to host and manage.
- Gives us a powerful datastore for unstructured data, which saves development time having to build similar solutions in a relational database
- Very performant (fast), which helps the business run efficiently.
- MySQL and PostgreSQL
MongoDB is the best NoSQL database out there. There are others, but Mongo has the largest community, is very easy to set up, and is extremely performant. Compared to a relational DB (like MySQL or Postgres) is like comparing apples and oranges. One isn't better or worse than the other. It more depends on the particular data you are working with and what you need to do with that data. That will determine which option to go with.