İşlemler, verileri değiştirmemize ve almamıza olanak tanıyan temel işlemlerdir. Ancak bir veritabanının bütünlüğünü sağlamak için bu işlemlerin arıza/hata durumunda bile tutarlılığı, doğruluğu ve güvenilirliği koruyacak şekilde yürütülmesi önemlidir. ASİT özelliklerinin devreye girdiği yer burasıdır.
ACID, Atomik Tutarlılık İzolasyonu ve Dayanıklılık anlamına gelir.
ASİT'in Özellikleri:
ASİT'in Dört Özelliği Vardır
1. Atomiklik
Atomiklik, bir işlemin ya hep ya hiç olduğu, tüm işlemlerinin başarılı olduğu ya da hiçbirinin uygulanmadığı anlamına gelir. Herhangi bir parça arızalanırsa, veritabanını tutarlı tutmak için tüm işlem geri alınır.
- İşlemek : İşlem başarılı olursa değişiklikler kalıcı olarak uygulanır.
- İptal Et/Geri Al : İşlem başarısız olursa işlem sırasında yapılan değişiklikler iptal edilir.
Örnek : Aşağıdaki işlemi düşünün T oluşan T1 Ve T2 : Hesaptan 0'ın transferi X hesaba katmak VE .
Atomiklikİşlem T1'in tamamlanmasından sonra ancak T2'nin tamamlanmasından önce başarısız olursa, veritabanı tutarsız bir durumda kalacaktır. Atomicity ile işlemin herhangi bir kısmı başarısız olursa tüm süreç orijinal durumuna geri alınır ve kısmi değişiklik yapılmaz.
İşlemlerdeki tutarlılık, veritabanının bir işlemden önce ve sonra geçerli bir durumda kalması gerektiği anlamına gelir.
100 üzerinden 25
- Geçerli bir durum, tanımlanmış tüm kural kısıtlamalarına ve ilişkilerine (birincil anahtarlar, yabancı anahtarlar vb. gibi) uyar.
- Bir işlem bu kurallardan herhangi birini ihlal ederse, bozuk veya geçersiz verileri önlemek için işlem geri alınır.
- Bir işlemde para bir hesaptan kesiliyor ancak diğerine eklenmiyorsa (transferde) bu tutarlılığı ihlal eder.
Örnek : Bir banka sistemindeki tüm bakiyelerin toplamının her zaman sabit olması gerektiğini varsayalım. Transfer öncesinde toplam bakiye 0'dır. İşlem sonrasında toplam bakiye 0 kalmalıdır. Eğer işlem ortada başarısız olursa (bir hesabı güncelleyip diğerini güncellememek gibi), sistem işlemi geri alarak tutarlılığını korumalıdır.
T gerçekleşmeden önceki toplam = 500 + 200 = 700.
T gerçekleştikten sonra toplam = 400 + 300 = 700.
Tutarlılık3. İzolasyon
İzolasyon, işlemlerin birbirini etkilemeden bağımsız olarak yürütülmesini sağlar. Bir işlem tarafından yapılan değişiklikler, taahhüt edilene kadar diğerleri tarafından görülemez.
Eşzamanlı işlemlerin sonucunun, birbiri ardına yürütülmüş gibi aynı olmasını sağlar ve aşağıdaki gibi sorunları önler:
- Kirli okur: kaydedilmemiş verileri okuma
- Tekrarlanamayan okumalar: iki okuma arasında veri değişiklikleri
- Hayalet şunu okur: işlem sırasında yeni satırlar görünüyor
Örnek : T ve T'' olmak üzere iki işlemi düşünün.
- X = 500 Y = 500
İzolasyonAçıklama:
verilog vaka bildirimi
1. İşlem T:
- T, X'ten Y'ye transfer yapmak istiyor.
- T okur VE (değer: 500) X'ten çıkarılır (yeni X = 450) ve Y'ye eklenir (yeni Y = 550).
2. İşlem T'':
- T' ' X (500) ve Y (500)'ü başlatır ve okur.
- Toplamı hesaplar: 500 + 500 = 1000.
- Bu sırada X ve Y değerleri sırasıyla 450 ve 550 olarak değişmektedir.
- Yani doğru toplam 450 + 550 = 1000 olmalıdır.
- Yalıtım, başka bir işlem (T) devam ederken T''nin eski değerleri okumamasını sağlar.
- İşlemler bağımsız olmalı ve T'' nihai değerlere yalnızca T taahhüt edildikten sonra erişmelidir.
- Bu, T'' tarafından hesaplanan yanlış toplam gibi tutarsız sonuçları önler.
4. Dayanıklılık:
Dayanıklılık, bir işlem gerçekleştirildikten sonra sistem arızalansa bile değişikliklerin kalıcı olarak kaydedilmesini sağlar. Veriler kalıcı bellekte saklanır, böylece veritabanı veri kaybı olmadan son taahhüt edilen durumuna geri dönebilir.
Örnek : A Hesabından B Hesabına başarıyla para aktarıldıktan sonra değişiklikler diskte saklanır. Taahhütten hemen sonra bir çökme olsa bile, sistem kurtarıldığında aktarım ayrıntıları sağlam kalacak ve dayanıklılık sağlanacaktır.
ASİT Özellikleri DBMS Tasarımını ve Çalışmasını Nasıl Etkiler?
Bütün olarak ACID özellikleri, her işlemin tek bir birim gibi davranan, tutarlı sonuçlar üreten bir işlemler grubu olacağı ve diğer işlemlerden ayrı olarak hareket edeceği ve yaptığı güncellemelerin kalıcı olarak saklanacağı şekilde bir veritabanının doğruluğunu ve tutarlılığını sağlayacak bir mekanizma sağlar.
ACID özellikleri, işlemlerin başarıyla tamamlanmasını veya kesintiye uğradığında iz bırakmamasını sağlayarak bir DBMS'nin veri bütünlüğünü korur. Kısmi güncellemelerin verileri bozmasını önler ve veritabanının yalnızca geçerli durumlar arasında geçiş yapmasını sağlar.
2. Eşzamanlılık Kontrolü
ACID özellikleri, eşzamanlı işlemleri yönetmek için sağlam bir çerçeve sağlar. Yalıtım, işlemlerin birbirine müdahale etmemesini sağlayarak, güncelleme kaybı, geçici tutarsızlık ve kaydedilmemiş veriler gibi veri anormalliklerini önler.
3. Kurtarma ve Hata Toleransı
Dayanıklılık, bir sistem çökse bile veritabanının tutarlı bir duruma kurtarılabilmesini sağlar. Atomicity ve Dayanıklılık özellikleri sayesinde, bir işlemin yarıda başarısız olması durumunda veritabanı tutarlı bir durumda kalır.
| Mülk | Mülklerin bakımı sorumluluğu |
|---|---|
| Atomiklik | İşlem Yöneticisi |
| Tutarlılık | Uygulama programcısı |
| İzolasyon | Eşzamanlılık Kontrol Yöneticisi |
| Dayanıklılık | İyileşmek |
Veritabanlarında ACID için Kritik Kullanım Durumları
Modern uygulamalarda verilerin güvenilirliğinin ve tutarlılığının sağlanması çok önemlidir. ASİT özellikleri aşağıdaki gibi sektörlerde temeldir:
- Bankacılık : Para transferleri, para yatırma veya çekme işlemlerini içeren işlemler, hataları ve sahtekarlığı önlemek için sıkı bir tutarlılık ve dayanıklılık sağlamalıdır.
- E-ticaret : Envanter sayım siparişlerinin ve müşteri bilgilerinin yoğun trafikte bile doğru ve tutarlı bir şekilde işlenmesini sağlamak ACID uyumluluğunu gerektirir.
- Sağlık hizmeti : Hasta kayıtları test sonuçları ve reçeteleri katı tutarlılık, bütünlük ve güvenlik standartlarına uygun olmalıdır.