Distributed Systems 8.2: Google's Spanner

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • Accompanying lecture notes: www.cl.cam.ac.uk/teaching/212...
    Full lecture series: • Distributed Systems le...
    This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which videos are not publicly available, but slides can be found on the course web page: www.cl.cam.ac.uk/teaching/212...

Komentáře • 93

  • @8Trails50
    @8Trails50 Před 3 lety +46

    I see a new Martin kleppmann video, I click

  • @GeFeng88
    @GeFeng88 Před 3 lety +40

    ~3k folks finished this series. Good job everybody! Also thank you Martin for providing all these high quality content for free on the Internet!

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

      10x now :)

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

      @@filmfranz for high quality content like this, the numbers will keep growing for many more years to come 💓

  • @quagmirecat
    @quagmirecat Před 3 lety +19

    Blows my mind every time I watch one of these videos

  • @tatianavictors4505
    @tatianavictors4505 Před 3 lety +10

    Great series for distributed systems

  • @heavenrvne888
    @heavenrvne888 Před 3 lety +11

    nice lecture course g

  • @Phoebevlog
    @Phoebevlog Před 3 lety +26

    Great series for distributed systems.

  • @DeepalJayasekara
    @DeepalJayasekara Před 3 lety +2

    This will be the greatest lecture series about distributed systems you'll ever see! Thank you Dr. Kleppmann.

  • @dominijus
    @dominijus Před 3 lety +16

    great series for distributed systems

  • @vishalsharma-bp9zu
    @vishalsharma-bp9zu Před 3 lety +2

    This series is definitely a blessing to the world, no second thought.

  • @MikelBober
    @MikelBober Před 3 lety +13

    Great series for Distributed Systems.

  • @andobando4873
    @andobando4873 Před 3 lety +7

    very good video sir, i liked it very much thank you

  • @xiayisun8570
    @xiayisun8570 Před 2 lety +3

    Great series, thanks! I feel chapter 4 is the fundamental building block of a lot of the followed lectures/concepts/algorithms and I'm going to review it again.

  • @celinejost2745
    @celinejost2745 Před 3 lety

    Great course and very clear teaching style! Thank you very much for making it publicly available. Looking forward to read your book on data-intensive applications.

  • @BaronskyLive
    @BaronskyLive Před 2 lety +1

    for Distributed Systems.Great series

  • @mmfStudent
    @mmfStudent Před 2 lety +1

    Hey Martin, I want to say thank you for this course. It's good base principles and algorithms, which didn't change my software architecture decisions but it made me more confident in the decisions.

  • @juanferrua5743
    @juanferrua5743 Před rokem

    Super grateful for this series. Very cohesive set of concepts!

  • @dostonbekmatyakubov1898

    Thank you very much for making publicly available such a nice course!

  • @nivb52
    @nivb52 Před 2 lety +1

    Great series for distributed systems, fill some gaps with the amazing book you wrote. I hope to see more about the last chapter you wrote in the book. And the examples of implementations added much to me.

  • @anilkurmi5966
    @anilkurmi5966 Před 3 lety +5

    very informative

  • @exoticcoder5365
    @exoticcoder5365 Před 3 lety

    I watched the whole series from the beginning to this ending episode, I am not a Cambridge student but I want to fill out the evaluation form and rank you as the best lecturer

  • @satinek
    @satinek Před 2 lety

    Thanks alot. One of the best lecture series I‘ve ever done.

  • @Touurist1
    @Touurist1 Před 2 lety

    Thank you, Martin! Very interesting course and easy to understand style of teaching!

  • @KeshavNandan
    @KeshavNandan Před 3 lety +1

    Thanks so much for sharing these videos on CZcams. I learned a lot and really enjoyed your explanations.

  • @harishshankar682
    @harishshankar682 Před 3 lety +1

    Thanks Martin for such high quality lecture.

  • @k.k.gayansanjeewa7432
    @k.k.gayansanjeewa7432 Před 7 měsíci

    Just Completed , Thanks for keep this public to learn from the best

  • @zhou7yuan
    @zhou7yuan Před 2 lety +1

    Google's Spanner
    Consistency properties: [0:30]
    techniques [1:22]
    State machine replication (Paxos) within a shard
    Two-phase locking for serializability
    Two-phase commit for cross-shard atomicity
    interesting: read-only transactions require no locks [2:20]
    Consistent snapshots [3:27]
    consistent with causality [4:25]
    Approach: multi-version concurrency control (MVCC) [4:50]
    Obtaining commit timestamps [7:13]
    Lamport clocks may ❌ [7:54]
    TrueTime: explicit physical clock uncertainty [10:15]
    [t_earliest, t_latest]
    Determining clock uncertainty in TrueTime [13:58]

  • @brucezu574
    @brucezu574 Před 3 lety

    Great series of distributed system!!

  • @jingye3988
    @jingye3988 Před 3 lety +1

    Thank you so much! I enjoyed this series!

  • @nitish5924
    @nitish5924 Před 3 lety

    amazing series on distributed systems, I learnt a lot of things thanks for sharing this.

  • @serhiisoboliev2385
    @serhiisoboliev2385 Před 3 lety +2

    thank you for you hard work, Martin

  • @JC-jx9bp
    @JC-jx9bp Před 3 lety +1

    Amazing series, thanks a lot!

  • @OneLastWo
    @OneLastWo Před 9 měsíci

    Thank you so much for such an amazing series!

  • @user-mz4pc7oh8r
    @user-mz4pc7oh8r Před 3 lety +1

    Great lecture series in distributed systems which I work on. Thanks very much for sharing those videos. @Martin

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

    Enjoyed the series a lot! Thanks!

  • @simpleme989
    @simpleme989 Před 3 lety

    Nicely done! amazing lectures.

  • @nathandfox
    @nathandfox Před 2 lety

    Such a good lecture on distributed systems.

  • @srini2010srini
    @srini2010srini Před 2 lety

    Thanks for sharing such a good series.

  • @user-yw9us2qo6g
    @user-yw9us2qo6g Před 3 lety

    Thanks for your lectures!

  • @AliHamrani-mp3wj
    @AliHamrani-mp3wj Před 11 měsíci

    Thank you for sharing your knowledge for free sir.

  • @IamDeniskin
    @IamDeniskin Před 2 lety

    Great course for those who is too lazy to read your book (like me).
    Thanks a lot!
    It would be wonderful if you'll make "concurrent systems" lectures public too.

  • @xz04-0df-99
    @xz04-0df-99 Před 3 lety

    Great intro to Spanner!

  • @user-yn7dx7ok5u
    @user-yn7dx7ok5u Před 3 lety

    I like your books and thanks for the great explanation

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

    Thank you very much.

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

    Super interesting. I suppose this type of design can support a few thousand transactions per second max with worldwide atomic MVCC. Also there seems to be a risk of corruption if a node suffers some kind of catastrophic crystal oscillator failure, it might commit a transaction too early.

  • @Lapteuh
    @Lapteuh Před rokem

    Thank you!

  • @RohitKulshreshtha
    @RohitKulshreshtha Před rokem +1

    9:39 is it true that there is no system to propagate time on the message? If the only interface the user has to the database is through a transaction - reads done within the transaction can be used to propagate the time stamp to the write through the transactional context, right?

  • @ramchavali5825
    @ramchavali5825 Před 2 lety

    Thanks Martin

  • @paulo2357
    @paulo2357 Před 2 lety

    Awesome!

  • @PhuongNguyen-do9io
    @PhuongNguyen-do9io Před 21 dnem

    Thank you

  • @LL-ol8gr
    @LL-ol8gr Před 2 lety

    Thanks!

  • @user-hq9ef9vp9m
    @user-hq9ef9vp9m Před 5 měsíci

    Awesome video! I have one question. At 13:08, How does spanner ensure that there is no overlapping between time uncertainty ranges between two transactions?

  • @singlarotish
    @singlarotish Před 10 měsíci +1

    are A and B replicas or shards?
    replicas need to be eventual consistent, in spanner they are linearizable so even stronger consistency guarantee.
    So, if user makes T1 to replica A -> T1 changes need to be propagated to replica B anyways so lamport timestamps can work right?
    I can understand why lamport timestamps won't work if A and B are shards and wont probably talk each other.

  • @vladlazar94
    @vladlazar94 Před 7 měsíci

    Is it that the uncertainty intervals cannot overlap, or is it that they’re just extremely unlikely to overlap? I couldn’t spot a reason why the time API wouldn’t return a large enough interval for the second transaction to overlap the first.

  • @TruongHoang-du9if
    @TruongHoang-du9if Před 3 lety +2

    Google is awesome

  • @tysonliu2833
    @tysonliu2833 Před 2 měsíci

    how do we handle obtaining commit timestamp in a raft database without physical clock? just two phase commit?

  • @neakor
    @neakor Před rokem

    How does spanner handle clock synchronization across data centers?

  • @YoyoMoneyRing
    @YoyoMoneyRing Před 2 lety

    TrueTime - its like Heisenberg Uncertainity Principle

  • @nathandfox
    @nathandfox Před 2 lety

    I don't think the Truetime part is very clear. From another video from GCP, the truetime timestamp is used to reduce(not eliminate!) the communication with leader for a strong consistent read.
    czcams.com/video/iKQhPwbzzxU/video.html&ab_channel=Devoxx
    For example, a client sent a strong consistent read request hits one of the followers of db replicas, the follower instance will ONLY need to send the truetime timestamp(very small network load) to the leader to know if it has up to date data to directly reply to the client or how long it needs to wait until it can reply instead of sending the query itself to the leader.

  • @AnkitGarg
    @AnkitGarg Před 2 lety

    I've read the Designing Data Intensive Applications book as well, these lectures complement the book very well.
    The only problem explained in the book which this design doesn't cater is GC/VM pauses. That's probably because Google knows how their hardware is configured and don't use VMs for example. Otherwise the 30 seconds interval between synchronizing the clock can be much longer.

  • @caredigaptomos7038
    @caredigaptomos7038 Před 3 lety +10

    Great series for distributed systems

  • @Denial140TAS
    @Denial140TAS Před 3 lety +5

    Great series for Distributed Systems.

  • @karlhvarregaardmose8121
    @karlhvarregaardmose8121 Před 3 lety +5

    Great series for distributed systems.

  • @user-nu5gv4xg3n
    @user-nu5gv4xg3n Před 3 lety +2

    great series for distributed systems

  • @KozLoTV
    @KozLoTV Před 3 lety

    Thank you!

  • @thenewtonium3521
    @thenewtonium3521 Před 3 lety +10

    Great series for distributed systems

  • @harrynelson5234
    @harrynelson5234 Před 3 lety +11

    Great series for distributed systems

  • @superduper853
    @superduper853 Před 3 lety +16

    Great series for distributed systems

  • @heavenrvne888
    @heavenrvne888 Před 3 lety +10

    Great series for distributed systems

    • @quagmirecat
      @quagmirecat Před 3 lety +6

      You commented twice fool

    • @heavenrvne888
      @heavenrvne888 Před 3 lety +6

      @@quagmirecat yes because i absolutely love this lecture series!

    • @MikelBober
      @MikelBober Před 3 lety +9

      Great series for Distributed Systems.

    • @tatianavictors4505
      @tatianavictors4505 Před 3 lety +8

      Great series for distributed systems

  • @nicoputhu7404
    @nicoputhu7404 Před 3 lety +6

    Great series for distributed systems

  • @tonybernoulli7859
    @tonybernoulli7859 Před 3 lety +3

    Great series for Distributed Systems.

  • @danielbassett3415
    @danielbassett3415 Před 3 lety +3

    Great series for Distributed Systems.

  • @aurelianoyepez5107
    @aurelianoyepez5107 Před 3 lety +2

    Great series for distributed systems

  • @harman654321
    @harman654321 Před 2 měsíci

    Great series for distributed systems.

  • @joaagussanti
    @joaagussanti Před 9 měsíci

    Great series for distributed systems

  • @gpugpugpu
    @gpugpugpu Před 9 měsíci

    Great series for distributed systems

  • @ProduccionesLukaz
    @ProduccionesLukaz Před 9 měsíci

    Great series for distributed systems

  • @pranjaltiwari7502
    @pranjaltiwari7502 Před rokem

    Great series for distributed systems

  • @yoshitoki23
    @yoshitoki23 Před 2 lety

    Great series for distributed systems

  • @6stringssamurai
    @6stringssamurai Před 3 lety

    Great series for Distributed Systems.

  • @jayvasant6695
    @jayvasant6695 Před 2 lety

    Great series for Distributed Systems.

  • @sarahxu2583
    @sarahxu2583 Před 2 lety

    Great series for Distributed Systems.

  • @quaryaband
    @quaryaband Před 2 lety

    Great series for distributed systems

  • @martinliu1186
    @martinliu1186 Před 2 lety

    Great series for distributed systems

  • @henryrussell7392
    @henryrussell7392 Před 2 lety

    Great series for distributed systems

  • @shinypants2204
    @shinypants2204 Před 2 lety

    Great series for distributed systems

  • @hanquan7777
    @hanquan7777 Před 2 lety

    great series for distributed systems