Nihai tutarlılık, programcıların yeterince uzun bir süre boyunca ve bir sistemde değişiklik yapmadan, belirli bir programın geçerli sürümünün programın her kopyası tekrarlanıncaya kadar dağıtılacağı varsayımını yapan bir programlama modelidir. Nihai tutarlılık kavramı, iyimser çoğaltma, dağıtılmış paylaşılan hafıza ve dağıtılmış işlemler gibi programlama yöntemlerinde kullanılır. Veritabanlarıyla ilgili olarak, nihai tutarlılık üç adımlı bir işlemle elde edilir. İlk olarak, dağıtılan bilgiler sistemde kullanıma sunulur; bunu, farklı kullanıcıların hala verilerin farklı sürümleriyle çalışabileceği yumuşak bir durum izler; Sonunda tutarlılık sağlanmış ve tüm bilgisayarların aynı verilere erişimi var.
Nihai tutarlılığın uygulanmasının en göze çarpan yollarından biri çevrimiçi dağıtılan yazılım güncellemeleriyle ilgilidir. Bir güncelleme yayınlandıktan sonraki ilk birkaç saniye boyunca, hiç kimse yok; yazılımı kullananlar için güncellemeyi indirip yüklemek için yeterli zaman geçmedi. Bu "uygun" durumdur; güncelleme var, ancak henüz dağıtılmamış. Zaman içinde, kullanıcılar güncellemeyi indirirken, bazıları sahip olacak ve bazıları almayacaktır. Yeterli zaman geçtikten sonra, yazılımı kullanan herkes en son sürüme güncelleyecektir. Bu, nihai tutarlılık durumunun ardındaki öncüldür: Yeterli zaman verildiğinde, herhangi bir güncelleme tamamen sistem genelinde yayılır.
Sistem nihai tutarlılığa doğru çalıştığı için çatışmalar kaçınılmazdır. Bunlar, halihazırda bilgisayardaki program sürümü veya bilgiler programın "model sürümü" ile eşleşmediğinde ortaya çıkar. Programlar genellikle bu tür çatışmaları tanımak ve bunları yönetmek için kurulur. Belirli bir bilgisayardaki dosyalar söz konusu yazılımın veya söz konusu verilerin en son model sürümünden daha eskiyse, sistem genellikle kullanıcıdan eşitsizliği gidermek için bir güncelleme başlatmasını ister.
Bu çözünürlükleri etkilemek için üç olası yöntem mevcuttur: onarım yazma, onarım okuma ve asenkron onarım. Bu yöntemlerin tümü programın sürümünü veya verileri tutarlı modelle uyumlu hale getirir. Bunların arasındaki temel fark, sistemin onarım operasyonunu zamanlaması ile ilgilidir. Tüm bu işlemlerin faydaları ve sakıncaları vardır.
Yazma onarımında, bilgisayarda saklanan kod değişiklikleri, bilgisayar zaten sistemin sabit diskine bir şeyler yazarken yazma işlemi sırasında yapılır. Bu, program veya verileri modele uygun hale getirerek tutarsızlığı giderir, ancak orijinal yazma işlemini geçici olarak yavaşlatır. Bir okuma onarımı için, düzeltici işlem sabit sürücüden bir okuma döngüsü sırasında gerçekleşir. Bu da okuma işlemini yavaşlatır. Asenkron onarımda, ne okuma ne de yazma işlemi olmadığında onarım gerçekleşir ve bu da CPU üzerinde boşta döngülerin tüketilmesine neden olur.


