17 Ocak 2017 Salı

Transaction Kuralları




Bir veritabanı veriler üzerinde değişiklik yaparken dört kuralı sağlamak zorundadır. Sağlanması gereken bu dört kural aşağıdaki gibidir.
Bölünmezlik (Atomicity)
Bir transaction bloğu asla yarım kalamaz. Ya hepsi gerçekleşmiş sayılır yada hiçbir işlem gerçekleşmemiş kabul edilerek başa dönülür. Başka bir ifade ile transaction, daha küçük parçalara ayrılamayan işlem birimi olarak ele alınır.
Tutarlılık (Consistency)
Transaction veritabanının yapısını bozmadan işlem bloğunu terk etmelidir. Yani ara işlemler yapılırken işlem bloğunun etkisini veritabanına yansıtarak transaction’ı terk edemez.
Örneğin A kullanıcısının hesabından parayı azaltıp B kullanıcısına eklemeden işlemi sonlandırmaz. Veritabanının mutlaka tutarlı olması gerekmektedir.
İzolasyon (Isolation)
Farklı transaction’lar birbirinden farklı olarak ele alınmalıdırlar.
Her transaction için veritabanının yapısı ayrı ayrı korunmalıdır.
İlk transaction tarafından yapılan değişiklikler ikinci transaction’da görülmemelidir. Ancak işlem bittiğinde bir bütün olarak görülmelidirler.
Dayanıklılık (Durability)
Tamamlanmış bir transaction’nın hatalara karşı esnek olması gerekmektedir.
Elektrik kesilmesi, herhangi bir donanım arızası gibi nedenlerden dolayı yapılacak işlemlerin gerçekleşmesine engel olması gerekmektedir.
Bunun için gerçekleşmiş ve başarılı olmuş transaction’nın değişikliklerinin diske kalıcı olarak yansıtılması gerekmektedir.