System Design Concepts for Product Managers — Part 2
This is a system design series for Product Managers who should have a high-level understanding of System Design. We will first cover the basic concepts of System Design. This is part 2 of System Design. Stay tuned for future updates. You can find part_1 here. Database Sharding What is database Sharding? Credits: https://www.geeksforgeeks.org/ Let’s start with an example, assume that you are a software engineer who is building a product for user management. You have to store the data of millions of users in your database. You have already realized that your user base is increasing rapidly; what you will do? First, you will try to increase the capacity of the Database; increasing the capacity of the database make the search query to be slow. Then you realize that you need to do a partition of the data and query the database according to the request. Databas e Sharding is the process of breaking up the large data into smaller chunks called shards; a shard is a horizontal data partiti