BD-2st-1.2-w10.tresc-1.1-Slajd16

From Studia Informatyczne

Algorytmy optymistyczne (1)

Algorytmy optymistyczne (1)


Na zakończenie prezentacji algorytmów zarządzania współbieżnym wykonywaniem transakcji, przedstawimy, krótko, ostatnią z wymienionych wcześniej metod – metodę optymistyczną.

Algorytmy blokowania nazywane są często algorytmami pesymistycznymi zarządzania współbieżnym wykonywaniem transakcji, gdyż zakładają one pesymistyczny scenariusz konfliktów pomiędzy transakcjami – wystąpienie konfliktu jest traktowane jako potencjalne źródło nieuszeregowalności realizacji. Stąd, konflikt pomiędzy transakcjami jest rozwiązywany poprzez blokady lub wycofanie transakcji. Jednakże, w systemach, w których obciążenia danych są niskie, prawdopodobieństwo, że wystąpi konflikt pomiędzy współbieżnie wykonywanymi transakcjami jest niewielkie, a jeszcze mniejsze jest prawdopodobieństwo, że konflikt ten spowoduje nieuszeregowalność realizacji. Z drugiej strony narzut systemowy związany z mechanizmem zakładania i zdejmowania blokad jest wysoki. Podstawowym założeniem metod optymistycznych jest założenie, że konflikty pomiędzy transakcjami występują stosunkowo rzadko (stąd nazwa metody), stąd algorytm powinien być maksymalnie mało restryktywny jeżeli chodzi o ograniczenie dostępu do danych dla współbieżnie wykonywanych transakcji.

Wykonywanie transakcji w metodzie optymistycznej przebiega w trzech fazach:

Fazie odczytu: Transakcje czytają dane z bazy danych. Wprowadzane modyfikacje są przechowywane w lokalnych obszarach roboczych transakcji.

Fazie walidacji: Wykonywana jest walidacja uszeregowalności transakcji. Transakcje nie spełniające kryterium uszeregowalności są wycofywane i restartowane.

Fazie zapisu: Jeżeli faza walidacji zakończy się pomyślnie, modyfikacje transakcji są wprowadzane do bazy danych.


<< Poprzedni slajd | Spis treści | Następny slajd >>