Eşzamanlılık Kontrolü
Database Concurrency Control and Locking Mechanisms · Ayrıca şöyle bilinir: locking, MVCC
Eşzamanlılık kontrolü, veritabanını bozmadan paylaşılan verilere erişen eşzamanlı işlemleri koordine etmek için kullanılan mekanizmalar kümesidir. 1970'ler-1980'lerde veritabanı teorisyenleri tarafından biçimlendirilen eşzamanlılık kontrolü, birden çok eşzamanlı işlemin sıralı (seri) olarak yürütülmüş gibi aynı sonucu üretmesini sağlar (serileştirilebilirlik).
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
Ne zaman kullanılır
Eşzamanlılık kontrolü, birden çok eşzamanlı kullanıcısı olan herhangi bir veritabanında esastır. Güçlü tutarlılık garantileri gerektiren sistemler için özellikle önemlidir. Varsayımlar, çatışmaların kilitleme bekleme sürelerinin kabul edilebilir olacağı kadar nadir meydana geldiği veya MVCC'nin yeterli performans sağladığıdır.
Güçlü yönler & sınırlılıklar
- Anomaliler (kirli okumalar, kayıp güncellemeler, hayalet okumalar) yoluyla veri bozulmasını önler
- Yüksek eşzamanlılık altında bile öngörülebilir davranış sağlar
- Eşzamanlı işlemlerin adil zamanlanmasını sağlar
- Kilitleme tabanlı yaklaşımlar, rekabet altında eşzamanlılığı ve verimi azaltabilir
- Kilitlenmeler, işlem geri alma ve yeniden deneme gerektirebilir
- MVCC, birden çok sürümü korumak için depolama ek yükü gerektirir
SSS
Kilitlenme nedir ve nasıl çözülür?
Kilitlenme, iki işlemin birbirini beklemesi durumunda oluşur: İşlem A kilidi X tutar ve Y'yi bekler; İşlem B kilidi Y tutar ve X'i bekler. Veritabanları kilitlenmeleri tespit eder ve bir işlemi geri alarak diğerinin devam etmesine izin verir.
İyimser ve karamsar kilitleme arasındaki fark nedir?
Karamsar kilitleme (2PL), verilere erişmeden önce kilitlemeleri alır ve proaktif olarak çatışmaları önler. İyimser kilitleme (MVCC), işlem zamanında çatışmaları kontrol eder ve çatışmalar nadirse daha yüksek eşzamanlılığa izin verir.
Yalıtım düzeyleri eşzamanlılığı nasıl etkiler?
Daha yüksek yalıtım düzeyleri (Seri hale getirilebilir), anomalileri önler ancak daha katı kilitleme yoluyla eşzamanlılığı azaltır. Daha düşük düzeyler (Yalıtılmamış Okuma), verimi artırır ancak anomalilere izin verir. Tutarlılık ihtiyaçlarına göre seçin.
Satır düzeyinde mi yoksa tablo düzeyinde kilitleme mi kullanmalıyım?
Satır düzeyinde kilitleme, daha yüksek eşzamanlılığa izin verir ancak koordinasyon ek yükü ekler. Koordinasyon maliyetlerinin faydaları aştığı büyük tablolar veya tam tablo işlemleri için satır düzeyinde; küçük tablolar veya tam tablo işlemleri için tablo düzeyinde kullanın.
Kaynaklar
- Gray, J. (1981). The transaction concept: Virtues and limitations. VLDB Endowment, 7(6), 519-539. link ↗
- Reed, D. P. (1978). Naming and synchronization in a decentralized computer system. Ph.D. Dissertation, MIT. link ↗
- Papadimitriou, C. H. (1986). The Theory of Database Concurrency Control. Computer Science Press. link ↗
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Database Concurrency Control and Locking Mechanisms. ScholarGate. https://scholargate.app/tr/information-systems/concurrency-control
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- İşlem YönetimiBilişim sistemleri↔ karşılaştır