Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Systemy zarządzania bazami danych 13. Strojenie dziennika.

Podobne prezentacje


Prezentacja na temat: "Systemy zarządzania bazami danych 13. Strojenie dziennika."— Zapis prezentacji:

1 Systemy zarządzania bazami danych 13. Strojenie dziennika

2 Oryginał: Shasha & Bonnet213. Strojenie dziennika Atomowość i trwałość Każda transakcja kończy się wycofaniem lub zatwierdzeniem. Nie może zmienić zdania Nawet po awarii: –Wyniki zatwierdzonych transakcji muszą być trwałe –Wyniki wycofanych transakcji muszą całkowicie zniknąć AKTYWNA (działa, czeka) WYCOFANA ZATWIERDZONA COMMIT ROLLBACK Ø BEGIN

3 Oryginał: Shasha & Bonnet313. Strojenie dziennika Awarie, przestoje Środowiskowe –Pożar w serwerowni (Credit Lyonnais, 1996) Operacyjne –Problemy przy rutynowej administracji systemu, konfiguracji, eksploatacji Pielęgnacyjne –Problemy w czasie naprawy i konserwacji systemu Sprzętowe –Usterka fizyczna w urządzeniu: procesor, pamięć, dysk, karta sieciowa Programowe –99% to błędy Heisenberga błędy, który wymykają się próbom wyizolowania warunków ich występowania, nie występują lub zmieniają swoje zachowanie w trakcie próby powtórzenia w tych samych warunkach zwykle związane z synchronizacją lub przeciążeniem nie widać ich śladów po restarcie systemu

4 Oryginał: Shasha & Bonnet413. Strojenie dziennika Przestoje – częstości System tolerujący awarie musi być zabezpieczony na wszystkie rodzaje awarii Problemem jest oprogramowanie –Awarie sprzętu powodują poniżej 10% przestojów –Błędy Heisenberga zatrzymują system, ale nie niszczą danych SZBD chronią integralność danych przy pojedynczych awariach sprzętu i niektórych awariach oprogramowania From J.Gray and A.Reuters Transaction Processing: Concepts and Techniques

5 Oryginał: Shasha & Bonnet513. Strojenie dziennika Architektura SZBD Sprzęt [ Procesor(y), Dysk(i), Pamięć ] System operacyjny Kontrola współbieżności Odtwarzanie Podsystem składu Menedżer buforów

6 Oryginał: Shasha & Bonnet613. Strojenie dziennika Założenia Działa jakaś kontrola współbieżności Modyfikacje są robione w miejscu –Tzn. nowe dane są zapisywane (nadpisywane) w miejsce starych (które są usuwane z dysku) Jakiś prosty schemat zachowywania trwałości i atomowości?

7 Oryginał: Shasha & Bonnet713. Strojenie dziennika Obsługa buforów bazy danych Zapis synchroniczny Zapis asynchroniczny Brak wymiany ramek Wymiana ramek Banał Pożą- dane Force/No force + Steal/No steal

8 Oryginał: Shasha & Bonnet813. Strojenie dziennika Obsługa buforów – rozwiązania Zapis synchroniczny Zapis asynchroniczny Brak wymiany ramek Wymiana ramek Banał Undo redo Undo Redo Undo – dziennik wycofań Redo – dziennik powtórzeń

9 Oryginał: Shasha & Bonnet913. Strojenie dziennika Prowadzenie dziennika Dziennik zawiera informację do powtórzeń (redo) i wycofań (undo) –Sekwencyjne zapisy do dziennika (umieść go a oddzielnym dysku). –Minimalizacja informacji zapisywanych do dziennika, żeby wiele modyfikacji zmieściło się na jednej stronie Dziennik: Uporządkowana lista akcji REDO/UNDO –Wpis do dziennika zawiera: (IDTrans, IDStrony, offset, długość, stare dane, nowe dane) –Dodatkowe informacje sterujące Obecny stan bazy danych = obecny stan danych na dysku + dziennik

10 Oryginał: Shasha & Bonnet1013. Strojenie dziennika Zapis wyprzedzający (WAL) WAL = Write-Ahead Logging Protokół zapisu wyprzedzającego Wymusza zrzut wpisu dziennika na dysk przed zapisem odpowiedniej strony na dysk Gwarantuje atomowość Wymusza zrzut wpisów dziennika z transakcji, zanim zakończy się jej zatwierdzenie Gwarantuje trwałość Algorytm ARIES opracowany przez C.Mohan w IBM Almaden na początku lat 90-tych XX wieku –

11 Oryginał: Shasha & Bonnet1113. Strojenie dziennika DZIEN- NIK DANE SKŁADOWISKO TRWAŁE SKŁADOWISKO NIETRWAŁE ZRZUĆ wpisy dziennika przez COMMIT ZAPISZ Zmodyfikowane strony przed/po COMMIT ODTWARZANIE Si Si Sj Sj BUFOR BAZY DANYCH BUFOR DZIENNIKA wiwiwjwj

12 Oryginał: Shasha & Bonnet1213. Strojenie dziennika Dzienniki w SQL Server 2000 Wolny bufor dziennika Zapełniony bufor dz. Bieżący bufor dz. Zapełniony bufor dz. Pisarz gorliwy Kolejka do zrzutu Procesy czekające DZIEN- NIK DANE wolne Si Si Sj Sj Wpis dziennika: - LSN (zegar logiczny) - obraz fizyczny przed lub po, albo operacje logiczne Pisarz leniwy Synchroniczne I/OAsynchroniczne I/O DB2 UDB v7 ma podobnie BUFOR BAZY DANYCH

13 Oryginał: Shasha & Bonnet1313. Strojenie dziennika Dzienniki Oracle 8i Segmenty wycofań (stały rozmiar) Obraz po (wpisy REDO) Bufor dziennika (domyślnie 32 KB) Si Si Sj Sj Lista wolnych BUFOR BAZY DANYCH DZIENNIK DANE Segmenty wycofań Plik #1 Plik #2 LGWR (pisarz dziennika) DBWR (pisarz bazy danych) Obrazy przed

14 Oryginał: Shasha & Bonnet1413. Strojenie dziennika Dziennik na oddzielnym dysku Zapisy do dziennika są sekwencyjne (szczególny profil dostępu) Zapisy na dysk są (co najmniej) 100 razy szybsze, gdy są sekwencyjne, niż gdy są losowe Dysk z dziennikiem nie powinien zawierać nic innego + sekwencyjne I/O + awaria nośnika dziennika niezależna od nośnika bazy danych

15 Oryginał: Shasha & Bonnet1513. Strojenie dziennika Dziennik oddzielnie – eksperymenty transakcji. Każda ma instrukcję INSERT. –DB2 UDB v7.1 5 % większa wydajność gdy dziennik jest na oddzielnym dysku Pamięć podręczna sterownika trochę tłumi negatywny wpływ –Średniej klasy serwer, z kontrolerem Adaptec RAID (80Mb RAM) i dwoma dyskami 18GB

16 Oryginał: Shasha & Bonnet1613. Strojenie dziennika Grupowe zatwierdzenia transakcji. Każda zawiera zdanie INSERT. –DB2 UDB v7.1 Wpisy dziennika różnych transakcji są zapisywane razem –Zwiększa przepustowość poprzez obniżenie liczby zapisów –Kosztem jest za to większy średni czas oczekiwania

17 Oryginał: Shasha & Bonnet1713. Strojenie dziennika Strojenie zapisów bazy danych Brudne dane są zapisywane na dysk, gdy –liczba brudnych stron przekroczy wartość graniczną (np. parametr w Oracle8) –odsetek brudnych stron przekroczy wartość graniczną (np. 3% wolnych buforów w SQL Server 7) –Wykonywany jest punkt kontrolny w regularnych odstępach czasu gdy dziennik jest pełny (Oracle 8).

18 Oryginał: Shasha & Bonnet1813. Strojenie dziennika Strojenie odstępów punktów kontrolnych Punkt kontrolny (częściowy zrzut brudnych strona na dysk) odbywa się w stałych odstępach lub po zapełnieniu dziennika: –Wpływa na wydajność bazy +Pozwala obciąć dziennik +Zmniejsza czas odtwarzania transakcji. Każda ma polecenie INSERT. –Oracle 8i na Windows 2000

19 Oryginał: Shasha & Bonnet1913. Strojenie dziennika Zmniejsz rozmiar długich transakcji modyfikujących Wsadowa transakcja z dużą liczbą modyfikacji (dostęp współbieżny nie jest problemem): Lepiej ją podzielić na mniejsze: + Łatwiejsze odtwarzanie + Nie przepełni bufora dziennika Przykład: Transakcja, która w określonym porządku przetwarza i modyfikuje konta, na których były zmiany danego dnia Podziela ją na mniejsze wsady po kont i dodaj licznik, żeby pamiętać, co już jest zrobione


Pobierz ppt "Systemy zarządzania bazami danych 13. Strojenie dziennika."

Podobne prezentacje


Reklamy Google