Co to jest rozproszona kontrola współbieżności?

Rozproszona kontrola współbieżności to strategia, która rozkłada odpowiedzialność za kontrolę współbieżności w całej sieci. Współbieżność oznacza, że ​​wszystkie komputery pracują z tą samą wersją tych samych plików. Gdy komputery są połączone w sieć, problemy ze współbieżnością — problemy z utrzymywaniem wszystkich plików w sieci identycznych dla wszystkich użytkowników — wysuwają się na pierwszy plan, ponieważ wielu użytkowników może mieć jednoczesny dostęp do dowolnych autoryzowanych plików i folderów w systemie. Bez wymuszania współbieżności pliki te mogą łatwo stać się niespójne na różnych komputerach, ponieważ użytkownicy zmieniają i manipulują danymi w czasie rzeczywistym, co powoduje, że wszyscy szybko tracą możliwość polegania na plikach sieciowych w miarę wprowadzania zmian. Kontrola współbieżności zapewnia spójność plików w całej sieci, unikając tego problemu.

Główną zaletą rozproszonej kontroli współbieżności jest rozłożenie obciążenia związanego z problemami ze współbieżnością na wiele komputerów, zmniejszając obciążenie każdego z nich. Bez rozproszonej kontroli współbieżności utrzymywanie współbieżności w sieci może łatwo stać się pełnoetatowym zadaniem dla pojedynczego komputera, czyniąc go bezużytecznym do czegokolwiek innego. Dzięki rozproszonej kontroli współbieżności każdy komputer w sieci może współdzielić obciążenie, zapewniając użytkownikom końcowym możliwość korzystania z terminali do innych zadań sieciowych.

Silne ścisłe blokowanie dwufazowe jest jednym z najczęstszych rodzajów rozproszonej kontroli współbieżności. W przypadku silnego, ścisłego blokowania dwufazowego, natychmiast po uzyskaniu dostępu do pojedynczego pliku sieciowego jest on blokowany zarówno dla operacji odczytu, jak i zapisu, aż do zakończenia dostępu. Oznacza to, że tylko jeden użytkownik w sieci może jednocześnie zmienić plik, co uniemożliwia wypadnięcie pliku ze współbieżności w sieci. Gdy użytkownik końcowy zapisze zmiany w pliku lub całkowicie opuści plik, blokady są usuwane, co pozwala innemu użytkownikowi systemu na ponowną obsługę pliku.

Jedną z największych wad silnego ścisłego blokowania dwufazowego jest dodatkowy narzut, jaki nakłada na zasoby sieciowe. Każdy plik w ramach każdego użytkownika musi być oznaczony przez sieć jako „zablokowany”, a informacje te muszą być przechowywane w pamięci do czasu zakończenia blokady. W sumie, gdy setki użytkowników końcowych uruchamiają setki plików w tym samym czasie, może to z łatwością kanibalizować znaczną część pamięci w sieci. Ta nadmierna kanibalizacja pamięci może spowolnić sieci z nieefektywnym lub przestarzałym sprzętem.