Understanding scaling
When you are using MongoDB in a production environment and under high throughput, you may face a lack of server resources. Storing large datasets on a single machine can be the biggest problem. In addition, responding to a lot of read/write requests from different clients can be a concern because these kinds of processes are resource-consuming and can exhaust the server's resources.
To address these problems, scale your database system to support more clients. Basically, there are two ways to scale a system, vertical scaling and horizontal scaling.
In the vertical scaling approach, the system administrator will add more resources and capacities to an existing server. However, adding more capacity to an existing system has some limitations, making this approach less useful. Adding more CPU cores or RAM capacity to a machine can be more expensive than setting up a new smaller machine. Meanwhile, some cloud-based service providers don't offer very large capacity machines...