Mongo DB. Should we select this as a project database? - exam105/backend GitHub Wiki
Analysis result:
After going through the docs and reading many articles, I think NoSQL database can be a good fit for the project. The most powerful plus point is the ability to Scale Easily. This is a requirement of the project also and it looks simple to scale with MongoDB.
Why NoSQL database can be a good choice for the project
- We don't need database transaction.
- We can afford redundancy in the database.
- Need Replication and Sharding feature.
- We want to avoid transformation between Json to tabular format and again back to json.
- The project is Read Heavy. Reads are fast in NoSQL.
- Helpful resources are easily available on the internet for MongoDB with Golang which can make life easier.
Advantages of MongoDB: https://www.mongodb.com/nosql-explained/advantages
Some useful learning links:
- Suggestion for data model design: https://stackoverflow.com/questions/26414844/mongodb-embedded-or-normalized-data-models-for-users-and-activities
- https://stackoverflow.com/questions/51012368/when-should-we-use-embedded-documents-in-mongodb (Read the answer)