Introduction to Databases
Understand what a database is and its use cases in the system design.
Problem statement
Let’s start with a simple question. Can we make a software application without using databases? Let’s suppose we have an application like WhatsApp. People use our application to communicate with their friends. Now, where and how can we store information (a list of people’s names and their respective messages) permanently and retrieve it?
We can use a simple file to store all the records on separate lines and retrieve them from the same file. But using a file for storage has some limitations.
Limitations of file storage
- We can’t offer concurrent management to separate users accessing the storage files from different locations.
- We can’t grant different access rights to different users.
- How will the system scale and be available when adding thousands of entries?
- How will we search content for different users in a short time?
Solution
The above limitations ...