İçerikler :

ACID Atomicy - Atomik Auto Commit Commit Consistency - Tutarlılık Dirty Read - Kirli Okuma Durability - Süreklilik - Dayanıklılık Exclusive Lock Isolation Level (Yalıtım Seviyesi) Kilitleme .. Isolation Level (Yalıtım Seviyesi) ve Çözdüğü.. Isolation Level - Yalıtım Seviyesi Isolation - Yalıtım İki Fazlı İşleme - Two Phase Commits İlişkisel Veritabanı Sistemlerinde Temel Yalı.. Key-Range Lock (Anahtar Aralık Kitleme) Nonrepeatable Read - Tekrarlanmayan Okuma Phantom Read (Hayalet Okuma) Read Committed Read Uncommitted Repeatable Read Rollback Serializable Shared Lock Transaction

Bu Sayfayı Paylaş:

Kavram

ACID

Tanım: Veritabanı sistemlerinde Atomicy (Atomik), Consistency (tutarlılık) , Isolation (yalıtım), Durability (süreklilik) ifadelerinin kısaltması

Kavram

Atomicy - Atomik

Tanım: Veritabanında birden fazla yapılan işlemlerin ya hepsinin birden gerçekleşmesi ya da herhangi birinin düzgün çalışmaması durumunda hiç birinin gerçekleşmemesi şeklinde olan özellik. Ya hep ya hiç şeklinde özetlenebilir

Kavram

Consistency - Tutarlılık

Tanım: Veritabanında birden fazla yapılan işlemlerde, veritabanı üzerindeki sağlanan kuralların uygulanması ve tutarlılığın (örneğin başka bir tabloya referans veren bir sütun değerinin o tabloda kesinlikle olması) sağlanması

Kavram

Isolation - Yalıtım

Tanım: Aynı zamanda çalışan iki veya daha fazla işlemin (transaction) birbirlerine ve yaptıkları işleme göre nasıl davranacaklarını belirleyen sistem. Serializable, repeatable read , read committed ve read uncommitted şeklinde yalıtım seviyeleri bulunmaktadır

Kavram

Durability - Süreklilik - Dayanıklılık

Tanım: Veritabanında gerçekleştiği belirtilen bir olayın veritabanı ve disk (donanım) bazında kesinlikle gerçekleşmiş olması. İşlem veya işlemler başarıyla tamamlandığı belirtiliyorsa sistemde her şey düzgün çalışıyor anlamına gelmelidir

Kavram

Transaction

Tanım: Bir veya daha fazla işlemin tek bir işlem olarak gerçekleşmesi. Transaction'ı oluşturan işlem sırasında diğer işlemlerle olan ilişkisi (başka bir işlem varsa beklemesi gerekip gerekmediği vb..), bir işlem başarısızsa transaction'ın geri alınabilmesi gibi özellikleri bulunmaktadır.

Kavram

Commit

Tanım: İlişkisel veritabanı sistemlerinde bir transaction (işlem) sonucu yapılan değişikliklerinin veritabanında geçerli hale getirilmesi. Eğer transaction (işlem) auto commit (kendiliğinden sonlanan) değilse commit işlemi yapılmalıdır.

Kavram

Auto Commit

Tanım: İlişkisel veritabanı sistemlerinde tek bir işlemin otomatik olarak commit (değişikliklerin veritabanına gönderilmesi veya kalıcı hale gelmesi) olması. Eğer birden fazla işlem yapılmasını ve işlemlerden sonra commit yapılması isteniyorsa transaction açılmalıdır

Kavram

Rollback

Tanım: İlişkisel veritabanı sistemlerinde bir transaction (işlem) sonucu yapılan işlerin geri alınması. Örneğin üç işlemden oluşan bir transaction çalışması sırasında üçüncü işlemde bir sorun olması durumunda rollback yapılır ve tüm işlemler geri alımış olur.

Kavram

Isolation Level - Yalıtım Seviyesi

Tanım: Bir işlemin (transaction) isolation (yalıtım) sevisiyesi. Aynı zamanda çalışan iki veya daha fazla işlemin (transaction) birbirlerine ve yaptıkları işleme göre nasıl davranacaklarını belirler.

Kavram

Dirty Read - Kirli Okuma

Tanım: Bir transaction (işlem) tarafından güncellenenen ancak veritabanına gönderilmeyen (commit edilmeyen) verilerin eski halinin başka bir transaction (işlem) tarafından okunması sonucu oluşan sorun. İkinci işlem eski veriyi okuduktan sonra birinci işlem veritabanı güncellemesi yapar. Bu durumda ikinci işlem güncellenmeden önceki veriyi okumaktadır.

Kavram

Nonrepeatable Read - Tekrarlanmayan Okuma

Tanım: Bir okuma işlemin sırasında , aynı veri üzerinde diğer işlemlerin güncelleme işlemi yapması sonucu oluşan sorun. Bu durumda okuma yapan işlem verinin eski halini görür ve tekrar veriyi okuduğu zaman veri değişmiştir

Kavram

Phantom Read (Hayalet Okuma)

Tanım: Bir okuma işlemin sırasında , aynı veri aralığı üzerinde diğer işlemlerin satır silme veya ekleme işlemi yapması sonucu oluşan sorun. Okuma işlemi yapan işlem , diğer işlem tarafından silinmiş olmasına rağmen veriyi varmış gibi görür. Aynı şekilde aslında var olan bir kayıtı (diğer işlem tarafından eklemiştir) yokmuş olarak kabul eder.

Veri

İlişkisel Veritabanı Sistemlerinde Temel Yalıtım (Isolation) Seviyeleri

İlişkisel veritabanı sistemlerinde temel yalıtım (isolation) seviyeleri en yüksek soyutlamadan en düşüğe doğru aşağıdaki gibidir : 

  • Serializable : Güncellenen (where koşulunda tanımlanan koşullara uyan satırlar eklenemez ve silinemez) veri üzerinde okuma ve yazma olaylarına kilit koyar. 
  • Repeatable Read : Güncellenen veri üzerinde okuma ve yazma olaylarına kilit koyar. 
  • Read Committed : Güncelleme yapılan verilerin diğer işlemler tarafından okunmasını engeller
  • Read Uncommitted : Veri okuma işlemlerinde okuma ve yazma olaylarına hiç bir kilit koymaz


Kavram

Read Uncommitted

Tanım: Bir transaction'ın (işlem) diğer transaction'lar(işlem) ne yaparsa yapsın her zaman verinin eski halini (commit edilmesini beklemeden) okumasını sağlayan en düşük yalıtım seviyesi (isolation level)

Kavram

Read Committed

Tanım: Bir transaction'ın (işlem) güncelleme işlemi tamamlamadan diğer transaction'ların(işlem) işlem yapılan veriyi alamamasını sağlayan yalıtım seviyesi (isolation level). Seçme işlemleri diğer işlemlerin güncelleme işlemlerini bitirmesini (commit edilmesini) bekler.

Veri

Isolation Level (Yalıtım Seviyesi) ve Çözdüğü Sorunlar

Isolation level (yalıtım seviyesi) hangi sorunları çözdüğü aşağıdaki tabloda görülmektedir :

 

Isolation Level Dirty Read (Kirli Okuma) Nonrepeatable Read (Tekrarlanmayan Okuma) Phantom Read (Hayalet Okuma)
Serializable Oluşmaz Oluşmaz Oluşmaz
Repeatable Read Oluşmaz Oluşmaz Oluşabilir
Read Committed Oluşmaz Oluşabilir Oluşabilir
Read Committed Oluşabilir Oluşabilir Oluşabilir

 


Kavram

Serializable

Tanım: İlişkisel veritabanı sistemlerinde en yüksek transaction(işlem) yalıtım seviyesi (isolation level). Bir transaction (işlem) çalışması sırasında işlenen veri üzerinde () diğer transaction'lar (işlem) okuma ve yazma işlemini yapamazlar. Transaction (işlem) çalışması tamamlandıktan sonra diğer transaction'lar (işlem) çalışabilir. Dirty read (kirli okuma), nonrepeatable read (tekarlamasız okuma), phantom read (hayalet okuma) problemleri bu seviyede oluşmaz. Veri güvenliği en yüksek olduğu seviyedir ancak diğer işlemleri bekletmesinden dolayı performansı düşüktür.

Kavram

Repeatable Read

Tanım: İlişkisel veritabanı sistemlerinde bir transaction (işlem) tarafından okunan ve işlenen verinin diğer transaction'lar (işlem) tarafından değiştirememesi ve okunamaması için kullanılan yalıtım seviyesi (isolation level)

Veri

Isolation Level (Yalıtım Seviyesi) Kilitleme (Lock) Özellikleri

Isolation level (yalıtım seviyesi) kilitleme (lock) özellikleri aşağıdaki gibidir : 

 

Isolation Level Yazmayı Kilitleme Okuma Kitleme Satır Aralığı Kilitleme
Serializable Kitler Kitler Kitler
Repeatable Read Kitler Kitler Kitlemez
Read Committed Kitler Paylaşımlı Kitler Kitlemez
Read Uncommitted Kitlemez Kitlemez Kitlemez

 

Not : Kitleme , işlem bitene kadar devam eder. Paylaşımlı kitlemede ise birden fazla satır için aynı anda farklı satırları  farklı işlemlerin okumasına izin verilir


Kavram

Key-Range Lock (Anahtar Aralık Kitleme)

Tanım: Serializable isolation level için where koşulunda geçen (elde edilen veri aralığı için) anahtar sütunları için yapılan kitleme sistemi. Örneğin , update Site set no=1 where Ad='Fibiler' şeklinde bir güncelleme yapılan bir işlem tamamlanmadan Ad değeri "Fibiler" olan hiç bir kayıt eklenemez ve silinemez.

Kavram

Exclusive Lock

Tanım: Bir verinin erişime ve değişmeye kapanması için kullanılan lock (kitleme) sistemi. Bu tür loglanmış bir kaynak işlem tamamlanan kadar hiçbir şekilde erişilemez ve değiştirilemez

Kavram

Shared Lock

Tanım: Bir verinin okumada farklı işlemlerin aynı anda okuyabilmesini sağlayan kitleme sistemi. Birden çok satır içeren verilerde bir okuma bu şekilde payşılarak sağlanır

Kavram

İki Fazlı İşleme - Two Phase Commits

Tanım: Dağıtık sistemlerde kullanılan bir transaction modeli. Birinci fazda tüm farklı node'lar (veya dökümanlarda) yapılan işlemlerin tamamlandığını ve commit'e hazır olduğu bildirilir. İkinci fazda ise tüm farklı node'lar (veya dökümanlar) commit'e hazır hale gelmiş ise yani hrhangi bir hata oluşmamışsa node'lara işlemi gerçekleştir çağrısı yapılır. Eğer node'lardan birinde hata var ise 2. fazda tüm node'lara commit işlemi yapılmaması ve geri alınması istenir. Bu şekilde dağıtık sistemlerde tüm node'larda işlemlerin başarılı olması aksi takdirde hiç bir işlem olmaması sağlanır.



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir