Transaction Nedir?

Transaction, en küçük işlem yığınıdır. Bir grup işlemin arka arkaya yapılırken işlemlerden bir tanesi bile başarısız olsa bu grupta yapılan tüm işlemler geri alınır(rollback), bu grupta yer alan tüm işlemler başarı ile gerçekleşmesi (commit) gerekmektedir. Tüm işlemler başarılı ise transaction içindeki tüm veri değişiklikleri sisteme yansır. Ya hep, ya hiç mantığı vardır.

Örneğin sisteme kullanıcı kaydetme işlemi ile ilgili şöyle bir senaryomuz olsun;

1-) Önce kullanıcının kişi bilgileri (TC Kimlik No, Ad, Soyad vb.) kişi tablosuna kaydedilsin.
2-) 1. adımda kaydedilen kişi bilgileri referans alınarak kullanıcısı oluşturulsun.

Burada kullanıcı kaydetme işlemini transcational yapmamız gerekmektedir. Yani transaction içinde önce kişi kaydetme işlemi yapılmalı ardından bu kişiye ait kullanıcı kaydedilmelidir. Aksi halde kişi kaydetme başarılı oldu kullanıcı kaydedilirken bir hata ile karşılaşılırsa 1. işlem başarılı, 2. işlem başarısız olduğundan bu kişinin kullanıcı kaydı olmayacak ama kişi tablosundaki verileri kirli veri olarak kalacaktır. Ama transactional yaparsak kullanıcıyı kaydetemezse kişi bilgileride rollback yapılıp geri alınır kaydedilmemiş olur.

Bir cevap yazın