DEFINITIONS

Definitions More Info.
Definition ID539
TitleSQL
CategoryNOTES
DefinitionTRANSACTION-atamocity
Definition DescriptionTRANSACTION ve LOCKING Transaction bir veritabanı üzerine yapılan her türlü sorgulama ve değiştirme işlemidir. Veritabanı üzerinde yaptığımız her bir, SELECT ... , INSERT ... , UPDATE ... , DELETE ... işlemi transaction kavramı içerisine girer. Transaction ların veritabanında sağlıklı şekilde çalışmasına devam edebilmesi için temelde bazı özelliklere sahip olması gerekir. Bu özellikler, Transacion Özellikleri: 1- Atomicity 2- Consistency 3- Isolation 4- Durability kelimelerinin başharflerinden oluşan ACID ile temsil edilir. 1- Atomicity (Bölünmezlik,birim iş): Atomicity transaction ın en temel özelliğidir. Atomicity sayesinde transaction içindeki işler bir bütün olarak ele alınır. İşimiz ya tamamen biter (başarılı transaction), yada (her hangi bir sebeple iş aksadığında) yapılan bütün işin başa dönmesini (başarısız transaction) sağlar. 2- Consistency: Veritabanında daha önceden belirlenen kurallar kümesinin transaction sırasında kontrol edilmesidir. Veritabanının transaction bittikten sonra da kararlı bir yapıda bırakılmasını sağlar Sadece sayı girilmesi gereken bir alana karakter girmeye kalktığımızda bu durum transaction ın başarısız olmasına sebep olur. Bu sayede veritabanı her zaman istenen tipte veriyi kendi üzerinde saklar. 3- Durability: Veritabanının üzerinde bulunduğu ortamdaki (network, disk, yada güç birimi) problemlerden dolayı oluşabilecek bozuklukları engellemeye calışır. Böyle bir bozulma karşısında veritabanı o an üzerinde işlemekte olan transaction ları bitmemiş olarak işaretler, sistem tekrar açıldığında ise yarım kalan transaction kaldığı yerden devam eder. 4- Isolation: Veritabanları aynı anda birden cok kullanıcıya hizmet edebilmek üzere tasarlanmıştır. Aynı anda bir çok kullanıcı sisteme bağlanıp bir hesaplama yapmak yada bir rapor almak isteyebilir. Kullanıcı açısından bu durum hic de karmaşık yada zor değildir. Çünkü sistemin sadece kendisine hizmet ettiğini sanmaktadır. Oysaki veritabanı tarafında durum pekde basit değildir. Yapılması gereken, aynı anda gelen kullanıcı isteklerini birbirlerini bozmadan, bekleme sürelerini en aza indirererek sonucu kullanıcılara iletmektir. Bu işi başarabilmek için Isolation (mantıksal olarak her bir kullanıcının o anki veritabanın birebir kopyası ile çalışması anlamına gelir) mekanizmasını kullanılır. Veritabanı gelen kullanıcı isteklerini birbirlerinden izole edebilmek için ise Locking i kullanır. Locking in olmadığı sistemlerde 3 temel problem ortaya çıkmaktadır.
RecordBycunay
Record Date25-06-2014 22:34:38
Düzenle
Kopyala
Sil