Sr-13-wyk-1.0-Slajd25
Aktualizacja wielu kopii – protokół używający kworum (2)
W ramach protokołów stosujących kworum do aktualizacji replik możemy wyodrębnić kilka ich odmian. Rozróżnienie wynika głównie z wielkości liczb r (kworum do odczytu) i w (kworum do zapisu).
Jeżeli r=1 , a w=n (gdzie n jest liczbą wszystkich replik), mamy do czynienia ze specjalnym przypadkiem protokołu, który został zaprezentowany wcześniej jako protokół, który czyta z dowolnej repliki a pisze do wszystkich (ang. read-any – write-all ).
Gdy r=n , a w=1 mamy do czynienia z protokołem, który czyta do czytania wymaga wszystkich replik, natomiast do zapisu tylko jednej (ang. read-all – write-any ). Protokół ten może być wykorzystany szczególnie tam, gdzie liczba operacji zapisu jest znacznie większa od liczby operacji odczytu.
Trzecia odmiana protokołu bazującego na kworum (ang. majority-consensus protocol ) zakłada, że liczba r i w są równe lub prawie równe. Protokołu tego używa się tam, gdzie liczba operacji zapisu i odczytu jest podobna.
Czasami zakłada się również, że niektóre repliki z pewnych względów (np. bezpieczeństwo, wydajność) są ważniejsze od innych. Mamy wtedy do czynienia z podejściem, w którym używa się wag replik do określenia kworum (ang. consensus with weighted voting ). Liczby r i w określają odpowiednio liczbę (sumę wag) potrzebną do wykonania operacji odczytu i zapisu. Warunek, który muszą spełnić liczby r i w zmienia się na warunek (r+w>v ), gdzie v oznacza sumę wszystkich wag przypisanych do replik danego pliku.