Atomisite (veritabanı sistemleri) - Atomicity (database systems)

İçinde veritabanı sistemleri, atomiklik (/ˌætəˈmɪsətben/; itibaren Antik Yunan: ἄτομος, Romalıátomos, Aydınlatılmış.  'bölünemez') biridir ASİT (Atomiklik, Tutarlılık, İzolasyon, Dayanıklılık ) işlem özellikleri. Bir atomik işlem bir bölünmez ve indirgenemez bir dizi veritabanı işlemi, öyle ki herşey meydana gelir veya hiçbir şey değil oluşur.[1] Atomiklik garantisi, veri tabanında yapılan güncellemelerin yalnızca kısmen gerçekleşmesini engeller, bu da tüm seriyi tamamen reddetmekten daha büyük sorunlara neden olabilir. Sonuç olarak, işlemin başka bir veritabanı istemcisi tarafından devam ettiği gözlemlenemez. Zamanın bir anında, henüz gerçekleşmedi ve bir sonraki anda zaten tamamen gerçekleşti (veya işlem devam ederken iptal edildiyse hiçbir şey olmadı).

Atomik işlemin bir örneği A banka hesabından B hesabına para transferidir.Bu iki işlemden oluşur, paranın A hesabından çekilmesi ve B hesabına kaydedilmesi. a tutarlı durum yani, bu iki işlemden biri başarısız olursa para ne kaybedilir ne de yaratılır.[2]

Diklik

Atomiklik tam olarak davranmıyor ortogonal olarak diğerine göre ASİT işlemlerin özellikleri. Örneğin, izolasyon izolasyon başarısızlıkları durumunda değişiklikleri geri almak için atomikliğe güvenir. kilitlenme; tutarlılık ayrıca, yasadışı bir işlemden kaynaklanan bir tutarlılık ihlali durumunda geri dönüşe güvenir. Son olarak, atomitenin kendisi güvenir dayanıklılık harici arızalar karşısında bile işlemlerin atomikliğini sağlamak.

Bunun bir sonucu olarak, hataları tespit edememek ve çevreleyen işlemi geri almak, izolasyon ve tutarlılık hatalarına neden olabilir.

Uygulama

Tipik olarak sistemler, hangi işlemlerin başladığını ve hangisinin bittiğini gösteren bir mekanizma sağlayarak Atomicity'yi uygular; veya herhangi bir değişiklik meydana gelmeden önce verilerin bir kopyasını saklayarak (oku-kopyala-güncelle ). Birkaç dosya sistemi, günlük kaydı kullanarak birden çok veri kopyası tutma ihtiyacını ortadan kaldırmak için yöntemler geliştirmiştir (bkz. günlük kaydı dosya sistemi ). Veritabanları, değişiklikleri izlemek için genellikle bunu bir tür günlük kaydı / günlük kaydı kullanarak uygular. Sistem günlükleri senkronize eder (genellikle meta veriler ) değişiklikler başarıyla gerçekleştirildikten sonra gerektiği şekilde. Daha sonra, çökme kurtarma tamamlanmamış girişleri yok sayar. Uygulamalar, eşzamanlılık sorunları gibi faktörlere bağlı olarak değişiklik gösterse de atomiklik ilkesi - yani tam başarı veya tam başarısızlık - kalır.

Nihayetinde, herhangi bir uygulama düzeyindeki uygulama, işletim sistemi işlevsellik. Dosya sistemi düzeyinde, POSIX uyumlu sistemler sağlar sistem çağrıları gibi açık (2) ve sürü (2) uygulamaların bir dosyayı atomik olarak açmasına veya kilitlemesine izin veren. Süreç düzeyinde, POSIX Konuları yeterli senkronizasyon ilkelleri sağlayın.

Donanım seviyesi şunları gerektirir: atomik işlemler gibi Test et ve ayarla, Getir ve ekle, Karşılaştır ve değiştir veya Yük Bağlantısı / Mağaza Koşullu, birlikte hafıza engelleri. Taşınabilir işletim sistemleri, eşzamanlı yürütmeden yoksun olan donanımdan dolayı, senkronizasyon uygulamak için kesintileri basitçe engelleyemez. hiper iş parçacığı veya çoklu işlem artık çok nadirdir.[kaynak belirtilmeli ]

Ayrıca bakınız

Referanslar

  1. ^ "atomik işlem". http://www.webopedia.com/: Webopedia. Alındı 2011-03-23. Bir işlemcinin aynı anda bir konumu okuyabildiği ve aynı veri yolu işleminde yazabildiği bir işlem. Bu, işlem tamamlanana kadar diğer herhangi bir işlemcinin veya G / Ç aygıtının belleğe yazmasını veya okumasını engeller.
  2. ^ Amsterdam, Jonathan. "Atomik Dosya İşlemleri, Bölüm 1". O'Reilly. Arşivlenen orijinal 2016-03-03 tarihinde. Alındı 2016-02-28.