Veritabanı Yönetim Sistemlerinde İşlem Yönetimi: Durumlar, Türler ve ACID

⚡ Akıllı Özet

Veritabanı İşlem Yönetimi, bir veya daha fazla veritabanı işlemini, veritabanını bir tutarlı durumdan diğerine taşıyan tek bir mantıksal birim olarak ele alır. Eş zamanlı erişimin doğru olmasını sağlamak için ACID özelliklerine, tanımlanmış işlem durumlarına ve zamanlamalara dayanır.

  • 🔁 Ana Birim: Bir işlem, ilgili okuma ve yazma işlemlerini gruplandırarak, bu işlemlerin birlikte başarılı veya başarısız olmasını sağlar; böylece işlemler asla yarıda kalmaz.
  • 🧪 ASİT Özellikleri: AtomSüreklilik, tutarlılık, izolasyon ve dayanıklılık, arıza veya eşzamanlılık durumlarında bile doğru sonuçları garanti eder.
  • 🚦 İşlem Durumları: Aktif, kısmen tamamlanmış, tamamlanmış, başarısız ve sonlandırılmış durumları bir işlemin yaşam döngüsünü tanımlar.
  • 👥 Eşzamanlılığın Önemi: Veritabanı paylaşımlı olduğundan, birçok işlem aynı anda çalışır ve birbirlerinin verilerini bozmamalıdır.
  • ???? Programları: Zamanlama, her işlemin kendi iç sırasını koruyarak paralel işlemlerin operasyonlarını düzenler.
  • 🔗 Serileştirilebilirlik: Eşzamanlı bir planlama, çakışma veya görünüm eşdeğerliği açısından değerlendirildiğinde, sonucu seri bir yürütmeyle aynı olduğunda doğrudur.
  • ↩️ Kurtarma: Başarısız bir işlem geri alınır, böylece kısmi yazma işlemleri hiçbir zaman onaylanmış veritabanına ulaşmaz.

Veritabanı Yönetim Sistemlerinde İşlem Yönetimi

Veritabanı İşlemi Nedir?

A Veritabanı İşlemi Veritabanı yönetim sisteminde (DBMS) bir veya daha fazla veritabanı erişim işlemini içeren mantıksal bir işlem birimidir. Özetle, veritabanı işlemleri herhangi bir işletmenin gerçek dünyadaki olaylarını temsil eder.

Veritabanı yönetim sistemlerinde (DBMS), işlem başlangıcı ve bitişi ifadeleri arasında gerçekleştirilen tüm veritabanı erişim işlemleri tek bir mantıksal işlem olarak kabul edilir. İşlem sırasında veritabanı tutarsızdır. Durum ancak işlem onaylandıktan sonra tutarlı bir durumdan tutarlı bir duruma değişir.

Veritabanı işlemi tutarlı durumlar arasında hareket ediyor.
Veritabanı İşlemi

Veritabanı İşlemleri Hakkında Bilgiler

  • İşlem, yürütülmesi veritabanının içeriğini değiştirebilen veya değiştirmeyebilen bir program birimidir.
  • DBMS'deki işlem konsepti tek bir birim olarak yürütülür.
  • Veritabanı işlemleri veritabanını güncellemeyip yalnızca veri alıyorsa bu tür işlemlere salt okunur işlem denir.
  • Başarılı bir işlem, veritabanını bir tutarlı durumdan diğerine değiştirebilir.
  • Veritabanı yönetim sistemi (DBMS) işlemleri atomik, tutarlı, izole ve kalıcı olmalıdır.
  • Veritabanı bir işlemden önce tutarsız bir durumdaysa, işlemden sonra da tutarsız durumda kalacaktır.

İşlemlerde Eşzamanlılığa Neden İhtiyaç Duyarsınız?

Veritabanı, paylaşılan bir kaynaktır. Birçok kullanıcı ve işlem tarafından eş zamanlı olarak kullanılır. Örnekler arasında bankacılık sistemleri, demiryolu ve hava yolu rezervasyon sistemleri, borsa izleme ve süpermarket envanter ve kasa işlemleri yer alır.

Eşzamanlı erişimi yönetmemek aşağıdaki gibi sorunlara neden olabilir:

  • Donanım arızaları ve sistem çökmeleri.
  • Aynı işlemin eş zamanlı yürütülmesi, çıkmazveya yavaş performans.

Bu paylaşımlı erişimi kontrol etmek, ...'nın görevidir. eşzamanlılık kontrolüBu yöntem, işlemleri güvenli bir şekilde iç içe geçirmek için kilitleme ve zaman damgalarını kullanır. Bundan önce, bir işlemin geçtiği durumları bilmek faydalıdır.

İşlem Durumları

DBMS'deki bir işlem kavramının çeşitli durumları aşağıda listelenmiştir:

Eyalet Açıklama
Aktif Durum Bir işlem, yürütme süreci başladığında aktif duruma geçer. Bu durumda, okuma veya yazma işlemleri gerçekleştirilebilir.
Kısmen Kararlıyız Bir işlem, işlemin sona ermesinin ardından kısmen onaylanmış duruma geçer.
Taahhütlü Devlet İşlem onaylanmış duruma ulaştığında, başarılı bir şekilde tamamlanmış olur ve tüm değişiklikleri veritabanına kalıcı olarak kaydedilir.
Başarısız Devlet Bir işlem, kontrollerden herhangi birinin başarısız olması durumunda veya işlem aktif haldeyken iptal edilmesi durumunda başarısız sayılır.
Feshedilmiş Durum Bir işlemin durumu, işlem sistemden ayrıldığında ve yeniden başlatılamadığında sonlandırılmış duruma ulaşır.

Veritabanı işlemi için durum geçiş diyagramı

Şimdi bir konuyu inceleyelim. durum geçiş diyagramı Bu, bir işlemin bu çeşitli durumlar arasında nasıl hareket ettiğini vurgular.

  1. Bir işlem yürütülmeye başlandığında aktif hale gelir. OKUMA veya YAZMA işlemi gerçekleştirebilir.
  2. OKUMA ve YAZMA işlemleri tamamlandıktan sonra, işlem kısmen onaylanmış duruma geçer.
  3. Ardından, bazı kurtarma protokollerinin, sistem arızasının işlemin değişikliklerinin kalıcı olarak kaydedilememesine yol açmayacağından emin olması gerekir. Bu kontrol başarılı olursa, işlem onaylanır ve onaylanmış duruma geçer.
  4. Kontrol başarısız olursa, işlem başarısız durumuna geçer.
  5. İşlem aktif durumdayken iptal edilirse, başarısız duruma geçer. Veritabanına yazma işlemlerinin etkisini geri almak için işlem geri alınmalıdır.
  6. Sonlandırılmış durum, sistemden ayrılan işlemi ifade eder.

Asitlerin Özellikleri Nelerdir?

ASİT Özellikleri Veritabanı yönetim sistemlerinde (DBMS) ACID kısaltması, işlem süreçleri sırasında veritabanının bütünlüğünü korumak için kullanılır. Azehir, Cısrar, Iyalnızlık ve Dçabukluk.

  • Atombuz gibi: Bir işlem tek bir işlem birimidir. Ya tamamen uygularsınız ya da hiç yürütmezsiniz. Kısmi infaz olamaz.
  • Tutarlılık: İşlem yürütüldükten sonra bir tutarlı durumdan diğerine geçmelidir.
  • İzolasyon: Bir işlem, diğer işlemlerden bağımsız olarak yürütülmelidir. Eş zamanlı yürütme sırasında, aynı anda yürütülen işlemlerin ara sonuçları birbirine sunulmamalıdır.
  • Dayanıklılık: Bir işlemin başarıyla tamamlanmasının ardından, sistem arızaları durumunda bile veritabanındaki değişiklikler kalıcı olmalıdır.

Veritabanı Yönetim Sistemlerinde ACID Özelliği ve Örneği

Aşağıda, Veritabanı Yönetim Sistemlerinde (DBMS) ACID özelliğine bir örnek verilmiştir:

Transaction 1: Begin X=X+50, Y = Y-50 END
Transaction 2: Begin X=1.1*X, Y=1.1*Y END

İşlem 1, X hesabından Y hesabına 50 ABD dolarının aktarılmasıdır.

İşlem 2, her hesaba %10 faiz ödemesi yatırmaktır.

İki işlem birlikte gönderilirse, İşlem 1'in İşlem 2'den önce veya tam tersi şekilde gerçekleşeceğine dair bir garanti yoktur. Sıradan bağımsız olarak, sonuç, işlemlerin ardı ardına, seri olarak gerçekleşmiş gibi olmalıdır.

İşlem Türleri

Uygulama alanlarına göre:

  • Dağıtılmamış ve dağıtılmış.
  • Telafi edici işlemler.
  • İşlem zamanlaması.
  • Çevrimiçi mi yoksa toplu işlem mi?

Eylemlere göre:

  • İki adımlı.
  • Sınırlı.
  • Eylem modeli.

Yapısal olarak:

  • Düz veya basit işlemler: bir başlangıç ​​ve bir bitiş işlemi arasında yürütülen bir dizi temel işlemden oluşur.
  • İç içe işlemler: Başka işlemleri içeren bir işlem.
  • iş akışı

Program nedir?

Zamanlama, birden fazla paralel işlemi tek bir grup halinde oluşturma ve bunları tek tek yürütme sürecidir. Her işlemdeki talimatların sırasını korumalıdır. İki işlem aynı anda yürütülürse, bir işlemin sonucu diğerinin çıktısını etkileyebilir.

Örnek E-posta

Initial Product Quantity is 10
Transaction 1: Update Product Quantity to 50
Transaction 2: Read Product Quantity

İşlem 2, İşlem 1'den önce yapılırsa ürün miktarına ilişkin güncel olmayan bilgiler okunacaktır. Bu nedenle programlara ihtiyaç vardır.

Veritabanında paralel yürütme kaçınılmazdır. Ancak paralel yürütme, eş zamanlı olarak yürütülen işlemler arasında bir denklik ilişkisi olduğunda mümkündür. Bu denklik üç türdedir.

Sonuç Eşdeğerliği: İki zamanlama işlemi yürütüldükten sonra aynı sonucu gösteriyorsa, buna sonuç eşdeğerliği olan zamanlama denir. Bazı değerler için aynı sonucu, başka bir değer kümesi için ise farklı sonuçları sunabilirler. Örneğin, bir işlem ürün miktarını güncellerken, diğeri müşteri bilgilerini günceller.

Eşdeğerliği Görüntüle: Görünüm eşdeğerliği, her iki çizelgedeki işlemlerin benzer bir eylem gerçekleştirmesi durumunda ortaya çıkar. Örneğin, bir işlem ürün detaylarını ürün tablosuna eklerken, diğer bir işlem ürün detaylarını arşiv tablosuna ekler. İşlem aynıdır, ancak tablolar farklıdır.

Çatışma Eşdeğerliği: Bu durumda, iki işlem aynı veri kümesini güncelliyor veya görüntülüyor. İşlemler arasında bir çakışma var, çünkü yürütme sırası çıktıyı etkileyecektir.

Serileştirilebilirlik nedir?

Serileştirilebilirlik, işlemlerin birbiri ardına yürütüldüğü seri bir çizelgeye eşit çıktı veren eşzamanlı bir çizelge arama sürecidir. Çizelge türüne bağlı olarak, iki tür serileştirilebilirlik vardır:

  • Çatışma serileştirilebilirliği.
  • Serileştirilebilirliği görüntüle.

Aşağıda özetlendiği gibi, ikisi de eşdeğerliği değerlendirme konusunda farklı görüşlere sahiptir.

Görünüş Çatışma Seri Hale Getirilebilirliği Serileştirilebilirliği Görüntüle
Temel Çelişkili işlemlerin sırası Okuma-yazma ve son yazma ilişkileri
test Öncelik grafiği döngüsüz olmalıdır. Seri bir programa eşdeğerliği inceleyin.
katılık Daha katı, bir alt küme Daha geniş kapsamlı, görme engelli yazarları da içeriyor.
Kontrol maliyeti Verimli Hesaplama açısından zor

Çakışma serileştirilebilir her çizelge aynı zamanda görünüm serileştirilebilir, ancak bunun tersi geçerli değildir; bu nedenle çakışma serileştirilebilirliği, bir veritabanı yönetim sisteminin uyguladığı pratik bir testtir.

SSS

Commit işlemi, bir işlemin değişikliklerini veritabanında kalıcı hale getirir. Rollback işlemi ise işlemin başlangıcından bu yana yapılan tüm değişiklikleri geri alır ve veritabanını işlem başlamadan önceki tutarlı duruma döndürür.

AtomAtomiklik, işlem yarıda kalırsa kısmi çalışmanın atılmasını sağlar, böylece işlem hiç çalışmamış gibi ele alınır. Kalıcılık ise kurtarma işleminden sonra taahhüt edilen çalışmayı korur.

Yapay zeka, kilit bekleme sürelerini ve kilitlenme grafiklerini analiz ederek diğer işlemleri engelleyen işlemleri tespit eder, ardından doğruluğu zayıflatmadan çekişmeyi azaltacak bir izolasyon seviyesi veya indeks değişikliği önerir.

Bir dereceye kadar. Geçmişteki kilitlenmelerden önce gelen kilit isteği kalıplarını öğrenerek, bir model riskli işlem karışımını erken aşamada tespit edebilir ve böylece zamanlayıcının bir döngü oluşmadan önce işlemleri geciktirmesine veya yeniden sıralamasına olanak tanır.

Seri bir zamanlama, bir işlemin tamamen tamamlanmasından sonra bir sonraki işlemin başlamasını sağlar, böylece araya giren işlemler veri bozulmasına neden olamaz. Yavaştır, bu nedenle hedef, ona seri hale getirilebilen eşzamanlı bir zamanlamadır.

Bu yazıyı şu şekilde özetleyin: