Transactions and Concurrency Control Patterns by Vlad Mihalcea

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.ย. 2024

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

  • @pajotrus
    @pajotrus 3 ปีที่แล้ว +13

    this talk should be essential to watch for every backend developer. I love when the talks are structured like this when you gradually introduce more complexity, but you can actually understand why it was needed. 10/10

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

    the man the myth the legend. anyone who's ever touched hibernate before has seen this man's answers on stack overflow

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

    Performance and Hibernate, thats crazy)

  • @sakcee
    @sakcee 5 ปีที่แล้ว +3

    Thank you, excellent explanation

  • @leozilla
    @leozilla 7 ปีที่แล้ว +5

    at 26:26 he says that "lost update can happen even with serializability". Thats not correct.

    • @vladmihalcea
      @vladmihalcea 6 ปีที่แล้ว +10

      Yes, it is possible. I'm talking about multi-request logical transactions that span over multiple Http requests and multiple DB physical transactions.
      Check out this article for more details:
      vladmihalcea.com/2014/09/22/preventing-lost-updates-in-long-conversations/

    • @vladmihalcea
      @vladmihalcea 6 ปีที่แล้ว +9

      Read and Write Skew are a different class of anomalies that are prevalent in MVCC-based systems since the write lock is only held for a single tuple.
      Anyway, all these anomalies were meant to be prevented in the scope of a single physical DB transaction: the 2 tier-based approach used by Mainframes in the 70's.
      Internet and web-based application have changed the way we interact with data since now we use 3-tier architectures and a web-flow can span over multiple web requests, hence multiple database transactions.
      That's why Serializable is not enough.

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

    Spanner is a joke (or used to be - at least a year ago, I have not used it since)