Types of Databases | Criteria to choose the best database in the System Design Interview

preview_player
Показать описание
One of the most important things in a System Design interview is to choose the best database for the right use case. In this video we are discussing what are the different types of databases, what are different criteria to choose the best database for your service and how to choose the best database for your service during system design interview.

00:00 - Introduction & why choosing the best database is important in system design
02:05 - Different criteria to choose the best database in the system design interview
08:20 - Common types of databases
25:42 - Example of choosing the best database for tiny URL service.
29:38 - Example of choosing the best database for a social graph service
30:50 - Summary of choosing the best database
34:31 - Final Remarks

Check out our following articles:

#SystemDesign #DistributedSystems #FAANG #Facebook #Google #Amazon #Apple #Microsoft #Uber #Netflix #Oracle #Lyft #Interview #ComputerProgramming
Рекомендации по теме
Комментарии
Автор

Please let me know if you find the video useful. Thanks :)

ThinkSoftware
Автор

15:59 I think DDB supports secondary index so you can query based on any field in the table

mr.aburik
Автор

I found your channel from reading a medium article about payments system design. I am very happy I did! The video was super informational and really helped me understand some things that did not sit well with me. Thank you for your great effort and keep making those videos!

maxkolchinsky
Автор

Great Video. Love your series

Questions about Columnar my 2 cents:
1. Why for analytic work load: it’s due to query pattern where we scan/read all or large no of rows for specific column. Databases are chosen with the assumption that the situation warehousing analytics are read only, and rarely does the situation arise where users have to read and write many attributes in the same table.


2. Why compression:
For a given column we run aggregation quarries like MIN, MAX, SUM, COUNT, and AVG … To help these perform quickly we go with compression.
In addition for a given column, no of distinct values are less. So operational cost pov, this is good.

StellasAdi
Автор

Very informative video, thank you for your efforts. One small suggestion, this video has lot of very small frames stitched together I think. If you could make longer video chunks in one go it and then join them it would be helpful.

mahanteshambali
Автор

Thanks, this was a great video!! Liked.
Can you please make a condensed version of this video? Basically something to quickly watch before going into a system design interview

mnchester
Автор

Storing the same data of the same data types together allows for the data to be highly compressed, and this equals better performance with column based databases.

abhayxfactor
Автор

It will be nice to show how the records in each db looks like in your video. It will help to digest your content.

garyp
Автор

Relational Databases can be Distributed or not ?
- The mail issue here will be maintaining the ACID properties over the network.
For ex: It would be required to lock all the row values involved in the transaction over all the distributed nodes + get the acknowledgement that all the rows are blocked for read and write -> Followed by an update + acknowledgement of update -> Followed by unlock for making the row value usable again. This in itself defeats the purpose of having a distributed system. So, theoretically it might be possible (borderline impossible) but do we achieve anything good out of it ? So much overhead. We would also need to handle a lot of corner cases for example : all the nodes which were down during a transaction would need to sync up in real time before becoming usable again.
Therefore, I doubt replication (an important characteristic of distributed system which reduces latency and increases availability) can be achieved for writes.

For Sharding : Cross shard transactions would require some coordination mechanism. Sharding can be done in a way to minimize cross shard transactions. Databases can be manually shard but they still do not utilise all the advantages of a distributed system.

arunavhkrishnan
Автор

G8 video, thanks for posting such contents.
1. Weather a RDS can be distributed ? yes it can be shading, master - slave are example for the same

2. Column data base is performant in accessing column data, why ? Please suggest.
3. Column data base achieve better compression because there are possibilities that same values may appear in multiple data sets for a column.
4. Column data base are used in analytics purposes as it is possible to extract individual column data which is required for analysis, Instead of whole row.

MrGottain
Автор

awesome explanation sir. Very informative.

TheSudh
Автор

We can create Secondary Index in DynamoDB so what do you mean when you say that Key-Value stores are opaque to what value we store? What's the difference between key Value store and Document DB exactly?

ankitarora
Автор

Q: Relational Databases can be Distributed or not ?
Yes, they can be distributed using primary-secondary or leader-follower models. AWS RDS offers distributed relational db service

KapilSharma-zvoo
Автор

Thanks, good content!
Question: If scalability is a concern, users don't generally opt for RDMS. WHY?
We can perform HORIZONTAL sharding on a RDBMS(maybe partitioning by RANGE or USERID) and store it in multiple nodes(via consistent hashing), how come RDBMS not scale-friendly?

piyushmathpal
Автор

I don’t agree with any of the SQL points:
1. Nowadays, a lot of sql databases provide auto shading.
2. Changing schema is true for most of the usse cases, right? So by your logic, no one should use SQL if there is a possibility of scheme change?

rjphotos
Автор

What are example of NewSQL of Distributed SQL Databases?

pareshbijvani
Автор

Can u make video on Roadmap to System design expert .

muhammadmehdi
Автор

Can you increase the frequency of videos,

anujymnit
Автор

Your lisp, multiple cuts in editing and fast moving on topics made it difficult to grasp.
Many topics like ACID, CAP ...etc need more clear explaination.

jollyjitesh
Автор

accent is real heavy. 9 min. intro? need more visual aids for this topic

LuBrown