Middle
Yalıtım seviyelerinin mevcut sınıflandırması nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Veritabanlarındaki izolasyon seviyeleri, işlemlerin birbirinden ve diğer işlemler tarafından yapılan değişikliklerden ne kadar izole edildiğini belirler. Bu seviyeler, çeşitli eşzamanlı erişim sorunlarını önler.
SQL standartlarına göre izolasyon seviyeleri sınıflandırması:
- READ UNCOMMITTED
- Onaylanmamış değişiklikleri okuma izni verir (kirlilik okuma / dirty read).
- Sorunlar: kirli okuma, tekrarlanmayan okuma, hayalet okuma.
- READ COMMITTED
- Sadece onaylanmış değişiklikleri okumaya izin verir.
- Kirlilik okuma engellenir.
- Sorunlar: tekrarlanmayan okuma, hayalet okuma.
- Varsayılan olarak en sık kullanılan seviyedir.
- REPEATABLE READ
- Aynı satır kümesini tekrar tekrar okumanın, diğer işlemler değişiklik yapsa bile, aynı verileri döndürmesini garanti eder.
- Kirlilik okuma ve tekrarlanmayan okuma engellenir.
- Sorun: hayalet okuma (yeni satırların, seçim koşuluna uygun olarak ortaya çıkması).
- SERIALIZABLE
- En yüksek izolasyon seviyesidir.
- Eşzamanlı erişim sorunlarının tamamen ortadan kalkmasını sağlar. İşlemler, sıralıymış gibi yürütülür.
- Kirlilik okuma, tekrarlanmayan okuma ve hayalet okuma engellenir.
- Performans üzerinde önemli etkileri olabilir.
Eşzamanlı erişim sorunları:
| Sorun | READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE |
|---|---|---|---|---|
| Kirlilik okuma | Evet | Hayır | Hayır | Hayır |
| Tekrarlanmayan okuma | Evet | Evet | Hayır | Hayır |
| Hayalet okuma | Evet | Evet | Evet | Hayır |
İzolasyon seviyesinin seçimi, uygulamanın gereksinimlerine ve veri bütünlüğü ile performans arasındaki dengeye bağlıdır.