Video için teşekkürler. Transaction Isolation ile videoda anlatılan Locking yöntemleri birbirinden hangi noktada ayrılıyor tam olarak? Her ikisi de data consistency sağlayan mekanizmalar olduğu için kafa karışıklığına sebep olabiliyor. @Transactional anotasyonu transaction mantığı(rollback yönetimi) ile birlikte concurrency control de sağlıyor aslında zaten. Lock yöntemleri daha granular kontrol mü sağlıyor? Hangi durumda Transactional hangi durumda Lock mekanizmalarını kullanmak mantıklı veya her ikisinin de kullanılmasını gerektiren senaryolar olabilir mi? Bu konuda önerebileceğiniz bir kaynak var mı? :)
Год назад
Selamlar, aslında bu ikisi ilişkili. Locking, veriye erişirken yetkiyi eline alma ve işin bitince yerine koyma. Isolation ise, lock etme mekanizması. Yani locking strategy = isolation. Locking olayı olmadan izolasyondan bahsedemeyiz. Anlaşılır oldu mu🙂
@ gayet anlaşılır oldu, Spring aslında Transactional anotasyonu ile gelen isolationda arkada çeşitli locking stratejileri kullanıyor. Bu Videoda Springden bağımsız kullanılabilecek Hibernate Locking yöntemleri anlatılıyor diyebilir miyiz?
Год назад
@@mrg807 spring’den bağımsız demeleyelim, ama daha farklı lock metodolojileri anlatılıyor
Hocam burada projemiz multi instance çalışsaydı PESSIMISTIC_WRITE kısmında veri tutarsızlığı oluşur muydu?
Год назад
Tabi. Burda anlattıklarım 1 instance için geçerli, birden fazla replikası olan sistemleri için, mikroservis kullanıyorsan saga pattern önerilir, kanalda videoları var
Video için teşekkürler hocam. Güzel bi seri olmuş. 53:30-da söylediğinizi tam duyamadım. Rica etsem cevaplarmısınız? Kendim için araştırmak isterim
Год назад
Cok fazla bilinen bir yontem degil ama yontem soyle, normalde biz lock kullandigimiz zaman, hangi tabloyla ugrasiyorsak mesela users tablosu, bu tabloyu kitliyoruz islem yaparken. Table-based lock isleminde, lock lari yonetmek icin ayri bir tablo kullaniyoruz, mesela user-tx adinda, ve her islem yapmadan once bu tabloya sorgu atip, kayit yoksa biz ekliyoruz. Bu kayit aslinda unique bir identifier, mesela user id. Sen her user isleminden once buraya user id ekliyorsun, sonra isin bitince burdan siliyorsun. Bu tx tablosuna attigin her findbyid islemi de lock anotasyonuna sahip
@ cevabınız için teşekkürler hocam. Yani doğru anladıysam read işlemlerini ayrı bir tabloda yapıp latency-den kurtulmuş oluyoruz ve write işlemleri için de sadece bizim okuya bileceğimiz bir tablo oluşturup user id-ile oraya query atıyoruz