What is Database Sharding?

Поділитися
Вставка
  • Опубліковано 22 січ 2025

КОМЕНТАРІ • 114

  • @AntonPutra
    @AntonPutra  Рік тому +5

    🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com

  • @jasper5016
    @jasper5016 11 місяців тому +16

    Hard to believe this top-notch content has very less views. Thanks a lot, Anton!!

  • @alonsoalcantar7847
    @alonsoalcantar7847 9 місяців тому +11

    Ive tried to understand sharding for crypto purposes but every "crypto sharding" video display vague descriptions. I stumbled upon this by accident and it was great. Amazing work 🙌

  • @ashutoshtiwari4398
    @ashutoshtiwari4398 8 місяців тому +16

    No Nonsense, direct to point, covering all cases.
    Well-compiled video!

  • @aslan1504
    @aslan1504 Рік тому +12

    As for the hashing, you probably will take hash only of a subset of columns of a record, most probably - only primary key, because changing any field of any record will result the hash to change also, which leads to data losses.

    • @tonnytrumpet734
      @tonnytrumpet734 7 місяців тому

      Thanks for this comment. Could you maybe clarify ? By data loss you mean the reverse proxy or whatever way of communicating with databases wont be able to know where to search for the information right ? however the information would still be here. Although it would be extremely computationally hard there would still be way to recover it right ? You could for example recalculate hashes for all the data and redistribute those that aren't belonging to the right database based on the sharding prefix ?

    • @aslan1504
      @aslan1504 7 місяців тому

      @@tonnytrumpet734 oh yes, data will still be there, but it basically will become unusable. It's like creating yourself problems to solve.

  • @abdoulhamidcoulibaly2385
    @abdoulhamidcoulibaly2385 7 місяців тому +2

    Very helpful. I just discovered sharding not long ago in my new position. I didn't understand a thing until your video.

  • @agun21st
    @agun21st Рік тому +2

    Thank you sir for detail explaination of database sharding. We hope a practical handson of Database sharding will publish soon.

  • @Xaoticex
    @Xaoticex Рік тому +2

    Nice, exhaustive and short video considering it covers a lot.

  • @shanchessmetilda5550
    @shanchessmetilda5550 10 місяців тому +2

    Great Explanation....Thanks for the efforts

  • @yvanmartineau3252
    @yvanmartineau3252 Місяць тому

    Great video! Straight to the point and very explicit. Thanks

  • @PhillyHank
    @PhillyHank Рік тому +1

    Very helpful. Very confused and to the point! I hope your colleagues who do technical videos would follow your framework. 👍🏾👍🏾👍🏾

  • @nero4581
    @nero4581 Рік тому +1

    Great Video, as always, Anton!

    • @AntonPutra
      @AntonPutra  Рік тому +1

      Thanks, if you think anything can be improved, please let me know!

  • @SIVAKUMAR-bj2vl
    @SIVAKUMAR-bj2vl 28 днів тому

    Great Questions on sharding and good explaination followed by....
    This should be the approach for great teaching

  • @softwareengineer8923
    @softwareengineer8923 3 місяці тому +1

    It has been such a lovely recap. Thanks a lot for useful content

  • @xardiannon5038
    @xardiannon5038 11 місяців тому

    Superb explanation, and never strayed off topic.

  • @GabrielPozo
    @GabrielPozo Рік тому +1

    Great video! Always an important topic when we think about scale our systems.

  • @meron6913
    @meron6913 Рік тому +1

    Great video Anton.

  • @EpoxyArt
    @EpoxyArt 11 місяців тому

    Hi, Anton! How can I search by the field that is not shard key? I need to go thru all the shards?
    And what if I need to scale it up or down (change shards number)?

  • @ab_azmi5584
    @ab_azmi5584 Рік тому +1

    Great video. Clear & easy to understand.

  • @charlesopuoro5295
    @charlesopuoro5295 Рік тому

    Thank you so much for this clear, insightful explanation of Database Sharding.

  • @danimusbar
    @danimusbar День тому

    please make tutorial how to sharding database in vps like hetzner or contabo or ovh, since my budget not suitable for at the moment using aws now

  • @69k_gold
    @69k_gold 8 місяців тому

    Let's say I'm using a shard-nothing architecture, now let's say there's a relationship between customers table, payments table and orders table.
    Customers and orders tables are linked by the foreign key customers->id ~ orders->customer_id
    Orders table and payments table has the foreign key
    orders->id ~ payments->order_id
    Now how would you shard this database? You can't use a single shard key, because both customer_id and order_id are important that ensure all the related rows are in a single shard.
    So how would you solve this problem?

  • @amruth505
    @amruth505 2 місяці тому +1

    if a shard fails you mentioned it can be restored from other shard, but each shard has unique set of values. Could you help me understand how this restores

    • @AntonPutra
      @AntonPutra  2 місяці тому +1

      not sure if i follow, some distributed systems have not only sharding but also replication. so you have a primary shard and a replica for that shard. so if it fails, the replica becomes primary, but it's very specific to each database

    • @amruth505
      @amruth505 2 місяці тому

      @@AntonPutra got it, so each shard will have multiple replica's for failover?

    • @SIVAKUMAR-bj2vl
      @SIVAKUMAR-bj2vl 28 днів тому

      READ TWICE, tried explaining my best!!
      A physical shard contains several primary logical shards and several replica logical shards. Primary and replica logical shards are always stored on different physical shards to ensure fault tolerance.
      If a physical shard goes down due to an issue (e.g., a server failure), there is no need to worry about the replicas, as their corresponding primaries are stored on other physical shards. However, the primary logical shards on the affected physical shard require attention. The Shard Manager must retrieve these primary shards from their replicas stored on other physical shards to maintain system functionality.

  • @MagDag_
    @MagDag_ 7 місяців тому +1

    Классное видео, спасибо. Какая стоимость ваших услуг? Нужна консультация для Homelab.

    • @AntonPutra
      @AntonPutra  7 місяців тому +1

      Privet, spasibo! At this point, I can offer one-on-one sessions. I ask that you send me any questions before the session so that I can prepare some examples, and we can go through them during the meeting. I charge $100 per 1 hour session. If you are interested, pls send me an email.

  • @AstreaDevaul
    @AstreaDevaul 2 місяці тому +1

    Great content, as always! A bit off-topic, but I wanted to ask: My OKX wallet holds some USDT, and I have the seed phrase. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). Could you explain how to move them to Binance?

  • @helciopandelo
    @helciopandelo Рік тому +1

    Truly awesome and simple to learn!!! Thank you!!!

  • @erkanakgul6954
    @erkanakgul6954 Рік тому +1

    Great explaination! Thanks

  • @bunnybal
    @bunnybal 8 місяців тому +1

    Really very well explained, thank you very much.

  • @Jaguar1612
    @Jaguar1612 6 місяців тому

    So how to solve hotspot problem?

  • @dimadiachenko1
    @dimadiachenko1 Рік тому +1

    Awesome video! thanks for explaining it

  • @dhruvpatel6604
    @dhruvpatel6604 Рік тому +1

    Excellent tutorial

  • @vikasgoel7529
    @vikasgoel7529 Рік тому +2

    Excellent described

  • @seaweedseaside5905
    @seaweedseaside5905 3 місяці тому +1

    I never expected Elijah Wood to teach me Data Science. Well done, Elijah.

  • @bossgd100
    @bossgd100 Рік тому +1

    thank you for these explanations

  • @tejapolisettysai6950
    @tejapolisettysai6950 Рік тому

    sir thanks for the video, what do you use for editing, its really good.

  • @rahuldinesh2840
    @rahuldinesh2840 Рік тому +1

    Can I do sharding in WordPress database?

    • @AntonPutra
      @AntonPutra  Рік тому

      WordPress uses a MySQL database under the hood. Take a look at Vitess.

  • @ricardorqr
    @ricardorqr Рік тому +2

    How do you create the animation for your videos? They are so cool!!!!! 💪🏼

  • @mortezamoradi-e6g
    @mortezamoradi-e6g Рік тому

    thanks, but i have a question if i use range-based sharding and conside 4 shard what happen if i want to convert to 40 shard? what happen for previous data, and new data [ first i have 3 shard 1(a-h) 2(i-p) 3(q,z)) now need to make it 40.

    • @AntonPutra
      @AntonPutra  Рік тому +1

      If you shard manually at the application level, you need to write logic to rebalance it yourself. It's easier to use built-in mechanisms for sharding.

    • @mortezamoradi-e6g
      @mortezamoradi-e6g Рік тому

      @@AntonPutra thanks

  • @gnsc
    @gnsc 4 місяці тому +1

    Good explanation

  • @LinuxForLife
    @LinuxForLife Рік тому +1

    Very interesting! Thanks! 👍

  • @MuhammadBilalAzhar-e7s
    @MuhammadBilalAzhar-e7s 10 місяців тому

    you said sharding have unique data sets if one sharding not respond then other sharding response you but if customer search record and that record will be in sharding 1 . After that sharding 1 will not respond then what we have to show for customer

  • @topoisonfungus
    @topoisonfungus 6 місяців тому +1

    Thank you much appreciated 👍

  • @yourname-scorpion
    @yourname-scorpion 8 місяців тому +1

    Great video, thank you

  • @nicgeorge6126
    @nicgeorge6126 Рік тому +2

    Fortunately I’ve been able to get by with two read databases and a write by using table partitioning up until this point. Hopefully I don’t have to tackle sharding any time soon! Great video and thanks for sharing

    • @AntonPutra
      @AntonPutra  Рік тому

      Thanks! There a lot of distributed databases based on postgres that can shard for you.

  • @ProSunnySharma
    @ProSunnySharma Рік тому +1

    Excellent! What tool do you use to do animations?

  • @egitim10
    @egitim10 10 місяців тому

    Short,nice,clear

  • @khwajanamatullahseddiqy6999
    @khwajanamatullahseddiqy6999 18 днів тому

    Good video

  • @ordered_saddle5
    @ordered_saddle5 4 місяці тому +1

    and here is that one video which clarifies it simply, thank you. you made it easy like drinking milk.

  • @LiseGarito
    @LiseGarito 4 місяці тому

    Thanks for the forecast! 📊 Need some advice: 🙏 I have these words 🤨. (behave today finger ski upon boy assault summer exhaust beauty stereo over). Can someone explain what this is? 😅

  • @rayaalkhateeb874
    @rayaalkhateeb874 Рік тому

    thanks a lot for explaining

  • @henrik3098
    @henrik3098 4 місяці тому +1

    thanks bro

  • @pancazful
    @pancazful 4 місяці тому

    tutorial like south Indian suspense thriller movies , cant blink your eyes

    • @AntonPutra
      @AntonPutra  4 місяці тому

      i know, getting used to :)

  • @hp-mma
    @hp-mma Місяць тому +3

    I bet this guy works for the mafia

  • @thewaygoesup
    @thewaygoesup Рік тому +1

    your example confusing between database shard and table partitioning
    range-base sharding is about one table sharding not about database sharding.

  • @andherium
    @andherium Рік тому

    I think 99.9% use case are served fine by a monolith database server. Heck even stack overflow is fully powered on a single server

    • @cariyaputta
      @cariyaputta Рік тому +3

      Yes. Still, it's useful to have a knowledge of whatever jargons uppermamagements are throwing at you.

    • @AntonPutra
      @AntonPutra  Рік тому +2

      For personal projects, sure, but in the enterprise, you frequently have to deal with sharding.

  • @APoIIy
    @APoIIy Рік тому +1

    So, sharding is a pain in the ass and requires a lot of configuration, analytics and also business logic to manage shards in an respectable way.
    This is also why NoSQL Databases come in handy as they can scale better horizontaly without this extensive configuration activities you have with traditional SQL databases.
    But to be said SQL Databases will probably cover 90% of all usecases anyway without you getting into sharding.

    • @AntonPutra
      @AntonPutra  Рік тому

      Nowadays, once a year, I see a new distributed database based on PostgreSQL come out, lol.

  • @gcheese25
    @gcheese25 Рік тому +1

    great video! start subscribing now

  • @noahgsolomon
    @noahgsolomon Рік тому +1

    w video

  • @yuvrajput
    @yuvrajput 6 місяців тому

    Bro why are you in such hurry ?

  • @yoggg932
    @yoggg932 Рік тому +1

    Feels like a bot is reading the script. Good content, but please act it out a bit.