Tutarlılık (veritabanı sistemleri) - Consistency (database systems)

Tutarlılık içinde veritabanı sistemleri herhangi bir verilen gereksinimi ifade eder veritabanı işlemi etkilenen verileri yalnızca izin verilen şekillerde değiştirmelidir. Veritabanına yazılan herhangi bir veri, aşağıdakiler dahil olmak üzere tanımlanmış tüm kurallara göre geçerli olmalıdır: kısıtlamalar, çağlayanlar, tetikler ve bunların herhangi bir kombinasyonu. Bu, uygulama programcısının isteyebileceği her şekilde işlemin doğruluğunu garanti etmez (bu, uygulama düzeyindeki kodun sorumluluğudur), ancak yalnızca herhangi bir programlama hatasının tanımlanmış herhangi bir veritabanı kısıtlamasının ihlaline neden olamayacağını garanti eder.[1]

ACID garantisi olarak

Tutarlılık, tanımlayan dört garantiden biridir. ASİT işlemler; ancak, bu garantinin doğası hakkında önemli bir belirsizlik vardır. Çeşitli şekillerde tanımlanır:

  • Gelecekte başlatılan herhangi bir işlemin, geçmişte yapılan diğer işlemlerin etkilerini mutlaka görmesinin garantisi[2][3]
  • Garanti veritabanı kısıtlamaları ihlal edilmez, özellikle bir işlem yapıldığında[4][5][6][7]
  • İşlemlerdeki işlemlerin uygulama semantiği açısından doğru, doğru ve geçerliliği ile gerçekleştirildiğinin garantisi[8]

Bu çeşitli tanımlar birbirini dışlamadığından, çoğu kişi gibi, kelimenin her anlamında "tutarlılığı" garanti eden bir sistem tasarlamak mümkündür. ilişkisel veritabanı yönetim sistemleri tartışmalı bugün ortak kullanımda.

Bir CAP takası olarak

CAP teoremi Yazarların belirttiği "atomik tutarlılık" (kısaltma için "tutarlılık" olarak kısaltılmış) olmak üzere üç değiş tokuşa dayanmaktadır, "Atomik tutarlılığın tartışılması, veritabanı tutarlılığı olarak bir ACID veritabanı hakkında konuşmaktan biraz farklıdır işlemlere atıfta bulunurken, atomik tutarlılık yalnızca tek bir istek / yanıt işlem dizisinin bir özelliğini ifade eder. Hem Atomik hem de Tutarlı veritabanı kavramlarını içerdiği için ACID'deki Atomic'den farklı bir anlama sahiptir. "[2] CAP teoreminde, aşağıdaki üç özellikten yalnızca ikisine sahip olabilirsiniz: tutarlılık, kullanılabilirlik veya bölüm toleransı. Bu nedenle, bazı veritabanı sistemlerinde tutarlılığın değiş tokuş edilmesi gerekebilir.

Ayrıca bakınız

Referanslar

  1. ^ C. J. Date, "SQL and Relational Theory: How to Write Accurate SQL Code 2. edition", O'reilly Media, Inc., 2012, sf. 180.
  2. ^ a b http://www.glassbeam.com/sites/all/themes/glassbeam/images/blog/10.1.1.67.6951.pdf "Brewer’ın Varsayımı ve Tutarlı, Kullanılabilir, Bölmeye Toleranslı Web Hizmetlerinin Fizibilitesi"
  3. ^ Limanlar, D.R.K; Clements, A.T; Zhang, ben; Madden, S; Liskov, B. "Bir Uygulama Veri Önbelleğinde İşlem Tutarlılığı ve Otomatik Yönetim" (PDF). Mit Csail.
  4. ^ Haerder, T; Reuter, A. (Aralık 1983). "İşlem Odaklı Veritabanı Kurtarma İlkeleri" (PDF). Bilgi İşlem Anketleri. 15 (4): 287–317. doi:10.1145/289.291. S2CID  207235758.
  5. ^ Mike Chapple. "ASİT Modeli". hakkında.
  6. ^ "ACID özellikleri".
  7. ^ Cory Janssen. "Veritabanlarında ACID nedir? - Techopedia'dan Tanım". Techopedia.com.
  8. ^ "ISO / IEC 10026-1: 1998 - Bilgi teknolojisi - Açık Sistemler Ara Bağlantısı - Dağıtılmış İşlem İşleme - Bölüm 1: OSI TP Modeli".