Replikacja optymistyczna



Podobne dokumenty
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Systemy Rozproszone. Zagadnienia do egzaminu.

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Programowanie I

Architektura i mechanizmy systemu

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Architektura komputerów

Co zostanie wypisane na ekranie? (1)

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

Wprowadzenie. Dariusz Wawrzyniak 1

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji Git

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS

Rozproszone i obiektowe systemy baz danych. Wykład 4. Wymagania projektowe systemów rozproszonych

1. Zakres modernizacji Active Directory

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

StoreOnce - To więcej niż Backup2Disk

Projektowanie i implementacja infrastruktury serwerów

Middleware wprowadzenie października 2010

Serwery LDAP w środowisku produktów w Oracle

Rozproszone systemy plików Bartosz Grabiec Jerzy Brzeziński Cezary Sobaniec

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

EPA Systemy Sp. z o.o. Przedstawiciel CTERA Networks Ltd w Polsce Tel CTERA

Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

SYNCHRONIZACJA W APLIKACJACH MOBILNYCH

Programowanie współbieżne Wykład 2. Iwona Kochańska

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Wprowadzenie do programowania współbieżnego

EPA Systemy Sp. z o.o. Przedstawiciel CTERA Networks Ltd w Polsce Tel gbi@profipc.pl CTERA

11. Autoryzacja użytkowników

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

PHP: bazy danych, SQL, AJAX i JSON

Szkolenie autoryzowane. MS 6419 Konfiguracja, zarządzanie i utrzymanie systemów Windows Server 2008

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

GIT. Rozproszony system kontroli wersji

Historia modeli programowania

Sieci komputerowe Warstwa transportowa

Spis treści. Księgarnia PWN: Florian Rommel - Active Directory odtwarzanie po awarii. O autorze O recenzentach... 11

Systemy zarządzania wersjami

NIS/YP co to takiego?

Jak bezpieczne są Twoje dane w Internecie?

Tomasz Greszata - Koszalin

Wypożyczalnia VIDEO. Technologie obiektowe

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Active Directory

Szkolenie autoryzowane. MS Projektowanie i wdrażanie infrastruktury serwerowej

Bazy danych 2. Wykład 1

Nieustanny rozwój. Tomasz Leśniewski

Tworzenie aplikacji bazodanowych

Internet to ogólnoświatowy zbiór wzajemnie połączonych ze sobą sieci komputerowych (lokalnych LAN i rozległych WAN). Za datę powstania Internetu

Wybrane działy Informatyki Stosowanej

LDAP to protokół Usługi katalogowe Zakończenie LDAP. Łukasz Zubkowicz. 25 listopada 2009

Włącz autopilota w zabezpieczeniach IT

Migracja serwera Exchange 2003 do wersji Exchange 2010 poradnik

OFFICE ADFS - POŁĄCZENIE KORZYŚCI ROZWIĄZAŃ CHMUROWYCH I CENTRALNEGO ZARZĄDZANIA

Szkolenie autoryzowane. MS Administracja i obsługa Windows 7. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

OPIS JAKOŚCIOWY (wymagania minimalne) ZESTAWIENIE PARAMETRÓW GRANICZNYCH

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

SIECI KOMPUTEROWE. Podstawowe wiadomości

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Architektura potokowa RISC

Windows Serwer 2008 R2. Moduł 3. DNS v.2

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Rozwiązania internetowe iplanet

Projekt: Kompetencje IT na miarę potrzeb wielkopolskich MMŚP Opis autoryzowanych szkoleń Microsoft planowanych do realizacji w ramach projektu

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań,

Metody replikacji baz danych Oracle pomiędzy ośrodkami przetwarzania danych

Systemy GIS Systemy baz danych

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Projekt i implementacja systemu informatycznego synchronizacji plików. w sieci wg ustalonych kryteriów. Maciej Tomaszewski

Skalowalne aplikacje internetowe wysokiej dostępności

Bazy danych. Dr inż. Paweł Kasprowski

PROJEKT WYZWANIE. MEDtube to innowacyjny portal wymiany wiedzy dla lekarzy wykorzystujący techniki multimedialne.

Jaką postać mają informacje w umyśle? Radosław Sterczyński

SZKOLENIE: Administrator baz danych. Cel szkolenia

Szkolenie autoryzowane. MS Administracja Windows Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

MASKI SIECIOWE W IPv4

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Pojęcie bazy danych. Funkcje i możliwości.

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Wybrane działy Informatyki Stosowanej

Fujitsu World Tour 2019

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Sieci komputerowe. Wstęp

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Transkrypt:

.. Replikacja optymistyczna Cezary Sobaniec Instytut Informatyki Politechnika Poznańska v1.0, 2012/11/12

. Replikacja... Replikacja polega na utrzymywaniu wielu kopii (zwanych replikami) na oddzielnych serwerach. Niezawodność ( wiarygodność) Wydajność Dostępność 2012 Cezary Sobaniec Replikacja optymistyczna [1/29]

.... optymistyczna Optymista twierdzi, że żyjemy w najlepszym z możliwych światów, a pesymista obawia się, że jest to prawda [James Branch Cabell, The Silver Stallion] Optymizm jest zawsze wynikiem niedostatecznych informacji [Jacques Tati] 2012 Cezary Sobaniec Replikacja optymistyczna [2/29]

. Czy znacie takie systemy/usługi? DNS Active Directory / LDAP Subversion / Git Web cache NFS, SMB/CIFS BitTorrent MySQL Wszystkie powyższe systemy korzystają z jakiejś formy replikacji optymistycznej 2012 Cezary Sobaniec Replikacja optymistyczna [3/29]

. Tradycja jest... pesymistyczna... bo chce emulować działanie systemu scentralizowanego Blokowanie dostępu do replik na czas aktualizacji ograniczanie współbieżności zwiększanie opóźnień Problem z sieciami rozległymi... i mobilnymi (nasze tableciki, smartfony, itp.) Problem ze skalowalnością 2012 Cezary Sobaniec Replikacja optymistyczna [4/29]

. Przypadek usługi DNS Na początku był plik hosts.txt i FTP 150.254.30.35 sirius 150.254.30.30 libra 2012 Cezary Sobaniec Replikacja optymistyczna [5/29]

. Przypadek usługi DNS Globalna, replikowana, wysoce dostępna baza danych Dostępność jest dużo ważniejsza od ścisłej spójności Aktualizacje mogą być wprowadzane współbieżnie zmiany są stosunkowo rzadkie dotyczą rozłącznych danych Replikacja między serwerami autorytatywnymi Propagacja zmian poprzez przedawnianie między serwerami pomocniczymi 2012 Cezary Sobaniec Replikacja optymistyczna [6/29]

. Przypadek rmy Amazon Bardziej opłaca się wygenerować błąd i zwrócić klientowi pieniądze (+ odszkodowanie) niż dopuścić do opóźnień przy składaniu zamówień ach ta niczym nieograniczona konsumpcja ;-) /watch?v=qppw8km7eeu Amazon Dynamo (NoSQL) 2012 Cezary Sobaniec Replikacja optymistyczna [7/29]

. Założenia optymistycznej replikacji Lepiej jest dopuścić współbieżne mody kacje i później ewentualnie rozwiązać problemy wynikające z ujawnionych kon iktów niż blokować dostęp do danych 2012 Cezary Sobaniec Replikacja optymistyczna [8/29]

. OR vs PR Kluczowa różnica: podejście do zarządzania współbieżnością Podejście pesymistyczne: synchronizacja a priori Podejście optymistyczne: brak wstępnej synchronizacji + ew. sprzątanie Alg. pesymistyczny blokuje a optymistyczny spekuluje Optymistyczne założenie, że: kon ikty są rzadkie jeśli się zdarzają, to mogą być łatwo rozwiązane przez użytkowników 2012 Cezary Sobaniec Replikacja optymistyczna [9/29]

. Zalety OR Wysoka dostępność Skalowalność Elastyczność w odniesieniu do mechanizmów komunikacyjnych lepsze tolerowanie opóźnień 2012 Cezary Sobaniec Replikacja optymistyczna [10/29]

. Wady OR Możliwość wystąpienia kon iktu Kon ikty muszą być dopuszczalne Brak silnej spójności danych 2012 Cezary Sobaniec Replikacja optymistyczna [11/29]

. Przykład: bankomat Podejście pesymistyczne: aktualizacja online stanu konta brak łączności brak możliwości wypłaty Podejście optymistyczne: brak łączności: możliwość wypłaty małej kwoty późniejsze uzgodnienie stanu konta 2012 Cezary Sobaniec Replikacja optymistyczna [12/29]

. Przykład: CVS / Subversion / Git.1 Pobranie kodów źródłowych z serwera.2 Wprowadzenie lokalnych mody kacji.3 Zatwierdzenie zmian.4 Detekcja kon iktu.5 Rozwiązanie kon iktu.6 Ponowne zatwierdzenie zmian 2012 Cezary Sobaniec Replikacja optymistyczna [13/29]

. Funkcjonowanie OR.1 Zgłoszenie aktualizacji.2 Propagacja.3 Szeregowanie.4 Rozwiązanie kon iktów.5 Ostateczne zatwierdzenie Duża autonomia uczestników i asynchronizm przetwarzania Dwa etapy zatwierdzania operacji 2012 Cezary Sobaniec Replikacja optymistyczna [14/29]

. Reprezentacja mody kacji.1 Nowy stan (state-transfer) np. nowa wartość rekordu zasobowego w DNS, nowy stan obiektu w usłudze katalogowej AD / LDAP.2 Operacja z argumentami (operation transfer) np. dopisz do pliku, usuń słowo abc z dokumentu 2012 Cezary Sobaniec Replikacja optymistyczna [15/29]

. Spójność Twierdzenie CAP (Consistency-Availability-Partitioning) Repliki mogą być (i często są) w stanie niespójnym Spójność ostateczna (eventual consistency) Ograniczona rozbieżność (bounded divergence) dopuszczalna liczba niezsynchronizowanych zmian (lub rozmiar) maksymalny czas bez synchronizacji (DNS) 2012 Cezary Sobaniec Replikacja optymistyczna [16/29]

. Spójność S 1 w(x)1 w(x)2 S 2 w(x)2 w(x)1 2012 Cezary Sobaniec Replikacja optymistyczna [17/29]

. Kon ikty Unikanie Detekcja Rozwiązywanie 2012 Cezary Sobaniec Replikacja optymistyczna [18/29]

. Detekcja kon iktów Porządkowanie zapisów.1 Zegary zyczne NTP: dziesiątki µs dla LAN, dziesiątki ms dla WAN.2 Zegary logiczne zegary wektorowe detekcja zależności przyczynowej 2012 Cezary Sobaniec Replikacja optymistyczna [19/29]

. Przykłady kon iktów Rozproszony system plików: współbieżna mody kacja tego samego pliku Systemy wersjonowania dokumentów: mody kacja tego samego fragmentu pliku System kolejkowy: dodawanie i usuwanie obiektów, gdy kolejka jest pusta 2012 Cezary Sobaniec Replikacja optymistyczna [20/29]

. Detekcja kon iktów system plików Coda Wektory wersji przypisane do każdego pliku Liczniki mody kacji pliku na poszczególnych serwerach S 1 S 2 S 3 [1 1 1] K 1 [2 2 2] K 2 [3 3 3] K 1 [4 4 3] AWARIA K 2 [3 3 4] scalanie 2012 Cezary Sobaniec Replikacja optymistyczna [21/29]

. Unikanie kon iktów Pojedyncza replika akceptująca zmiany (single master) Charakter danych: np. Usenet (tylko dopisywanie) Komutatywne struktury danych (Commutative Replicated Data Types) Transformacja operacji (operation transformation) operacje aplikowane są w kolejności przychodzenia ale podlegają transformacji aby dać ten sam efekt 2012 Cezary Sobaniec Replikacja optymistyczna [22/29]

. Operation transformation Serwer 1 Serwer 2 abc abc insert(1, X ) delete(1) Xabc bc delete(1) insert(1, X ) abc Xbc transformacja delete(1) na delete(2) 2012 Cezary Sobaniec Replikacja optymistyczna [23/29]

. CRDT na przykładzie treedoc b / \ 0 / \ 1 / \ a c b / \ delete(0) 0 / \ 1 / \. c b / \ insert(0,x) 0 / / \ 1 \ / 0 / / X a c b / \ insert(0,x) 0 / \ 1 / \. c / 0 / / X b / \ delete(0) 0 / \ 1 / \. c / 0 / / X 2012 Cezary Sobaniec Replikacja optymistyczna [24/29]

. Rozwiązywanie kon iktów Reguła Thomasa: najnowszy zapis wygrywa lost update problem Ponowne wykonywanie we właściwej kolejności w 2 w 1 w 2 np. zapis do pliku Wycofywanie i ponowne wykonanie operacji Transfer stanu 2012 Cezary Sobaniec Replikacja optymistyczna [25/29]

. Problem rozróżnienia aktualizacji i usuwania Serwer 1: update(x,10) delete(x) Serwer 2: delete(x) update(x,10) Nagrobki (tombstones) 2012 Cezary Sobaniec Replikacja optymistyczna [26/29]

. Propagacja zmian Strategia propagacji rozgłoszenie do wszystkich epidemiczna (plotkarska) wszystko lub fragmenty (wykorzystanie wektorów wersji) push lub pull multicast Architektura gwiazda pierścień (ew. ze skrótami) drzewo rozpinające architektura dwuwarstwowa (core +) 2012 Cezary Sobaniec Replikacja optymistyczna [27/29]

. Przyszłość OR Przyszłość jest optymistyczna ;-) Aplikacje dla sieci mobilnych przerywana łączność o zmiennej jakości HTML5 Application Cache Web Storage 2012 Cezary Sobaniec Replikacja optymistyczna [28/29]

Dziękuję za uwagę!