Co to jest ostateczna spójność?

Ostateczna spójność to model programowania, w którym programiści przyjmują założenie, że przez wystarczająco długi okres czasu i bez zmian w systemie, bieżąca wersja konkretnego programu ostatecznie rozpowszechni się, dopóki każda replika programu nie będzie spójna. Pojęcie ostatecznej spójności jest stosowane w metodach programowania, takich jak optymistyczna replikacja, rozproszona pamięć współużytkowana i rozproszone transakcje. Jeśli chodzi o bazy danych, ostateczną spójność osiąga się w trzystopniowym procesie. Po pierwsze, rozpowszechniane informacje są udostępniane w systemie; po tym następuje stan miękki, w którym różni użytkownicy mogą nadal pracować z różnymi wersjami danych; i wreszcie osiągnięto spójność, a wszystkie komputery mają dostęp do identycznych danych.

Jednym z najbardziej widocznych sposobów zastosowania ostatecznej spójności jest aktualizacja oprogramowania dystrybuowana online. Przez kilka pierwszych sekund po wydaniu aktualizacji nikt jej nie będzie miał; minęło zbyt mało czasu, aby użytkownicy oprogramowania mogli pobrać i zainstalować aktualizację. Jest to stan „dostępny”; aktualizacja istnieje, ale nie została jeszcze rozpowszechniona. Z czasem, gdy użytkownicy pobiorą aktualizację, niektórzy będą ją mieli, a inni nie. Po upływie wystarczającego czasu wszyscy użytkownicy oprogramowania zostaną zaktualizowani do najnowszej wersji. Jest to przesłanka stojąca za stanem ostatecznej spójności: przy wystarczającym czasie każda aktualizacja zostanie w pełni rozpowszechniona w całym systemie.

Ponieważ system działa na rzecz ostatecznej spójności, konflikty są nieuniknione. Występują one, gdy wersja programu lub informacje aktualnie znajdujące się na komputerze nie pasują do „wersji modelowej” programu. Programy są zwykle konfigurowane w celu rozpoznawania takich konfliktów i zarządzania nimi. Gdy pliki na określonym komputerze są starsze niż najnowsza wersja oprogramowania lub danych danych, system zwykle monituje użytkownika o zainicjowanie aktualizacji w celu usunięcia rozbieżności.

Dostępne są trzy możliwe metody wykonania tych rozdzielczości: naprawa zapisu, naprawa odczytu i naprawa asynchroniczna. Wszystkie te metody dostosowują wersję programu lub danych do spójnego modelu. Kluczowa różnica między nimi ma związek ze sposobem, w jaki system razy naprawia operację. Wszystkie takie operacje mają zalety i wady.

W naprawie zapisu zmiany w kodzie przechowywanym na komputerze są dokonywane podczas operacji zapisu, gdy komputer już zapisuje coś na dysku twardym systemu. Naprawia to niespójność, dostosowując program lub dane do modelu, ale także tymczasowo spowalnia pierwotną operację zapisu. W przypadku naprawy odczytu operacja naprawcza występuje podczas cyklu odczytu z dysku twardego. To z kolei spowalnia operację odczytu. W naprawie asynchronicznej naprawa ma miejsce, gdy nie występuje operacja odczytu ani zapisu, co prowadzi do zużycia wolnych cykli w procesorze.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?