Data Consistency | Strong Consistency vs. Eventual Consistency | System Design for Beginners

Sdílet
Vložit
  • čas přidán 3. 07. 2024
  • System Design Concepts for Beginners. This playlist should help you prepare for your system design interviews.
    This video covers the topic of consistency. What is consistency in distributed systems design, What is strong consistency vs. eventual consistency and what are the tradeoffs between them.
    Systems design interview prep guide -
    • How to Prepare for Sys...
    High Availability | Eliminate Single Points of Failure -
    • High Availability | El...
  • Věda a technologie

Komentáře • 49

  • @joflve
    @joflve Před rokem +22

    The only downside of your channel is that I cannot get new content every minute. The most clear explanations I've seen for technical interview topics.

    • @harshmohan8419
      @harshmohan8419 Před rokem +1

      Same hehe. I need good system design soon. This channel only way left and way she explain is legends.

    • @ShiranAfergan
      @ShiranAfergan  Před rokem +2

      Thanks! Made me laugh and blush 😂😂

  • @adeolaoladeji1167
    @adeolaoladeji1167 Před rokem +2

    This is the most beginner friendly channel that treats system design. Thanks for clarifying all the ambiguous concepts.

  • @andrewkicha1628
    @andrewkicha1628 Před rokem +2

    Amazing job done explaining the concept, I really liked the visualizations and the structure of the information

  • @ankithap5219
    @ankithap5219 Před 11 měsíci

    Very clear and consise explanations. Thank you!

  • @benparker8000
    @benparker8000 Před rokem

    Glad I discovered your channel. I'm brushing up on these concepts before an interview and these videos are very helpful.
    I checked out Guarav Sen as recommended in another video as well and he's excellent.
    Your advice has made this learning process much easier. Thanks!

  • @Canda-fh4xc
    @Canda-fh4xc Před rokem

    Easy and clear explanation. Thank you

  • @parthabhowmik4747
    @parthabhowmik4747 Před 5 měsíci

    You are so good at explaining things, thanks.

  • @caiobittencourt9595
    @caiobittencourt9595 Před rokem

    So good, very easy to understand!

  • @gcheese25
    @gcheese25 Před 11 měsíci

    loved your explanation so much! wish me good luck for my system design interview

  • @gurpreetvirdi6967
    @gurpreetvirdi6967 Před rokem

    Awesomely explained. Please keep making more content :) . Cheers!!

  • @kirillzlobin7135
    @kirillzlobin7135 Před 10 měsíci

    This channel has a lot of useful information. Thank you for sharing

  • @minhhuynhthe
    @minhhuynhthe Před rokem

    thanks for your video. It helped me a lot.

  • @saiashok28
    @saiashok28 Před rokem

    You deserve more subscribers Shiran!!!❤️

  • @naweedjaulim6058
    @naweedjaulim6058 Před rokem

    Best System Design channel I have come across so far with the illustrations! Thank you.

  • @peternicola6429
    @peternicola6429 Před 8 měsíci

    you earned a new subscriber, thank you for your help 🙌

  • @nikhilpatil9654
    @nikhilpatil9654 Před 3 měsíci

    great explanation

  • @GidzPaul
    @GidzPaul Před 10 měsíci

    Thank you!

  • @SPribyt
    @SPribyt Před rokem

    great!

  • @yuanliu5945
    @yuanliu5945 Před rokem

    The best video explaining system design!!

  • @brajagopalmukherjee1588

    Mam I am following systems design primer GitHub one and your video along side to prepare my system design video

  • @ganapathinaik5446
    @ganapathinaik5446 Před rokem +2

    Nice explanation and very informative Thank you.
    Waiting for videos on database partitioning and sharding.

    • @ShiranAfergan
      @ShiranAfergan  Před rokem +1

      Thanks! database videos are definitely coming :)

  • @prudhvisaisuggala7677
    @prudhvisaisuggala7677 Před 3 měsíci

    Nice video

  • @legenddesigning7111
    @legenddesigning7111 Před měsícem

    keep up

  • @harshmohan8419
    @harshmohan8419 Před rokem

    Loving Yaa. Need more awesome knowledge.. Soon. Take care

  • @AjitKumar-wm5cl
    @AjitKumar-wm5cl Před 7 měsíci

    Where are you now a days? No more video for many months. Please make some technical video and share with us. Liked your videos

  • @neiljohari6815
    @neiljohari6815 Před 5 měsíci

    Thanks! QQ: do systems actually block read requests, or is it more reasonable to block the write’s acknowledgement until a synchronous replication quorum is reached?
    I’m not sure how you’d be able to block reads fast enough on geographically separate DCs (since you’d need to send a message which will still suffer from network latency)

  • @MrEG12341
    @MrEG12341 Před rokem +1

    Thanks Shiran. When using a cloud provider (as aws), what are the pros and cons of using the managed read replica?

    • @ShiranAfergan
      @ShiranAfergan  Před rokem +1

      Like any other managed service, it saves you the trouble of doing some things manually. You won’t have to burden yourself with setup, upgrades, backup, and more. The downside of managed deployments vs unmanaged is less control over configuration. There are also other limitations (storage, number of instances…) and it costs more.

  • @1roadrage1
    @1roadrage1 Před rokem

    Comment of substance. trust me bro.

  • @atulmishra1517
    @atulmishra1517 Před 4 měsíci

    In case of strong consistency, how are we going to block reads while replicating data?

  • @ak-ot2wn
    @ak-ot2wn Před 8 měsíci

    5:21 - what if all 3 clients are updating the view_count value on each of these nodes? Will the view_count value become 21 instead of 23 or somehow magically it will become 23 on all 3 machines?

  • @redhot678
    @redhot678 Před 4 měsíci

    A question, what would happend if the time until the replication message is too long and we get a get views request in the middle

  • @yogeshdharya3857
    @yogeshdharya3857 Před rokem

    considering the comment section , seems ur videos are being recommended in India more ! Who knows if eventual consistency is to be blamed for this 🤣! I like those plants waving cause of the wind !

  • @yonishachar1887
    @yonishachar1887 Před 5 měsíci

    את דוברת אנגלית מלידה? יש לך תוכן ברמה גבוהה שמועבר באופן פשוט וברור. ממש אהבתי!

    • @ShiranAfergan
      @ShiranAfergan  Před 5 měsíci

      לא, לא מלידה. הרבה טלוויזיה וסרטים מגיל קטן עזרו 😆 תודה על התגובה! שמחה שאהבת :)

  • @ajisegirisunday2885
    @ajisegirisunday2885 Před rokem

    Nice video but I have a question. Let's I have my db operator deployed on kubernetes as statefulset and I set replicas to two or more.. How does kubernetes managed the replication.. Is it strong consistency or eventual? Can I configure it to my requirements?

    • @ShiranAfergan
      @ShiranAfergan  Před rokem +1

      Thanks :) Kubernetes is not related to this. The consistency of a database depends on the database you choose. For example Postgres provides strong consistency while Cassandra is more eventually consistent (might be configurable)

    • @ajisegirisunday2885
      @ajisegirisunday2885 Před rokem

      @@ShiranAfergan thanks i know better now

  • @dmitriybaram4595
    @dmitriybaram4595 Před rokem

    Shiran, can you elaborate on how exactly requests to replicated servers can be blocked if clients are not aware of the replication process that happens asynchronously?

    • @brlvldvlsmrtnz
      @brlvldvlsmrtnz Před rokem

      The way I understand it, it's actually the write that blocks until all the replicas have also performed the write

    • @arneishprateek6444
      @arneishprateek6444 Před rokem

      Your read request would need to be sent to multiple servers and at least "R" of them should agree on the value before it's returned to you. Similarly, your write request would need to be completed on "W" servers before it's returned as completed. If R+W>N where N is the total number of servers, your system is strongly consistent since then there is at least one server that must contain the latest value. This, of course, comes at the cost of performance as she mentioned in the video - since you now need to wait on R (or W) servers to return. The lower the values of R and/or W, the lower the consistency of your system but higher the availability (and performance). In the extreme case, R=1 and W=1 would imply the most available but least consistent system. (Source: System Design by Alex Xu)