7 Aralık 2016 Çarşamba

TRANSACTION Nedir

TRANSACTION Nedir ?


Transaction Ne işe yarar ?


Bir veya daha fazla SQL ifadeleri tek bir deyimi içeren bir süreç, bir bütün olarak kabul edilir ve küçük çalışma tüm parçaları birbirinden ayrılamaz süreçtir.sql. Özellikle birden fazla birbirine ardışık olarak tek bir işlem olarak, işlemin kullanımını sağlar.

Bir işlemde SQL ifadeleri tüm ya da hiçbirini gerçekleştirir. SQL tabloların uygulanmasının bir parçası olarak, bir süreç olabilir. Tüm işlemler sürece operasyonların hiçbiri kabul edilmeyecek ve işlem durumu gerçekleşmemiş olacaktır.

Işlemin örnekleri arasında, bir banka yapı ile izah edilebilir; Başka bir hesaba kendi hesabından para transferi için, en müşteri £ 1,500 gerçekleştirir diyelim. Bu süreç adım vardır.ilk 114 diğer adım 114 miktarı ilave edilmelidir ikinci aşamada aktarılacak.dig kişiden kişiye aktarılacak tutarı mahsup edilmelidir. İki SQL tablolarda bu işlemi gerçekleştirmek için aşağıda örneklenmiştir.


Örnek Kod :


UPDATE acc SET money=money-114 WHERE Id=1114

UPDATE acc SET money=money+114 WHERE Id=1021


Bu işlemlerin ilki için ciddi sorunlar olabilme sebepleri hesapları ile herhangi bir sorunları yer almaz iki yönetsel bilgi SONRA gerçekleşecek şekilde programlanmıştır.Alıcı tutarı hesabına gönderenin hesabından 114 birim azalacaktır ama para transfer olmayacaktır. Eğer transaction gerçekleşmezse işlem yapılamyacağı için programımızın akışını o kadar etkileyecektir.Eğer işlem yapmazsa veritabanı sorgumuz çalışmayacağı gibi veritabanımızda ilgili işlemi yapmayacaktır.Bunun olmasının sebebi, rollback yani eğer sorgu esnasında transaction gerçekleşmiyorsa otomatik olarak yapılan tüm işlemlerin geri alınması ve hiç işlem yapılmamış gibi tabloların aynı kalması anlamına geliyor.Kulağa ne kadar hoş geliyor değilmi ?


Tam tersi sonuçda eğer transaction çalışır ve tamamlanırsa o zaman commit bölümündeki sorgularımız çalışır.Veri tabanındaki verilerimiz verdiğiniz sorgulara göre güncellenerek işlem tamamlanır.Eğer tüm işlemler yapılmışsa commit olur ve işlem sonuçlanır.Eğer herhangi bir sebepden veya sorgu değerinizin istediğini sonuca eşit olmadığınızı anlayan bir sorgu ile rollback uygulanarak transaction çalışmaz yapılan işlemler geri alınır.


BİR TRANSACTION İŞLEMİNİ GERÇEKLEŞTİRME


Transaction İçin kullanılan bazı ifadeler ve açıklamaları aşağıda verilmiştir.

Commit: Oluşturulan transaction İşlemi başanlı bir şekilde gerçekleştiğinde değişikliklerin veritabanına kalıcı olarak aktarılmasıdır.

Rollback: Transaction İçerisindeki SQL ifadelerinden herhangi birisinin yapmış olduğu değişiklikleri geri almaktır. Transaction işlemi İçerisindeki SQL ifadelerinden birisi işlevini yerine getiremediği zaman rollback işlemi ile veriler ilk haline geri getirir

Transaction Log: Transaction log dosyası, transaction ile bir veritabanında’ gelen tüm değişiklerin sıralı olarak kaydedildiği dosyadır. Her transaction işlemin veliler üzerinde değişiklik yapıldığında ve transaction tarafından yapılan değişikliğe ait bilgiler tutulduğunda transaction log kayıtları yapılır.

Transaction hazırlarken dikkat edilecek noktalar:

• Transaction içerisindeki SQL ifadeleri veriler üzerinde değişiklik yapabilen için veritabanı yöneticisi kullanıcılar için gerekli izinleri vermelidir.

• Transaction işlemi veri veya veritabanı nesneleri üzerinde değişiklik yapacak SQL ifadeleri içerebilir (INSERT, UPDATE, DELETE, CREATE, ALTER, DROP).

• Bir veritabanı yönetim sisteminin veri kurtarma mekanizması transaction’lara bağlıdır.

Bir VTYS başarısızlık sonrasında verileri geri alacağı zaman tun transaction’ların veritabanına aktarılıp aktarılmadığını tespit etmek için transaction loğlarını kontrol eder. Eğer aktarılmamış transaction bulursa onları loğlar üzerinden geri veritabanına aktarır. Bu yüzden bu tür transactionları tekrar çalıştırmalısınız.

• VTYS yedekleme ve geri yükleme işlemlerini transaction loglan üzerinden gerçekleştirir. Yedekleme birimi düzenli olarak veritabanını ve transaction loglan yedekleme diskine yedekler. Herhangi bir sebepten dolayı mevcut disk zarar gördüğünde veri ve transaction loğlar okunamaz hale gelebilir. Bu durumda yedekleme biriminden yardım alınacaktır. Yedekleme biriminden veritabanının çalışan son hali alınabilir veya transaction logları üzerinden veritabanının son durumuna geri dönülebilir. Bu sayede mevcut disk zarar görmeden önceki son haline geri dönülmüş olacaktır.

• Çeşitli nedenlerden dolayı veritabanını ve ona alt transaction loglar backup şeklinde tüm veritabanları disk üzerinde saklanılmalıdır.



TRANSACTION Nedir

Hiç yorum yok:

Yorum Gönder