Skip to main content

Jaka jest ostateczna spójność?

Ewentualna spójność jest modelem programowania, w którym programiści przyjęli założenie, że przez wystarczająco długi czas i bez zmian w systemie, obecna wersja konkretnego programu ostatecznie rozkłada się, dopóki każda replika programu będzie spójna.Pojęcie ostatecznej spójności jest stosowane w metodach programowania, takich jak optymistyczna replikacja, rozproszona pamięć współdzielona i transakcje rozproszone.Jeśli chodzi o bazy danych, ostateczna spójność jest osiągana w ramach trzyetapowego procesu.Po pierwsze, rozproszone informacje są udostępniane w systemie;Następnie następuje stan miękki, w którym różni użytkownicy mogą nadal pracować z różnymi wersjami danych;i na koniec osiągnięto spójność, a wszystkie komputery mają dostęp do identycznych danych.

Jeden z najbardziej widocznych sposobów, w jaki stosuje się ewentualną spójność, ma związek z aktualizacjami oprogramowania rozproszonymi online.Przez pierwsze kilka sekund po wydaniu aktualizacji nikt jej nie będzie miał;Użytkownicy oprogramowania nie minęło wystarczająco dużo czasu, aby pobrać i zainstalować aktualizację.To jest dostępny stan;Aktualizacja istnieje, ale nie została jeszcze rozpowszechniona.Z czasem, gdy użytkownicy pobierają aktualizację, niektórzy ją mają, a niektórzy nie.Jednak po wystarczającym czasie każdy, kto korzysta z oprogramowania, będzie aktualizowany do najnowszej wersji.Jest to założenie stanu ostatecznej spójności: biorąc pod uwagę wystarczająco dużo czasu, każda aktualizacja będzie w pełni propagować się w całym systemie.

Gdy system działa na temat ostatecznej spójności, konflikty są nieuniknione.Dzieją się one, gdy wersja programu lub informacje obecnie na komputerze nie pasują do modelowej wersji programu.Programy są zwykle tworzone w celu uznania takich konfliktów i zarządzania nimi.Gdy pliki na określonym komputerze są starsze niż najnowsza modelowa wersja omawianego oprogramowania lub danych, system zwykle zachęca użytkownika do zainicjowania aktualizacji w celu rozwiązania rozbieżności.

Dostępne są trzy możliwe metody, aby wpłynąć na te rozdzielczości: naprawa zapisu, naprawa odczytu i naprawa asynchroniczna.Wszystkie te metody wprowadzają wersję programu lub danych do spójnego modelu.Kluczowa różnica między nimi dotyczy sposobu, w jaki system czasoprzewodny.Wszystkie takie operacje mają zalety i wady.

W naprawie zapisu zmiany kodu przechowywanego na komputerze są dokonywane podczas operacji zapisu, gdy komputer już coś pisze na dysku twardym systemowym.To naprawi niespójność, dostarczając program lub dane do modelu, ale tymczasowo spowalnia oryginalną operację zapisu.W przypadku naprawy odczytu operacja naprawcza występuje podczas cyklu odczytu z dysku twardego.To z kolei spowalnia operację odczytu.Podczas naprawy asynchronicznej naprawa odbywa się, gdy nie nastąpi ani odczytu, ani zapisu, co prowadzi do zużycia cykli bezczynnych na procesorze.