Distributed Systems 8.2: Google's Spanner

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2025

ความคิดเห็น • 94

  • @8Trails50
    @8Trails50 4 ปีที่แล้ว +48

    I see a new Martin kleppmann video, I click

  • @GeFeng88
    @GeFeng88 3 ปีที่แล้ว +45

    ~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 10 หลายเดือนก่อน

      10x now :)

    • @GeFeng88
      @GeFeng88 10 หลายเดือนก่อน

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

  • @quagmirecat
    @quagmirecat 4 ปีที่แล้ว +20

    Blows my mind every time I watch one of these videos

  • @heavenrvne888
    @heavenrvne888 4 ปีที่แล้ว +10

    Great series for distributed systems

    • @quagmirecat
      @quagmirecat 4 ปีที่แล้ว +6

      You commented twice fool

    • @heavenrvne888
      @heavenrvne888 4 ปีที่แล้ว +6

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

    • @MikelBober
      @MikelBober 4 ปีที่แล้ว +9

      Great series for Distributed Systems.

    • @tatianavictors4505
      @tatianavictors4505 4 ปีที่แล้ว +8

      Great series for distributed systems

  • @heavenrvne888
    @heavenrvne888 4 ปีที่แล้ว +11

    nice lecture course g

  • @MikelBober
    @MikelBober 4 ปีที่แล้ว +13

    Great series for Distributed Systems.

  • @andobando4873
    @andobando4873 4 ปีที่แล้ว +7

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

  • @RohitKulshreshtha
    @RohitKulshreshtha ปีที่แล้ว +2

    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?

  • @DeepalJayasekara
    @DeepalJayasekara 3 ปีที่แล้ว +2

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

  • @vishalsharma-bp9zu
    @vishalsharma-bp9zu 3 ปีที่แล้ว +2

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

  • @BaronskyLive
    @BaronskyLive 3 ปีที่แล้ว +1

    for Distributed Systems.Great series

  • @xiayisun8570
    @xiayisun8570 2 ปีที่แล้ว +4

    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.

  • @NeerajJoshi-c8j
    @NeerajJoshi-c8j 10 หลายเดือนก่อน +1

    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?

  • @zhou7yuan
    @zhou7yuan 3 ปีที่แล้ว +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]

  • @henrikflamm4843
    @henrikflamm4843 4 หลายเดือนก่อน

    What an excellent video - thank you!

  • @exoticcoder5365
    @exoticcoder5365 3 ปีที่แล้ว

    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

  • @serhiisoboliev2385
    @serhiisoboliev2385 4 ปีที่แล้ว +2

    thank you for you hard work, Martin

  • @k.k.gayansanjeewa7432
    @k.k.gayansanjeewa7432 ปีที่แล้ว

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

  • @mmfStudent
    @mmfStudent 2 ปีที่แล้ว +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.

  • @AliHamrani-mp3wj
    @AliHamrani-mp3wj ปีที่แล้ว

    Thank you for sharing your knowledge for free sir.

  • @官军兄
    @官军兄 3 ปีที่แล้ว +1

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

  • @nivb52
    @nivb52 3 ปีที่แล้ว +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 4 ปีที่แล้ว +5

    very informative

  • @harishshankar682
    @harishshankar682 4 ปีที่แล้ว +1

    Thanks Martin for such high quality lecture.

  • @KeshavNandan
    @KeshavNandan 3 ปีที่แล้ว +1

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

  • @satinek
    @satinek 2 ปีที่แล้ว

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

  • @blooming_saffron
    @blooming_saffron ปีที่แล้ว

    Enjoyed the series a lot! Thanks!

  • @dostonbekmatyakubov1898
    @dostonbekmatyakubov1898 3 ปีที่แล้ว

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

  • @nathandfox
    @nathandfox 2 ปีที่แล้ว

    Such a good lecture on distributed systems.

  • @juanferrua5743
    @juanferrua5743 2 ปีที่แล้ว

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

  • @brucezu574
    @brucezu574 3 ปีที่แล้ว

    Great series of distributed system!!

  • @celinejost2745
    @celinejost2745 3 ปีที่แล้ว

    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.

  • @Touurist1
    @Touurist1 2 ปีที่แล้ว

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

  • @jingye3988
    @jingye3988 4 ปีที่แล้ว +1

    Thank you so much! I enjoyed this series!

  • @nitish5924
    @nitish5924 3 ปีที่แล้ว

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

  • @OneLastWo
    @OneLastWo ปีที่แล้ว

    Thank you so much for such an amazing series!

  • @JC-jx9bp
    @JC-jx9bp 4 ปีที่แล้ว +1

    Amazing series, thanks a lot!

  • @simpleme989
    @simpleme989 3 ปีที่แล้ว

    Nicely done! amazing lectures.

  • @srini2010srini
    @srini2010srini 3 ปีที่แล้ว

    Thanks for sharing such a good series.

  • @IamDeniskin
    @IamDeniskin 3 ปีที่แล้ว

    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.

  • @Samindika1997
    @Samindika1997 6 หลายเดือนก่อน

    Thank you very much.

  • @АлексГладун-э5с
    @АлексГладун-э5с 4 ปีที่แล้ว

    Thanks for your lectures!

  • @singlarotish
    @singlarotish ปีที่แล้ว +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.

  • @殷源源
    @殷源源 3 ปีที่แล้ว

    I like your books and thanks for the great explanation

  • @xz04-0df-99
    @xz04-0df-99 4 ปีที่แล้ว

    Great intro to Spanner!

  • @neakor
    @neakor ปีที่แล้ว

    How does spanner handle clock synchronization across data centers?

  • @vladlazar94
    @vladlazar94 ปีที่แล้ว

    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.

  • @zxcv129xx
    @zxcv129xx 5 หลายเดือนก่อน

    Thank you

  • @tysonliu2833
    @tysonliu2833 7 หลายเดือนก่อน

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

  • @ramchavali5825
    @ramchavali5825 3 ปีที่แล้ว

    Thanks Martin

  • @djohnsto2
    @djohnsto2 ปีที่แล้ว

    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.

  • @KozLoTV
    @KozLoTV 4 ปีที่แล้ว

    Thank you!

  • @paulo2357
    @paulo2357 3 ปีที่แล้ว

    Awesome!

  • @LL-ol8gr
    @LL-ol8gr 3 ปีที่แล้ว

    Thanks!

  • @YoyoMoneyRing
    @YoyoMoneyRing 2 ปีที่แล้ว

    TrueTime - its like Heisenberg Uncertainity Principle

  • @TruongHoang-du9if
    @TruongHoang-du9if 4 ปีที่แล้ว +2

    Google is awesome

  • @nathandfox
    @nathandfox 2 ปีที่แล้ว

    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.
    th-cam.com/video/iKQhPwbzzxU/w-d-xo.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 2 ปีที่แล้ว

    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.

  • @thenewtonium3521
    @thenewtonium3521 4 ปีที่แล้ว +10

    Great series for distributed systems

  • @Denial140TAS
    @Denial140TAS 4 ปีที่แล้ว +5

    Great series for Distributed Systems.

  • @Lapteuh
    @Lapteuh ปีที่แล้ว

    Thank you!

  • @caredigaptomos7038
    @caredigaptomos7038 4 ปีที่แล้ว +10

    Great series for distributed systems

  • @danielbassett3415
    @danielbassett3415 4 ปีที่แล้ว +3

    Great series for Distributed Systems.

  • @dominijus
    @dominijus 4 ปีที่แล้ว +16

    great series for distributed systems

  • @tonybernoulli7859
    @tonybernoulli7859 4 ปีที่แล้ว +3

    Great series for Distributed Systems.

  • @tatianavictors4505
    @tatianavictors4505 4 ปีที่แล้ว +10

    Great series for distributed systems

  • @Phoebevlog
    @Phoebevlog 4 ปีที่แล้ว +26

    Great series for distributed systems.

  • @6stringssamurai
    @6stringssamurai 3 ปีที่แล้ว

    Great series for Distributed Systems.

  • @jayvasant6695
    @jayvasant6695 3 ปีที่แล้ว

    Great series for Distributed Systems.

  • @harrynelson5234
    @harrynelson5234 4 ปีที่แล้ว +11

    Great series for distributed systems

  • @sarahxu2583
    @sarahxu2583 3 ปีที่แล้ว

    Great series for Distributed Systems.

  • @superduper853
    @superduper853 4 ปีที่แล้ว +16

    Great series for distributed systems

  • @nicoputhu7404
    @nicoputhu7404 4 ปีที่แล้ว +6

    Great series for distributed systems

  • @karlhvarregaardmose8121
    @karlhvarregaardmose8121 4 ปีที่แล้ว +5

    Great series for distributed systems.

  • @叶鼎
    @叶鼎 4 ปีที่แล้ว +2

    great series for distributed systems

  • @aurelianoyepez5107
    @aurelianoyepez5107 4 ปีที่แล้ว +2

    Great series for distributed systems

  • @quaryaband
    @quaryaband 3 ปีที่แล้ว

    Great series for distributed systems

  • @henryrussell7392
    @henryrussell7392 3 ปีที่แล้ว

    Great series for distributed systems

  • @hanquan7777
    @hanquan7777 3 ปีที่แล้ว

    great series for distributed systems

  • @martinliu1186
    @martinliu1186 3 ปีที่แล้ว

    Great series for distributed systems

  • @shinypants2204
    @shinypants2204 3 ปีที่แล้ว

    Great series for distributed systems

  • @yoshitoki23
    @yoshitoki23 2 ปีที่แล้ว

    Great series for distributed systems

  • @pranjaltiwari7502
    @pranjaltiwari7502 2 ปีที่แล้ว

    Great series for distributed systems

  • @harman654321
    @harman654321 7 หลายเดือนก่อน

    Great series for distributed systems.

  • @gpugpugpu
    @gpugpugpu ปีที่แล้ว

    Great series for distributed systems

  • @ProduccionesLukaz
    @ProduccionesLukaz ปีที่แล้ว

    Great series for distributed systems

  • @joaagussanti
    @joaagussanti ปีที่แล้ว

    Great series for distributed systems