Mark As Completed Discussion

Scaling Databases

Suppose that you've recently developed an application. Let's say-- a learning management system-- and released it for students of different institutions. Initially, very few institutions used the application, but after some time, it became popular, and various institutions registered and started using it.

Since you would be saving the record of all students from each institution, the performance of the application would degrade if a large number of users use the application simultaneously. Some transactions may result in deadlocks or even fail, and the application would take more time to respond to user queries. This results in customer dissatisfaction, something startups deeply dislike.

There are several ways to solve this problem (like optimization of queries or upgrading system hardware). One common way to solve this problem is by scaling, or sharding, your database.