System design interview: Database Scaling
Вставка
- Опубліковано 24 лип 2024
- ► WATCH LIVE: twitch.com/johncodes
► Twitter: / johncodezzz
► Home page: johncodes.com
► Email me: hello@johncodes.com
Database scaling questions are some of the most complicated ones you'll be asked in a system design interview. In this video, we will cover the various topics and broad strategies for database scaling.
#johncodes
🚀 SUMMARY:
Scaling databases are no trivial manner. Especially when you need to scale them up to millions (if not billions) of users. At a global scale, you'll have to consider geo-political implications, but we'll also be covering horizontal vs vertical scaling, manager / worker models, sharding, partitions, and using data centers. Best of luck in your software engineer interviews!
⏰ TIMESTAMPS:
00:00 Intro
00:36 ACID
03:16 Single server
05:50 Multiple databases
06:48 Manager / Worker
08:39 Circle
10:51 Quick note on caching layers
12:39 Partitions
15:22 Sharding
17:07 Datacenters
20:00 Separate read / write layers
20:53 SaaS
🎵 MUSIC CREDITS:
- Yasumu - Recharge
- Provided by Lofi Records
- Watch: • Yasumu - Recharge
- Download/Stream: fanlink.to/3amstudysession
🤔 About:
Hi all, I’m John, an experienced software engineer and open source software enthusiast / contributor. I make fun and informative videos about tech, engineering, productivity, and life! Like, comment, and subscribe for more! - Наука та технологія
Good luck all with your system design interviews!! 🚀
This video is much more detailed than the others I watched. Good job.
Awesome video man, really love the channel and content. Keep it coming please!!
Thanks much! Planning to do more!! Hopefully time allows 😅
The 2nd one is actually "Consistency", which is different from correctness. Correctness can only be guaranteed by the app code (written by a developer).
Consistency means that everything written by a transaction must be valid, e.g. constraints, cascaded triggers, or any combination thereof. Sorry, cannot give you thumbs here but I will not give you a downvote either. So, better luck next time :).
Thanks for the correction!!!
"Correctness" is also correct and sometimes used though less often than "consistency."
Correctness can mean different things in different contexts or levels of abstractions. Its valid to talk about the database enforcing "correctness" (in terms of database constraints) separately from "correctness" in the application logic.
"Consistency" is often conflated with the CAP theorem sense. "Correctness" (conformity to some model) is closer to what the C in ACID is actually supposed to represent.
Really great walkthrough. Clear, concise and decent white boarding. Now the manager/worker terminology was throwing me off for a minute like “is he meaning master/salve DBs?” 😂. I work at FAANG and get it, our blacklist (I mean “not allowed list”) of technical terms grows daily but it still throws me off.
Yeah, I thought he was just being too liberal, but I get it now.
Thank you this was very useful intro the database scaling
Thanks for the video!
Please make more system design videos. your explanation is super
Thanks much! I'll do my best!
Can't believe this doesn't have 100k+ views, this is great stuff, thank you!
My man knows so much about databases, but only so few people can appreciate
Super video.
Why didn't mention RabbitMQ for queuing ? Could be beneficial too
Man could you continue with this series?
I'll try! I've been very busy :(
C is "consistency"
Bro the C stands for Consistency !
Atomicity
So the answer is what's the most scale approach to database if I use both mysql and nosql? For example like Instagram how they approach their database scaling??? Any engineer working at Instagram can answer me? 🤣
Design a Telemetry System
Good idea!!!!
@@JohnCodes looking forward