What is Database Sharding?

  Рет қаралды 149,354

Be A Better Dev

Be A Better Dev

Күн бұрын

Database sharding is a technique used to optimize database performance at scale. It relies on separating data into logical chunks so that they can be separated and queried independently. Learn more about sharding in this video.
Looking to get hands on experience building on AWS with a REAL project? Check out my course - The AWS Learning Accelerator! courses.beabetterdev.com/cour...
📚 MY RECOMMENDED READING LIST FOR SOFTWARE DEVELOPERS📚
Clean Code - amzn.to/37T7xdP
Clean Architecture - amzn.to/3sCEGCe
Head First Design Patterns - amzn.to/37WXAMy
Domain Driver Design - amzn.to/3aWSW2W
Code Complete - amzn.to/3ksQDrB
The Pragmatic Programmer - amzn.to/3uH4kaQ
Algorithms - amzn.to/3syvyP5
Working Effectively with Legacy Code - amzn.to/3kvMza7
Refactoring - amzn.to/3r6FQ8U
🎙 MY RECORDING EQUIPMENT 🎙
Shure SM58 Microphone - amzn.to/3r5Hrf9
Behringer UM2 Audio Interface - amzn.to/2MuEllM
XLR Cable - amzn.to/3uGyZFx
Acoustic Sound Absorbing Foam Panels - amzn.to/3ktIrY6
Desk Microphone Mount - amzn.to/3qXMVIO
Logitech C920s Webcam - amzn.to/303zGu9
Fujilm XS10 Camera - amzn.to/3uGa30E
Fujifilm XF 35mm F2 Lens - amzn.to/3rentPe
Neewer 2 Piece Studio Lights - amzn.to/3uyoa8p
💻 MY DESKTOP EQUIPMENT 💻
Dell 34 inch Ultrawide Monitor - amzn.to/2NJwph6
Autonomous ErgoChair 2 - bit.ly/2YzomEm
Autonomous SmartDesk 2 Standing Desk - bit.ly/2YzomEm
MX Master 3 Productivity Mouse - amzn.to/3aYwKVZ
Das Keyboard Prime 13 MX Brown Mechanical- amzn.to/3uH6VBF
Veikk A15 Drawing Tablet - amzn.to/3uBRWsN
🌎 Find me here:
Twitter - / beabetterdevv
Instagram - / beabetterdevv
Patreon - Donations help fund additional content - / beabetterdev
📚 References:
Great Sharding Article - aws.amazon.com/blogs/database...
#Databases
#Sharding
#SoftwareEngineer

Пікірлер: 205
@RandomShowerThoughts
@RandomShowerThoughts Жыл бұрын
honestly might be the most complete and thorough explanation of sharding.
@BeABetterDev
@BeABetterDev Жыл бұрын
Thanks so much for your kind words!
@hamadaparis3556
@hamadaparis3556 2 жыл бұрын
You've simplified your explanation like google engineers do when they give lectures, I'm sorry if that sounds strange but I've realized that the people who simplify complex things they really know what they are doing awesome man Cheers.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you so much for the kind words!
@mohamedshehata3979
@mohamedshehata3979 Жыл бұрын
Nice words
@Aidanhyland
@Aidanhyland 3 жыл бұрын
I am burning through all your videos. You are making me a better SAAS Test Engineer! Keep up this great work!
@v.m.5850
@v.m.5850 Жыл бұрын
Watched countless videos and barely understood the concept. Your video on the other hand explained everything along with pros and cons super simply. Thanks a ton.
@abhishekghosh5550
@abhishekghosh5550 Жыл бұрын
This is seriously such a great video man. I spent the entire Sunday understanding Sharding. Not that I didn't get started with the concept, however, this video just made everything clear at the end of the day. Thank You.
@yfzhangphonn
@yfzhangphonn Жыл бұрын
Best lesson about database scalability I found, so easy to understand.
@poloska9471
@poloska9471 2 жыл бұрын
Dude you make some really awesome content. Please please keep making videos! I love the clarity of your speech, voice, and presentation. I understand and can follow along in your videos a lot better than more other channels. Earned my subscription and likes! Keep killing it homie!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you so much for your kind words and welcome to the channel!
@dannydatt
@dannydatt 3 жыл бұрын
Network guy trying to get an understanding in a different field. That's an outstanding walk-through and very much appreciated. Thank you for your work and quality presentation.
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Glad it was helpful!
@bharat_arora
@bharat_arora 2 жыл бұрын
Finally found some decent content over this topic. I already had an idea on this topic just wanted to revise it. Thanks a lot for making the insightful videos.
@quangluu79
@quangluu79 10 ай бұрын
Good stuff man. I love the clarity you bring to a subject. Subscribed.
@wlcheng
@wlcheng Жыл бұрын
Great video! Such a clear explanation of how database sharding works.
@Alexan6548
@Alexan6548 Жыл бұрын
Very clear. One of the best tutorial I have ever seen
@ase713
@ase713 2 ай бұрын
Dude, this was outstanding! Super helpful and covered everything I needed to know!
@cd92606
@cd92606 3 жыл бұрын
Great video, especially your description about the non-uniformity problem.
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thanks Rotary Dialer! Yea the non-uniformity issue is one I've been personally bitten by in the past. Glad you enjoyed the video!
@ihateorangecat
@ihateorangecat Жыл бұрын
Best of the best explantion I kinda start to understand the Sharding in just video.Thank You and I subbed!
@mathisinav4267
@mathisinav4267 2 жыл бұрын
Hands down! the best explanation I've seen on database sharding, excellent!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're so welcome. Glad you enjoyed.
@ChauDuong1982
@ChauDuong1982 3 жыл бұрын
Thanks for the videos. Great explaination.
@saiaussie
@saiaussie 2 ай бұрын
Hey dude, you're a star! Very clear and upto the point! I cant thank you enough.
@Bhaskarlnm
@Bhaskarlnm 2 жыл бұрын
Daniel, no words.. looking at your playlists content and videos …amazing. Great great effort to help people. Kudos to you 👏👏👌👌👌
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome!
@patrick1778
@patrick1778 2 жыл бұрын
you are so good at explaining concepts
@harishbendale6818
@harishbendale6818 11 ай бұрын
Very clear, and simple explanation.
@BeABetterDev
@BeABetterDev 11 ай бұрын
Glad it was helpful!
@eternalnight9453
@eternalnight9453 3 жыл бұрын
New here. Loved your talk! Your presentation and teaching is elegant and simple. Really appreciate it, thank you!
@BeABetterDev
@BeABetterDev 3 жыл бұрын
You are so welcome!
@nodrift9503
@nodrift9503 Жыл бұрын
Perfect explanation. Thank you
@codespace747
@codespace747 2 ай бұрын
Best video ever made on sharding
@willemplug3366
@willemplug3366 Жыл бұрын
Super clear. Thank you!
@filesopen6188
@filesopen6188 2 жыл бұрын
this video entails very good explanation and this also entails complex understanding.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you!
@antonrozhansky7254
@antonrozhansky7254 3 жыл бұрын
Great explanation, Daniel. Thank you
@BeABetterDev
@BeABetterDev 3 жыл бұрын
You're very welcome Anton!
@panggrayta
@panggrayta 3 жыл бұрын
woww...!! great videos, great presentation, great explanation. thank you, keep sharing..
@OscarMartinez-nt6zn
@OscarMartinez-nt6zn 2 ай бұрын
Great explanation!
@lucasarbex926
@lucasarbex926 2 жыл бұрын
Great content man!! It helped me a lot!! Keep up with the good work!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you!
@Lordnoashi
@Lordnoashi Жыл бұрын
Amazing explanation, loved it. Thank you, it will help for the future interviews I have.
@BeABetterDev
@BeABetterDev Жыл бұрын
Glad I could help!
@sharonleibel
@sharonleibel 2 жыл бұрын
Great explanations! Thanks, Keep it coming!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks Sharon!
@AnilKumar-lb3qf
@AnilKumar-lb3qf 2 жыл бұрын
Excellent presentation, very good explanation 👍👍
@user-zr4jl4ms3v
@user-zr4jl4ms3v 2 жыл бұрын
best explanation of sharding i've heard!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you very much!
@rjjlucy
@rjjlucy 3 жыл бұрын
In most ~20min videos, I get tired soon and close them after 5min. I can’t believe your video is so good that I totally forgot time and finish watching all of it
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thank you so much Jingyi! Its these kinds of comments that keep me motivated to make more content :) Stay safe Daniel
@francoisbourdages2906
@francoisbourdages2906 Жыл бұрын
très bien expliqué, merci
@jackforcecity
@jackforcecity 2 жыл бұрын
Great job. Very well explained!!!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks so much Jackson! Glad you enjoyed :)
@taniaasim
@taniaasim 2 жыл бұрын
This is great and super clear. Thank you!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome
@arikedada
@arikedada Жыл бұрын
great video, I understand what idempotency operations entails, thank you
@santoshlml
@santoshlml 3 жыл бұрын
Well explained. Thank you!!
@BeABetterDev
@BeABetterDev 3 жыл бұрын
You're very welcome Santosh! Glad you enjoyed.
@estebanquintana156
@estebanquintana156 2 жыл бұрын
Great explanation. Thank you
@BeABetterDev
@BeABetterDev Жыл бұрын
You are welcome!
@devdewboy
@devdewboy Жыл бұрын
Thanks for the straight forward easy to grasp concept of sharding. Give this to someone else and we would have gotten a bunch of technical wordy mumbo-jumbo.
@shubhamchandra9258
@shubhamchandra9258 Жыл бұрын
Awesome video. Very clearly explained.
@BeABetterDev
@BeABetterDev Жыл бұрын
Thanks!
@rajt1998
@rajt1998 2 жыл бұрын
Very well explained. Thank you
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome!
@jeevaengg
@jeevaengg Жыл бұрын
good explanation!!
@dorbenmoyal7639
@dorbenmoyal7639 2 жыл бұрын
Great explanation..! Thanks 🙏🏼
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome Dor!
@duzgunkenan
@duzgunkenan Ай бұрын
Great content, thank you
@JamesQQuick
@JamesQQuick 2 жыл бұрын
This was awesome. Thanks!
@RajuGupta-st1hj
@RajuGupta-st1hj 2 жыл бұрын
Thank you so much for the post. Good work. Keep it up.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome Raju!
@JayPatel12928
@JayPatel12928 2 жыл бұрын
Watched some of your random videos on sys design, and now im hooked. Great content!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks so much J! Glad you enjoyed!
@amrikmalhans
@amrikmalhans 2 жыл бұрын
@@BeABetterDev yes
@rschmidtzalles
@rschmidtzalles 3 жыл бұрын
clear and concise. subscribed
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thanks Libert and welcome!
@chandnisaini9176
@chandnisaini9176 2 жыл бұрын
Well explained!!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you!
@kishoretvk
@kishoretvk 2 жыл бұрын
Great vidoe, keep up the good work
@eugeniosp3
@eugeniosp3 2 жыл бұрын
Bro I'll watch anything you make. If you made a video teaching me how to watch paint dry I'd take notes. Keep up the damn good work my mans.
@user-ws5xs1nv4p
@user-ws5xs1nv4p Жыл бұрын
Thanks a lof for this video!
@hpandeymail
@hpandeymail 2 жыл бұрын
Very well formed content .. thanks 🙏
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome!
@kgcpk
@kgcpk 2 жыл бұрын
Superb explanation 😍
@SofiaGoyal
@SofiaGoyal 2 жыл бұрын
Really good work man... such a detailed video...
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks Sofia! Glad you enjoyed :)
@rayprusia4753
@rayprusia4753 2 жыл бұрын
Your videos are awesome! Thanks
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks ray!
@simonemariottini1011
@simonemariottini1011 2 жыл бұрын
Really useful content! Keep it up!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks so much Simone!
@itiscinnamoncafe
@itiscinnamoncafe 8 ай бұрын
Love longer videos ❤
@milequinze
@milequinze 2 жыл бұрын
Awesome! Thanks a lot!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome
@tamaraamanda2483
@tamaraamanda2483 2 жыл бұрын
Prepping for Amazon TPM interview and this is so helpful!
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks Tamara and good luck on your interview! Make sure you focus on those leadership principles !
@user-tu1kf6xd8d
@user-tu1kf6xd8d 3 жыл бұрын
great explanation thank u so much
@BeABetterDev
@BeABetterDev 3 жыл бұрын
You are welcome!
@sandrojorgeoliveira175
@sandrojorgeoliveira175 10 ай бұрын
Thank you, Dude!!!
@mivel9763
@mivel9763 2 жыл бұрын
Had a hard time grasping on what database sharding actually meant but your video really helped me understand it, thanks! :)
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome!
@3042640426
@3042640426 Жыл бұрын
Thank you so much
@trantrongty8065
@trantrongty8065 2 жыл бұрын
Thank you that really helpful great video
@BeABetterDev
@BeABetterDev 2 жыл бұрын
You're very welcome Tran!
@random-characters4162
@random-characters4162 Жыл бұрын
God bless you, sir ✌️
@donaldkennedy7993
@donaldkennedy7993 Жыл бұрын
superb explanation of DB scaling & sharding & W/R databases for a non DB person ;)
@drummerboi4eva
@drummerboi4eva Жыл бұрын
excellent video
@markryan430
@markryan430 Жыл бұрын
OMG, I just Sharded myself!
@andrewkicha1628
@andrewkicha1628 11 ай бұрын
Great job on this one, I came here to know more about sharding, but I learned lots of useful information before you even dived into the topic ;)
@BeABetterDev
@BeABetterDev 11 ай бұрын
Glad it was helpful!
@samlinsell900
@samlinsell900 2 жыл бұрын
Vids are awesome, really enjoy them. Interesting that you didn't touch on the lack of thought to database design, indexing and maintenance etc as a way to improve performance. Interested to know why? Especially given the cost of scaling in serverless environments.
@rishiraj2548
@rishiraj2548 Жыл бұрын
Thanks
@gulsimsek7988
@gulsimsek7988 3 жыл бұрын
thank you!
@shivakumarranjithn5584
@shivakumarranjithn5584 3 жыл бұрын
Great content!
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Thanks so much Shivakumar!
@vikasravindran1312
@vikasravindran1312 2 жыл бұрын
Excellent !
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you so much Vikas!
@geekaffairs6475
@geekaffairs6475 2 жыл бұрын
very well explained
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thanks so much!
@royal4210
@royal4210 2 жыл бұрын
Thank you programmer charlie
@skmahaboobbasha6059
@skmahaboobbasha6059 2 жыл бұрын
Great vedio please make vedio on opsmanager installation on production environment
@fethicetin9186
@fethicetin9186 3 жыл бұрын
Thanks for the video
@BeABetterDev
@BeABetterDev 3 жыл бұрын
You're very welcome Fethi!
@drew4980
@drew4980 3 жыл бұрын
Are there any database tools that make this easier? Couldn't someone write some software to create a wrapper around a sharded DBMS that could handle the routing and re-sharding with a given hashing key?
@hualiang2182
@hualiang2182 2 жыл бұрын
Nice tutorial. Wonder in real word scenairo, is the routing layer something sits in the application code or it's implemented on the database side?
@swaroopas5207
@swaroopas5207 2 жыл бұрын
Great video! But how do we handle foreign keys in sharding?
@peterroger249
@peterroger249 Жыл бұрын
Much thank you for your great KZbin help. I am new to Excel and Chatbot. How can I migrate the Excel database, export it from Microsoft Azure WebApp, and import it into AWS Chabot? Keep having errors missing QID and others on the AWS Chabot console. Please help show me the fastest way to convert the Excel and make it compatible with AWS Chatbot?
@ibrahimkoz1983
@ibrahimkoz1983 2 жыл бұрын
You're great.
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Thank you!!!
@subhasishhalder4817
@subhasishhalder4817 2 жыл бұрын
How come I didn't find your channel before?
@alexeykorovko6704
@alexeykorovko6704 Жыл бұрын
very good explanation, thank you one point is not clear - do we really have advantage of availability / fault tolerance, in case we have an intermediate layer that routes the requests? for me it is like the same, isn't it?
@mohamedyoussef8835
@mohamedyoussef8835 Жыл бұрын
Awesome video +++++++++++ 🙂
@HeavensMeat
@HeavensMeat 3 жыл бұрын
I know you have had other dynamodb videos here but would it be possible to have a more in depth video dealing with sharding in dynamodb and also utilizing this with python/boto3 vs the cli? I know it's not really the same type of sharding per se but this video reminded me that I am interested in seeing that kind of thing
@BeABetterDev
@BeABetterDev 3 жыл бұрын
Hey HeavensMeat! You're suggestion is a great idea for a new video idea, thanks you! I'll work on incorporating this into my todo list. Cheers!
@r-rtz
@r-rtz 9 ай бұрын
A more interesting concept though is how you generate these unique id's that are used in the sharding / partitioning and ensure uniqueness
@DuyTran-ss4lu
@DuyTran-ss4lu Жыл бұрын
Awesome
10 ай бұрын
@BeABetterDev What if I were to opt for synchronous replication for my read replicas? Wouldn't that provide me with a high level of consistency (strong consistency) between the master node and the replica nodes? Besides, AWS RDS provides async replication for read replicas, does that mean it is eventual consistent? If so, if I am building an application that needs to opt in strong consistency, shouldn't I use AWS RDS read replicas then? What would be an alternative option to that?
@loaizar95
@loaizar95 Жыл бұрын
amazing video!! Understood almost everything and am not a it guy.. the only thing I did not get is the difference between partition mapping and routing :(
@dhriajbhandari
@dhriajbhandari 2 жыл бұрын
Great video. Thank you. I just have a question about routing for the determining the shards. Is it always necessary? I was thinking that you could just do modulus on the id to get the shard number instead (eg: customer_id: 12, num_of_shards = 4 so the shard would be 12 % 4 = 0). That way you don't have a single point of failure on the router. What are the downsides to this approach vs router end-point ?
@BeABetterDev
@BeABetterDev 2 жыл бұрын
Hi there this is a great point thanks for sharing. The problem with using modulus is that it can get difficult to change the assignment of data to shard if you need to re-shuffle your data. With a single table acting as the authority, this can be done trivially.
@poketopa1234
@poketopa1234 Ай бұрын
What I always miss in these videos is, doesn’t introducing a routing layer just kick the can down the road? Now you have all traffic going to a singular routing node, which is not scalable and can fail. What happens when you need to scale the routing node?
@cyclomiha
@cyclomiha 3 ай бұрын
Hmm..how about PITR? For analytics you could have replica with multi-master approach to each shard, right?
@benhunt2023
@benhunt2023 2 жыл бұрын
This feels like the khan academy of coding. Well done.
@yna8588
@yna8588 Жыл бұрын
Can we scale up and scale down the storage of database as per daily requirement using sharding?
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 35 МЛН
Omega Boy Past 3 #funny #viral #comedy
00:22
CRAZY GREAPA
Рет қаралды 36 МЛН
Китайка и Пчелка 10 серия😂😆
00:19
KITAYKA
Рет қаралды 1,2 МЛН
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 35 МЛН