DDBMS - İşlem İşleme Sistemleri

Bu bölüm, işlem işlemenin çeşitli yönlerini tartışmaktadır. Ayrıca bir işlemin içerdiği düşük seviyeli görevleri, işlem durumlarını ve bir işlemin özelliklerini inceleyeceğiz. Son bölümde, programlara ve programların serileştirilebilirliğine bakacağız.

İşlemler

İşlem, mantıksal bir veri işleme birimi olarak yürütülen bir veritabanı işlemleri koleksiyonunu içeren bir programdır. Bir işlemde gerçekleştirilen işlemler, veri ekleme, silme, güncelleme veya geri alma gibi bir veya daha fazla veritabanı işlemini içerir. Tamamen tamamlanana kadar gerçekleştirilen veya hiç yapılmayan atomik bir işlemdir. Herhangi bir veri güncellemesi olmadan yalnızca veri almayı içeren bir işleme salt okunur işlem denir.

Her yüksek seviyeli işlem, bir dizi düşük seviyeli görev veya işleme bölünebilir. Örneğin, bir veri güncelleme işlemi üç göreve ayrılabilir -

  • read_item() - veri öğesini depodan ana belleğe okur.

  • modify_item() - ana bellekteki öğenin değerini değiştirin.

  • write_item() - değiştirilen değeri ana bellekten depolamaya yazın.

Veritabanı erişimi, read_item () ve write_item () işlemleriyle sınırlıdır. Aynı şekilde tüm işlemler için okuma ve yazma temel veritabanı işlemlerini oluşturur.

İşlem İşlemleri

Bir işlemde gerçekleştirilen düşük seviyeli işlemler -

  • begin_transaction - İşlem yürütmenin başlangıcını belirten bir işaret.

  • read_item or write_item - İşlemin bir parçası olarak ana bellek işlemleri ile karıştırılabilen veritabanı işlemleri.

  • end_transaction - İşlemin sonunu belirten bir işaretçi.

  • commit - İşlemin bütünüyle başarıyla tamamlandığını ve geri alınmayacağını belirten bir sinyal.

  • rollback- İşlemin başarısız olduğunu ve bu nedenle veritabanındaki tüm geçici değişikliklerin geri alındığını belirten bir sinyal. Taahhütlü bir işlem geri alınamaz.

İşlem Durumları

Bir işlem, aktif, kısmen tamamlanmış, tamamlanmış, başarısız olmuş ve iptal edilmiş beş durumluk bir alt kümeden geçebilir.

  • Active- İşlemin girdiği ilk durum, aktif durumdur. İşlem okuma, yazma veya diğer işlemleri yürütürken bu durumda kalır.

  • Partially Committed - İşlem, işlemin son beyanı gerçekleştirildikten sonra bu duruma girer.

  • Committed - İşlem, işlemin başarıyla tamamlanmasının ardından bu duruma girer ve sistem kontrolleri tamamlama sinyali verir.

  • Failed - Normal yürütmenin artık devam edemeyeceği veya sistem kontrollerinin başarısız olduğu keşfedildiğinde, işlem kısmen tamamlanmış durumdan veya etkin durumdan başarısız duruma geçer.

  • Aborted - Bu, işlem başarısız olduktan sonra geri alındıktan ve veritabanı işlem başlamadan önceki durumuna geri yüklendikten sonraki durumdur.

Aşağıdaki durum geçiş diyagramı, işlemdeki durumları ve durumlarda değişikliğe neden olan düşük seviyeli işlem işlemlerini gösterir.

İşlemlerin İstenilen Özellikleri

Herhangi bir işlem ACID özelliklerini korumalıdır, yani. Atomiklik, Tutarlılık, İzolasyon ve Dayanıklılık.

  • Atomicity- Bu özellik, bir işlemin atomik bir işlem birimi olduğunu, yani ya bütünüyle yapıldığını ya da hiç yapılmadığını belirtir. Kısmi güncelleme olmamalıdır.

  • Consistency- Bir işlem, veritabanını tutarlı bir durumdan başka bir tutarlı duruma götürmelidir. Veritabanındaki herhangi bir veri öğesini olumsuz etkilememelidir.

  • Isolation- İşlem, sistemdeki tek işlemmiş gibi yürütülmelidir. Eşzamanlı olarak yürütülen diğer eşzamanlı işlemlerden herhangi bir müdahale olmamalıdır.

  • Durability - Taahhüt edilen bir işlem bir değişikliğe yol açarsa, bu değişiklik veritabanında kalıcı olmalı ve herhangi bir başarısızlık durumunda kaybolmamalıdır.

Programlar ve Çatışmalar

Eşzamanlı işlemlerin olduğu bir sistemde, scheduleişlemlerin toplam yürütme sırasıdır. N işlemden oluşan bir S çizelgesi verildiğinde, örneğin T1, T2, T3 ……… ..Tn; herhangi bir Ti işlemi için, Ti'deki işlemler S çizelgesinde belirtildiği gibi yürütülmelidir.

Program Türleri

İki tür program vardır -

  • Serial Schedules- Bir seri programda, herhangi bir zamanda, yalnızca bir işlem etkindir, yani işlemlerin çakışması yoktur. Bu, aşağıdaki grafikte gösterilmektedir -

  • Parallel Schedules- Paralel programlarda, birden fazla işlem eşzamanlı olarak etkindir, yani işlemler zamanla çakışan işlemleri içerir. Bu, aşağıdaki grafikte gösterilmektedir -

Programlardaki Çatışmalar

Birden çok işlemden oluşan bir çizelgede, bir conflictiki etkin işlem uyumlu olmayan işlemler gerçekleştirdiğinde oluşur. Aşağıdaki üç koşulun tümü aynı anda mevcut olduğunda iki operasyonun çatıştığı söylenir -

  • İki işlem, farklı işlemlerin parçalarıdır.

  • Her iki işlem de aynı veri öğesine erişir.

  • İşlemlerden en az biri bir write_item () işlemidir, yani veri öğesini değiştirmeye çalışır.

Seri hale getirilebilirlik

Bir serializable schedule"n" işlemlerin sayısı aynı "n" işlemden oluşan bir seri programa eşdeğer paralel bir çizelgedir. Serileştirilebilir bir çizelge, paralel çizelgenin daha iyi CPU kullanımını tespit ederken seri çizelgenin doğruluğunu içerir.

Çizelgelerin Eşdeğerliği

İki programın denkliği aşağıdaki türlerde olabilir -

  • Result equivalence - Aynı sonuçları üreten iki programın sonuç eşdeğer olduğu söylenir.

  • View equivalence - Benzer şekilde benzer eylemi gerçekleştiren iki programın eşdeğer olduğu söylenir.

  • Conflict equivalence - Her ikisi de aynı işlem kümesini içeriyorsa ve aynı çakışan işlem çiftlerine sahipse, iki çizelgenin çakışmaya eşdeğer olduğu söylenir.