0
votes

I will start to a new .Core + NoSQL project. I am free to choose to use MongoDB or Cosmos on Azure for the database of at most 10 GBs.

That is, if I use Cosmos, I will have no maintenence issues but accesing it with a MongoDB driver seems like containing potential issues. I also have no experience with Cosmos while I worked with MongoDB previously. On the other hand, if I setup Mongo on a Windows or a Linux Server, I have to take care of the server itself, follow up the disk space, fix potencial issues etc.

In terms of maintenence and reliability, which one do you suggest?

1
There's another option not mentioned here: use a MongoDB Database-as-a-Service (DBaaS) provider hosted on Azure (for example, MongoDB Atlas). Cosmos has an option to use the MongoDB wire protocol and supports a subset of MongoDB commands, but the Cosmos server implementation can (and does) have differences from an actual MongoDB server. A MongoDB DBaaS has the benefits of maintenance and reliability, without concerns about compatibility with standard server behaviour. - Stennie

1 Answers

2
votes

As a rule of thumb, always choose the most managed service unless you have a reason not to. You probably answered your own question, in terms of maintenance and reliability you should choose Database-as-a-Service (CosmosDB) which not only offers a 99.999% high availability SLA but enables you to grow and distribute globally.

There is a MongoDB API for Cosmos, I would give it a try and implement a PoC.