Transactions and Concurrency Control Patterns by Vlad Mihalcea

preview_player
Показать описание
Transactions and Concurrency Control are very of paramount importance when it comes to enterprise systems data integrity.

However, this topic is very tough since you have to understand the inner workings of the database system, its concurrency control design choices (e.g. 2PL, MVCC), transaction isolation levels and locking schemes.

In this presentation, I'm going to explain what data anomalies can happen depending on the transaction isolation level, with references to Oracle, SQL Server, PostgreSQL, and MySQL.

I will also demonstrate that database transactions are not enough, especially for multi-request web flows.

For this reason, I'm going to present multiple application-level transaction patterns based on both optimistic and pessimistic locking mechanisms.
Рекомендации по теме
Комментарии
Автор

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

pajotrus
Автор

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

elbozo
Автор

Performance and Hibernate, thats crazy)

loirenhuh
Автор

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

leozilla
Автор

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

Tommmmk