Dynamo - Why Amazon Ditched SQL | Distributed Systems Deep Dives With Ex-Google SWE

Поделиться
HTML-код
  • Опубликовано: 2 янв 2025

Комментарии •

  • @kyrie-irvine
    @kyrie-irvine Месяц назад +2

    i absolutely love your videos, please keep them coming. Its refreshing to watch a technical video that also incorporates humor & sports references haha. You the real MVP

  • @flaviopoblete8396
    @flaviopoblete8396 5 месяцев назад +8

    Your videos are the best, I work as a data engineer and by watching your first videos I was able to achieve a deeper knowledge about distributed systems, these videos help a lot

  • @nobodyismyself
    @nobodyismyself 5 месяцев назад +15

    I continue thinking, this is the best channel about system design, bro dropped a new playlist.
    Thanks Jordan!!

  • @obama213
    @obama213 5 месяцев назад +19

    Jordan, I'm eagerly anticipating this series and love your approach. Don't be discouraged by view counts. However, I thought you were planning to reduce the jokes. The first thing I heard was an STD joke😂

  • @udaypatidar5183
    @udaypatidar5183 2 месяца назад +1

    Thank you Jordan. This is the only tech channel which i can't fast forward, dude speaks content whole video.

  • @UnknownIllusionist
    @UnknownIllusionist Месяц назад +1

    Great video. Your channel is very motivating to keep learning things beyond surface level

  • @pratyushkumarsingh6161
    @pratyushkumarsingh6161 5 месяцев назад +1

    Hey Jordan, this series is🔥🔥. I recently finished Designing Data Intensive Application and now your videos on top of it makes so much easy to cover all the aspects. Keep up the good work 🙇‍♂️

  • @NumberOneSteve
    @NumberOneSteve 5 месяцев назад +4

    Jordan. I am impressed by you. Keep up the good work

  • @htm332
    @htm332 5 месяцев назад +3

    Great video distilling very dense material. This is on my whitepaper mount rushmore along with GFS, BigTable, and Chubby.

  • @Marcusdel-op5sb
    @Marcusdel-op5sb 5 месяцев назад +1

    LOVE this new type of content. I am in the same boat where now that I am understanding the breadth of distributed systems and system design, I am now looking into tackling concepts at depth.
    I would love if you could create some sort of whitepaper / eng blog roadmap. I find it hard to sift through and find the most relevant articles and papers, especially to certain topics.

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад +1

      Thanks! I can try on the roadmap, but I have to read a lot more first lol

  • @siddharth-gandhi
    @siddharth-gandhi 5 месяцев назад +2

    Single handedly making me very interested in systems. Much thanks

  • @fadygamilmahrousmasoud5863
    @fadygamilmahrousmasoud5863 5 месяцев назад +1

    welcome back and excited to this new series :D

  • @arkknox1298
    @arkknox1298 3 месяца назад +1

    Awesome video! Really great way to stay engaged because my brain really doesnt like reading long academic papers 😅

  • @rish.i
    @rish.i Месяц назад +1

    Thank you Jordan for this series. In the paper when comparing b/w 3 partitions approaches its written that for fixed size 3rd strategy, the membership information stored at each node is reduced by three orders of magnitude. Whereas in previous paras, its mentioned that 3rd strategy stores not only no of tokens (servers) hash as in 1st but also which partition info stored on each node. Isn’t that contradictory info or am misunderstanding something. Ideally third partition scheme should contain more membership information per node.
    Assuming that they have not changed request forwarding from O(1) hops to logn dht like chord or pastry like routing whereas each node stores only limited number of nodes information sacrificing direct hops.

    • @jordanhasnolife5163
      @jordanhasnolife5163  Месяц назад +1

      I'm actually not quite sure, but I imagine that for fixed tokens perhaps you can just give each token a name and say which token belongs to which node, rather than explicitly listing out the ranges, which saves a bit of information to propagate (maybe if there's 128 tokens for example, you only need a short to communicate a token name)

  • @aakarshan4644
    @aakarshan4644 5 месяцев назад +1

    love the videos man keep em coming! if possible please make a video on project ideas to get more hands on learning on distributed systems topics :)

  • @vietnguyenquoc4948
    @vietnguyenquoc4948 5 месяцев назад +2

    2:35
    According to DDI (Martin Kleppmann) book chapter about leaderless replication, Amazon Dynamo is not the same as DynamoDB of AWS. It kicked off a "trend" of Dynamo-style database like Cassandra and Riak
    Never used any of those db, but the book really do a good job of explaining the concept of leaderless replication (along with various other concepts)

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад +1

      Thanks! Yeah I try to make it clear they aren't the same

    • @htm332
      @htm332 5 месяцев назад +2

      DynamoDB using single leader replication was a fantastic troll job

  • @KratosProton
    @KratosProton 5 месяцев назад +1

    More views than the questions video.... Congratulations 🎉

  • @tomtran6936
    @tomtran6936 5 месяцев назад +1

    Thank you Jordan, and congrats on new way !!!!

  • @maxli9629
    @maxli9629 4 месяца назад +1

    Thank you, Jordan. I learned a lot from your video. Appreciate it!

  • @TheBrotado
    @TheBrotado 5 месяцев назад +1

    Yoooooo! This channel just became peak second monitor content!

  • @Kevin7Cai
    @Kevin7Cai 5 месяцев назад +2

    Hi Jordan, how would you design the feature on RUclips/Netflix where a user can watch a video and pick up where they left off when they come back to that video? I have an interview coming up soon and I couldn't find anything about this feature on your system design RUclips/Netflix video about this :(

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад +3

      Put a row in a database for the last timestamp a user has watched per video. Every x seconds while they're watching you can place it in Kafka or something and then write to the db asynchronously

    • @Kevin7Cai
      @Kevin7Cai 5 месяцев назад

      @@jordanhasnolife5163 are you placing it in Kafka so that you can reduce write load on the db? Also why are you choosing Kafka over rabbitMQ here? Would this queue need to be durable?

  • @parvesh7058
    @parvesh7058 5 месяцев назад +4

    But babe, I thought the next series would be 'Lifting and Leetcode,' where you max out on bench and then superset that with a Leetcode problem :(
    Anyways, loved the content as always 🙌🙌

  • @kamalsmusic
    @kamalsmusic 5 месяцев назад +2

    Can you do the spanner paper next? Great job btw, really helps with understanding first principles

  • @cc-to2jn
    @cc-to2jn 5 месяцев назад +1

    my man, lets goo! this is what I'm in for!

  • @mananrekhi3887
    @mananrekhi3887 5 месяцев назад +1

    Half way through it and really interesting! Please make one on opensearch too, TIA!

  • @MainDoodler
    @MainDoodler 5 месяцев назад +1

    Finally an update from my favourite Vtuber

  • @Secret4us
    @Secret4us 5 дней назад +1

    Your video on exchange design got me thinking about write version by timestamp. Since clocks are never in synch, using that is a bit precarious. But, what if you used dedicated timestamp servers, sharded by the key, then proceeded with data processing. All timestamps from that shard would be guarantied to be consistent with each other. Inconsistency across shards would be irrelevant. So, for an exchange, a timestamp shard would be symbol and price. When, comparing who's order gets served first, only items within that grouping would need and have comparability.

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 дней назад +1

      So you are correct here, but now you've introduced a "single leader" into your otherwise leaderless database.

  • @Secret4us
    @Secret4us 5 дней назад +1

    This was a really good video, thanks.

  • @CodeXaen-c7j
    @CodeXaen-c7j 5 месяцев назад +1

    Hi Jordan, Thanks for uploading this video and overall great content from this channel.
    I have a question regarding the write back cache, if a durable write is performed on less than W nodes and the other nodes (where a cache write was performed) go down afterwards, it would appear that the write succeeded even though it didn't. How is that dealt with? Is that done with a WAL?

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад +1

      Yep, the write would be lost. That's the risk we take with non-durable writes. Ideally one is alive and we can eventually propagate it through sibling resolution.

    • @CodeXaen-c7j
      @CodeXaen-c7j 5 месяцев назад

      @@jordanhasnolife5163 Thanks for the clarification.

    • @CodeXaen-c7j
      @CodeXaen-c7j 5 месяцев назад +1

      @@jordanhasnolife5163 Thanks for the clarification. Btw, I commented on this thread some time earlier and it showed up at the time, but it's gone now (it kept the thumbs up though), it appears this may have been a non-durable write (hopefully this one goes through).

  • @thunderzeus8706
    @thunderzeus8706 4 месяца назад +1

    I failed to understand the fixed size partition part: If the partitions are predefined fixed size data partitions, how are new nodes being added? Random hash does not guarantee to hit the boundaries of fixed size partitions. Could you elaborate a little more? Thank you!

    • @jordanhasnolife5163
      @jordanhasnolife5163  4 месяца назад

      Partitions != Physical nodes. We have very many partitions, and they're equally distributed over the nodes.

    • @thunderzeus8706
      @thunderzeus8706 4 месяца назад +1

      @@jordanhasnolife5163 I understand Partitions != Physical nodes. Let's say we have 1000 fixed size partitions among the key space 2^64. When a new node is added, its corresponding hash H100 falls in the 100th partition key range [Start-7, End-7]. Which node does key ranges [Start-7, H100] and [H100, End-7] fall into?
      From what I can see, if the purpose of fixed-size partition is to not to recompute merkel tree. But a new node's hash falls in between a partition key range will result in merkel tree recomputation at least for s [Start-7, H100] and [H100, End-7]. We cannot control the hash of the new node to be exactly on the partition boundaries.

    • @thunderzeus8706
      @thunderzeus8706 4 месяца назад +1

      Using your example @37:00 to illustrate, the new node 4 falls exactly on a partition boundary. I feel that is not always the case, thus my confusions.

    • @jordanhasnolife5163
      @jordanhasnolife5163  4 месяца назад

      @@thunderzeus8706 It is always the case if we code it to be (which they do)

    • @jordanhasnolife5163
      @jordanhasnolife5163  4 месяца назад +1

      @@thunderzeus8706 Reiterating, yes we can. We control the hash ring and can place the node wherever we want.

  • @maxvettel7337
    @maxvettel7337 5 месяцев назад +1

    Hi Jordan! nice new format :) Hope there will be a video about Zookeeper someday. Still cant fully understand this teck

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад

      Probably 2 from now since it's based on chubby

    • @maxvettel7337
      @maxvettel7337 5 месяцев назад

      ​@@jordanhasnolife5163 I didnt know that Zookeeper is based on Chubby. It seems that the entire Internet is based on Google developments

  • @zigg_zoldyck
    @zigg_zoldyck 3 месяца назад +1

    Amazing content !! ❤ Question: What are logical partitions ? How do seeds help avoid them ? Why do we want to avoid them ?

    • @jordanhasnolife5163
      @jordanhasnolife5163  3 месяца назад +1

      It means two "partitions" that don't know to gossip with one another and thus assume they're the only partition. Seeds ensures that we don't run into such a situation since every node will always communicate with the seed so that information about the nodes in the cluster get propagated.

    • @zigg_zoldyck
      @zigg_zoldyck 3 месяца назад +1

      Got it, thanks

  • @SystemDesign-pro
    @SystemDesign-pro 4 месяца назад +1

    This is it! This is the video you surpassed Stefan

  • @ItsMeIshir
    @ItsMeIshir 5 месяцев назад +1

    Nice video. Continue the series...

  • @KratosProton
    @KratosProton 5 месяцев назад +1

    This is gold!!

  • @Osama-k7q
    @Osama-k7q 4 месяца назад +1

    Great Video please keep it up

  • @imthekrazy
    @imthekrazy 5 месяцев назад +1

    Any plans for presto/trino?

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад +1

      it'll probably be a bit but yeah!

    • @imthekrazy
      @imthekrazy 5 месяцев назад +1

      @@jordanhasnolife5163 appreciate it! Those systems are for sure their own beasts and wading through literature is a pain. But spark / presto / Pinot would all be awesome to see!

  • @Doomer1234
    @Doomer1234 5 месяцев назад +1

    Jordan you are awesome. I know you already know that ;)))

  • @LokendraSingh-42
    @LokendraSingh-42 5 месяцев назад +1

    0:41 does that mean you were positive in your STD test

  • @Hazed007
    @Hazed007 5 месяцев назад +1

    love this

  • @betaalpha1019
    @betaalpha1019 5 месяцев назад +2

    omw to becoming a 0.5x engineer!!

  • @RodneyShen
    @RodneyShen 5 месяцев назад +1

    hope this series lasts longer than my relationships

  • @prashlovessamosa
    @prashlovessamosa 5 месяцев назад +1

    Great 👍

  • @shoaibsiddiquie5389
    @shoaibsiddiquie5389 5 месяцев назад +1

    Plz keep going.😊

  • @varshard0
    @varshard0 5 месяцев назад +1

    Good job

  • @adomicarts
    @adomicarts 5 месяцев назад +1

    New here and love this

  • @dirty-kebab
    @dirty-kebab 4 месяца назад +1

    Had me in the first half 😭

  • @jotrades26
    @jotrades26 5 месяцев назад +1

    👌👌👌👌

  • @maximdolina899
    @maximdolina899 5 месяцев назад +1

    first one, like, thank you

  • @kittycat_and_keyboard
    @kittycat_and_keyboard 5 месяцев назад +1

    please use some coloured highlighter, my midwit brain can't comprehend whats happening

    • @jordanhasnolife5163
      @jordanhasnolife5163  5 месяцев назад +1

      My midwit brain doesn't know how to use multiple colors

  • @sayandas5587
    @sayandas5587 29 дней назад +1

    STD positive
    So you have more life than me

  • @user-qq7yc1qp8z
    @user-qq7yc1qp8z 5 месяцев назад +2

    you need a better mic

  • @KyleLayzer
    @KyleLayzer 5 месяцев назад +2

  • @Robindeshwal8881
    @Robindeshwal8881 5 месяцев назад +1

    I am the first viewer.