Database Design Tips | Choosing the Best Database in a System Design Interview

preview_player
Показать описание
One of the most important things in a System Design interview is to choose the right Database for the right use case. Here is a cheat sheet that can help you choose the right DB for most of the use cases that you can encounter.

We do over some important topics like which database you should use, in what scenarios, in a System Design Interview. Some comparisons between SQL and NoSQL databases, how to use multiple databases together in a real-world system, etc.

Chapters

0:00 - Intro
1:05 - Things that matter
1:45 - Caching
3:20 - File storage
4:22 - CDN
5:11 - Text search engine
6:30 - Fuzzy text search
8:25 - Timeseries databases
10:11 - Data warehouse / Big Data
11:17 - SQL vs NoSQL
11:24 - Relational DB
14:28 - NoSQL - Document DB
16:28 - NoSQL - Columnar DB
18:23 - If none of these are required
19:03 - Combination of DBs - Amazon case study.

#codekarle #databases #systemdesign #system #design #interview #amazon #faang
Рекомендации по теме
Комментарии
Автор

You make me intelligent with every video I watch of yours.

MohitKumar-osir
Автор

Just in case someone is still confused when to use column based DBs here's a little explaination:
Consider a database which has a large volume of data with 100 columns. And your application most of the time just queries only a few columns (let’s say 4-5 columns). Then in case of document DBs or row based DBs (relational Dbs) all data will be loaded row by row in main memory for processing, parsing and other operations. It will be a waste of a lot of effort in loading and processing of unnecessary columns. Column based DBs are used to tackle this problem where a large amount of data is stored in column based fashion so that the application can query only a few columns of large volume of data.
- reference: Designing Data-Intensive Applications. by Martin Kleppmann.

harshalchaudhari
Автор

This has been the most useful 23 mins of System Designs Learning I've come across yet. And this is after I took an 11 hour course... you put it all together for me so much more succinctly. Thank you!!

amandabarton
Автор

WOW. Watched so many videos and finally found the gold content. No flashy animations and funky music. Just old school 1-1 explaining with clarity, examples and strong fundamentals. Beauty of online education.

krishnabirla
Автор

Those who prefer AWS Managed Services. Here, is the list
Blob Storage : AWS S3
Caching : AWS ElasticCache
Full Text Searching : AWS ElasticSearch
Time Series Database : AWS TimeStream
Analytical Databases : AWS Redshift ( It depends, sometimes we can use AWS S3 for storing large csv files and then we can use AWS ElasticMapReduce(EMR) to process S3 Files)
RDMS (Relational Databse) : AWS Aurora
Document Database : AWS DynamoDB
Columnar Database : Not sure, I think AWS DynamoDB will satisfy this requirement too.

harshavardhan
Автор

Thanks for creating such an insightful video.

There are few things that I would suggest adding to all the important points that you have mentioned:

1> Write Heavy vs Read Heavy systems is also an important point to consider for database selection. We cannot write scale RDBMS (as generally in RDBMS the write is on the single primary instance). For DocumentDB, we need sharding to write scale it which can be done but are not so natural as it is in ColumnarDB like Cassandra where we need to mandatorily choose the partition key during the data modelling itself. So for write heavy systems I prefer to go with Cassandra if I don't need ACID. For write heavy systems that need ACID we should choose RDBMS with multi master configuration and for that application needs to take care of bifurcating the data to the appropriate master based on the decided key.

2> Graph database for mapping social network type of data.

YashRaithatha
Автор

Best video tutorial available on the internet for choosing between databases for designing systems. Period

madhumantichakraborty
Автор

I don't know why people are buying gold when by just watching this video you can be rich!
Sincere gratitude to you Sandeep!

manveersingh
Автор

Sandeep: I must say that you have the gift of explaining complex concepts in a very simple way, this is rare to find in today's days. Your clarity in explaining the fundas is great and makes me learn so much more. Please continue sharing your knowledge thereby helping learners across the globe! Thank you for sharing this and best of luck to you on this journey!

jyotibhatia
Автор

As someone with only monolithic embedded systems experience, this is hands down the only resource on the internet that made sense to me in this domain. Heartfelt thanks!

ramachandraneswaran
Автор

This is one of the best explanation on choosing db....

vidhanchandra
Автор

Best video I have watched which summarizes it so simply. The best part of this is he explains it by taking examples of products such as Amazon, Netflix etc.

Sailgodgreenearth
Автор

this video is an absolute gem. Finally someone that breaks this down directly without dancing around the topic

RandomShowerThoughts
Автор

Thanks for the video. It's worth stressing on is the consistency aspect of databases. RDBMS's provide strong consistency, whereas a NoSQL like Casandra provides eventual consistency, but higher availability owing to its masterless model, and thus lack of a single point of failure. HBase, on the other hand, is a single-leader system with a single-point of failure.

progfan
Автор

I like the way you present.. you look like a humble human being with lots of knowledge and work experience... please continue your good work..

rishianands
Автор

Your videos are a life saver for me. I have recently joined an organisation as senior developer and i have been given few system design tasks. And going through your videos is enabling me to understand the intricacies of the system design.

asishkumarsatapathy
Автор

Reading this a day before on-site interviews. I am much more confident on the database selection justification :). Thank you

HarkiratSaluja
Автор

Really informative. Loved it, coming out burnt from GKCS, that guy always leaves me confused for some reason. This channel is must recommended.

omishagupta
Автор

This man needs at least 100K subs. Love this content, extremely concise and informative, I have subbed!

peterwofford
Автор

No words to say..the way you've cleared everything.... You should be on YouTube long time before.

divakarkumaryadav