Eşzamanlılık Kontrolü Nedir?

Veri yönetimi programlamasında eşzamanlılık kontrolü, eşzamanlı işlemler tarafından doğru sonuçların alınmasını sağlamak için tasarlanmış bir mekanizmadır. Bu sonuçlar zamanında da alınmalıdır. Eşzamanlılık kontrolü, kullanıcıların elde etmesi için aranabilir bir bilgi önbelleği bulunan veritabanlarında sıklıkla görülür.

Programcılar, önemli işlemlerin paylaşılan veri üzerindeki etkisinin seri olarak eşdeğer olacağı şekilde bir veritabanı tasarlamaya çalışırlar. Bunun anlamı, işlem kümesiyle temasa geçen verinin, tüm işlemler seri olarak ve belirli bir düzende gerçekleştirilirse sonuçların alınabileceği belirli bir durumda olacağıdır. Bazen bu işlemler aynı anda iki işlem tarafından değiştirilmesinden dolayı geçersizdir.

Karşılıklı dışlama kullanımı ve hangi işlemlerin erişime sahip olduğuna karar veren bir kaynak oluşturma dahil olmak üzere, işlemlerin birbiri ardına yürütülmesini sağlamanın çeşitli yolları vardır. Bununla birlikte, bu fazladan yazılmıştır ve bir programcının dağıtılmış bir sistemdeki eşzamanlılık kontrolünden yararlanmasına izin vermez. Eşzamanlılık kontrolü, bu işlemleri birbirinden uzak tutarken aynı anda birden fazla işlemin gerçekleştirilmesine izin vererek doğrusallaştırılabilirlik sağlar. Eşzamanlılık denetimini uygulamanın bir yolu, kaynakları paylaşan seri işlem yürütmeleri için belirli bir kaynakta özel bir kilit kullanılmasıdır. İşlemler, kullanılması amaçlanan bir nesneyi kilitler ve bazı işlemlerin kilitli olan nesne için bir istek yapması durumunda, bu işlem nesnenin kilidinin açılmasını beklemesi gerekir.

Bu yöntemin dağıtık sistemlerde uygulanması, kilit yöneticilerini içerir - kaynak kilitleri veren sunucular. Bu, istemcilerin belirli bir kaynakta kilitlerin serbest bırakılması için kilit talep edip mesaj gönderebileceği merkezi karşılıklı dışlamalar için sunuculara çok benzer. Bununla birlikte, seri yürütmenin korunması, eşzamanlılık kontrolü için hala gereklidir. İki ayrı işlem benzer bir nesneye erişirse, sonuçların benzer olması ve bu işlemlerin belirli bir sırada yapılması gibi olması gerekir. Bir kaynağa erişim sırasını sağlamak için, iki fazlı kilitleme devreye sokulur, bu da işlemlerin ayrı bir kilit bırakıldığında yeni kilitlere izin verilmemesi anlamına gelir.

Eşzamanlılık kontrolü için iki fazlı kilitlemede, ilk aşaması, işlemin gerekli kilidi aldığı alım aşaması olarak kabul edilir. Bir sonraki aşama, işlemin kilitlerini serbest bıraktığı bir daralma aşaması olarak kabul edilir. Bu tür kilitlemede sorunlar var. İşlemler iptal edilirse, diğer işlemler iptal edilen işlemlerle değiştirilmiş ve kilidi açılmış nesnelerdeki verileri kullanabilir. Bu, diğer işlemlerin iptal edilmesine neden olur.