Veritabanı İşlemi (Transaction) Nedir?
İngilizce: Database Transaction
Veritabanı işlemi, birden fazla okuma ve yazmayı tek bütün olarak çalıştırıp ya tamamen onaylar ya da geri alır.
Veritabanı İşlemi (Transaction) Nedir?
Veritabanı işlemi, birden fazla veritabanı adımının tek bütün gibi ele alınmasını sağlar. Adımların tamamı başarılıysa COMMIT ile kalıcı olur; herhangi bir adım başarısızsa ROLLBACK ile geri alınır. Böylece yarım kalmış sipariş, eksik stok düşümü veya tutarsız bakiye gibi durumlar önlenir.
Nasıl Çalışır?
Bir ödeme örneğinde transaction şu adımları kapsayabilir: siparişi onayla, ödeme kaydını yaz, stoktan düş, muhasebe kuyruğuna olay ekle. Üçüncü adımda hata oluşursa önceki yazımlar geri alınır. Veritabanı bu davranışı kilitler, izolasyon seviyeleri ve günlükleme mekanizmalarıyla yönetir.
ACID İlkeleri
ACID, transaction davranışını dört başlıkta tanımlar:
- Atomicity: İşlem ya tamamen olur ya hiç olmaz.
- Consistency: Veritabanı geçerli kurallar arasında kalır.
- Isolation: Eşzamanlı işlemler birbirini kontrollü görür.
- Durability: Onaylanan veri kalıcı hale gelir.
Tasarımda Denge
Transaction kapsamı gereğinden geniş tutulursa kilitlenme, bekleme ve throughput sorunları çıkar. Çok dar tutulursa iş kuralı parçalanabilir. Connection Pool, uzun süren transaction’ları ayrıca etkiler; açık kalan işlemler bağlantıları tüketebilir. SQL kullanan sistemlerde transaction sınırı iş kuralıyla veritabanı maliyeti birlikte düşünülerek çizilmelidir.
İlgili Terimler
ACID, veritabanı işlemlerinde kısmi yazma ve tutarsız kayıt riskini azaltan atomiklik, tutarlılık, izolasyon ve dayanıklılık özellikleridir.
Connection PoolConnection pool, veritabanı veya servis bağlantılarını açık tutup tekrar kullanan, gecikmeyi ve bağlantı yükünü azaltan havuzdur.
SQLSQL, ilişkisel veritabanlarında tabloları sorgulamak, değiştirmek ve raporlamak için kullanılan standart veri işleme dilidir.