MongoDb M0 Cluster limits clarifications

Hello everyone,
I am trying to understand what the limits of the M0 Cluster exactly mean. While some of them are pretty straightforward, the rest are a bit vague, at least for me.

So I need more clarification.

LIMIT 1:

  • M0 free clusters and M2/M5 shared clusters are allowed a maximum of 500 connections.*

=> What does connection exactly mean? And what happens if I exceed that limit?

LIMIT 2:

  • 512MB to 5GB of storage *

=> So for M0, it’s 512 MB. Does this mean that the total size of the collections must not exceed 512 MB? Or is that a monthly limit? And what happens if I exceed it?

LIMIT 3:
M0/M2/M5 clusters limit the total data transferred into or out of the cluster in a rolling seven-day period. This varies by cluster tier as follows:

** M0: 10 GB in and 10 GB out per period*
** M2: 20 GB in and 20 GB out per period*
*M5: 50 GB in and 50 GB out per period

=> What does “Total data transferred into or out of the cluster” mean? What kind of operations are we talking about here? Database dumping and restoring for example?

Thank you.

Hi @Ghrib_Ahmed,

Connections

A connection = a network connection (internal to the cluster or external).
So basically, connecting one mongosh will create one new connection and free it when you stop it.
It’s not exactly the same with drivers as they use connection pools and actually create more than one connection to optimise the throughput.

Storage

With an M0, ALL the data in your cluster can’t be larger than 512MB. If you try to insert more, you will get an error. The write operation will fail. It’s not a monthly limit. It’s an absolute limit. If you want to store more than 512MB, you need a bigger hard drive and upgrade.

Network

“Total data transferred into or out of the cluster” means network IN/OUT. Everything counts. CRUD operations, aggregations, manual backups, …
As you are limited to 512MB of storage anyway, it would be surprising to have more than 10GB of data transfer per 7 days anyway…
If you reach that limit, every operation will fail until the 7 days refresh happens.

Conclusion

To sum up, M0 clusters are for training, learning & discovering the platform. They aren’t suitable for a production workload as they use shared hardware.
You have a dedicated env starting at M10 which will be enough for low-traffic applications and offer more security features like AWS peering, etc (which isn’t possible with a shared env).

Cheers,
Maxime.

3 Likes