Data partitioning, or sharding, involves dividing a large database into smaller pieces. This helps improve how the database is managed, its performance, availability, and how the application distributes its workload. The idea behind sharding is that once a database reaches a certain size, it’s more efficient and cost-effective to add more machines horizontally (meaning, adding more machines) than to invest in bigger, more powerful servers vertically. In nutshell, it is the process of splitting up a DB/table across multiple machines.
Read MoreTag: database
System design : pastebin.com
About pastebin.com
User can paste or write or store text for the specific period of time and the same content can be accessed / shared via a unique URL. Idea behind this system is that people should be able to share large amount of text online in simple and convenient manner with other people.
Functional requirements
- User should be allowed to paste their content and paste should be accessible via unique URL.
- Registered users can edit or delete their paste
- Paste would be removed from the system after 1 year. / Paste URL would be expired after 1 year of period.
SQL or NoSQL
There are two mainly two types in the world of databases: SQL and NoSQL (or relational databases and non-relational databases). Both are different in terms of how they are built, what kind of and how they store the information and kind of storage method they use.
Read More