BT Sözlüğü › Veritabanları › Kilitlenme tespiti (VT)

Kilitlenme tespiti (VT)

Veritabanları Svenska → Güncellendi: 2026-10-10

İki (veya daha fazla) işlemin birbirinin kilitlerini bir döngü içinde beklediğini ve hiçbir zaman ilerleyemeyeceğini saptayan mekanizma. Veritabanı bir “kurban” seçip onu otomatik geri alarak kilitlenmeyi çözer.

Sorun: A işlemi 1. kilidi tutuyor ve 2.'yi istiyor; B işlemi 2.'yi tutuyor ve 1.'i istiyor; ikisi de devam edemez (klasik kilitlenme). Tespit: veritabanı bir “bekleme grafiği” (kim kimi bekliyor) kurar ve döngü arar; döngü bulursa bir kurban seçer (çoğunlukla en az iş yapmış / geri alması en ucuz olan) ve işlemini kilitlenme hatasıyla iptal eder, böylece diğerleri devam eder. InnoDB ve PostgreSQL bunu sürekli ve otomatik yapar. Uygulama kilitlenme hatasını yakalayıp yeniden denemeye hazır olmalıdır. Önlem: kaynakları hep aynı sırayla kilitleyin, işlemleri kısa tutun. Nedeni anlamadan bir süre sonra pes eden kilit zaman aşımından farklıdır. Kötümser eşzamanlılık ve MVCC anlık görüntüsüyle ilişkilidir.

← Sözlüğe dön