Skip to content
Skip to content
Menu
Info Cafe
Info Cafe

DBMS – Transakcja

By admin on 3 lutego, 2021
Ogłoszenia

Transakcję można zdefiniować jako grupę zadań. Pojedyncze zadanie jest minimalną jednostką przetwarzania, która nie może być dalej dzielona.

Przyjmijmy przykład prostej transakcji. Załóżmy, że pracownik banku przelewa 500 Rs z konta A na konto B. Ta bardzo prosta i mała transakcja obejmuje kilka zadań niskiego poziomu.

Konto A

Open_Account(A)Old_Balance = A.balanceNew_Balance = Old_Balance - 500A.balance = New_BalanceClose_Account(A)

Konto B

Open_Account(B)Old_Balance = B.balanceNew_Balance = Old_Balance + 500B.balance = New_BalanceClose_Account(B)

WłaściwościACID

Transakcja jest bardzo małą jednostką programu i może zawierać kilka zadań niskiego poziomu. Transakcja w systemie bazodanowym musi zachować Atomowość, Spójność, Izolację i Trwałość – powszechnie znane jako właściwości ACID – aby zapewnić dokładność, kompletność i integralność danych.

  • Atomowość – Ta właściwość mówi, że transakcja musi być traktowana jako jednostka atomowa, to znaczy, że albo wszystkie jej operacje są wykonywane, albo żadna. W bazie danych nie może istnieć stan, w którym transakcja jest pozostawiona częściowo zakończona. Stany powinny być definiowane albo przed wykonaniem transakcji, albo po jej wykonaniu/zerwaniu/porażce.

  • Skonsekwencja – Baza danych musi pozostawać w spójnym stanie po każdej transakcji. Żadna transakcja nie powinna mieć negatywnego wpływu na dane rezydujące w bazie. Jeśli baza danych była w spójnym stanie przed wykonaniem transakcji, musi pozostać spójna również po jej wykonaniu.

  • Trwałość – Baza danych powinna być na tyle trwała, aby utrzymać wszystkie swoje ostatnie aktualizacje nawet w przypadku awarii lub restartu systemu. Jeśli transakcja zaktualizuje fragment danych w bazie danych i ją zatwierdzi, to baza danych będzie przechowywała zmodyfikowane dane. Jeśli transakcja zostanie wykonana, ale system ulegnie awarii zanim dane zostaną zapisane na dysku, dane te zostaną zaktualizowane po ponownym uruchomieniu systemu.

  • Izolacja – W systemie baz danych, w którym więcej niż jedna transakcja jest wykonywana jednocześnie i równolegle, właściwość izolacji mówi, że wszystkie transakcje będą przeprowadzane i wykonywane tak, jakby była to jedyna transakcja w systemie. Żadna transakcja nie będzie miała wpływu na istnienie jakiejkolwiek innej transakcji.

Serializowalność

Gdy wiele transakcji jest wykonywanych przez system operacyjny w środowisku wieloprogramowym, istnieje możliwość, że instrukcje jednej transakcji są przeplatane z jakąś inną transakcją.

  • Harmonogram – Chronologiczna sekwencja wykonania transakcji jest nazywana harmonogramem. Harmonogram może zawierać wiele transakcji, z których każda składa się z pewnej liczby instrukcji/zadań.

  • Seryjny harmonogram – Jest to harmonogram, w którym transakcje są ustawione w taki sposób, że jedna z nich jest wykonywana jako pierwsza. Gdy pierwsza transakcja zakończy swój cykl, wówczas wykonywana jest następna. Transakcje są uporządkowane jeden po drugim. Ten typ harmonogramu nazywany jest harmonogramem szeregowym, ponieważ transakcje wykonywane są w sposób szeregowy.

W środowisku wielotransakcyjnym harmonogramy szeregowe traktowane są jako wzorzec. Sekwencja wykonania instrukcji w transakcji nie może być zmieniona, ale dwie transakcje mogą mieć swoje instrukcje wykonane w sposób losowy. Takie wykonanie nie wyrządza żadnej szkody, jeśli dwie transakcje są wzajemnie niezależne i pracują na różnych segmentach danych; ale w przypadku, gdy te dwie transakcje pracują na tych samych danych, wtedy wyniki mogą się różnić. Ten ciągle zmieniający się rezultat może doprowadzić bazę danych do niespójnego stanu.

Aby rozwiązać ten problem, pozwalamy na równoległe wykonywanie harmonogramu transakcji, jeśli jego transakcje są albo serializowalne, albo mają jakąś relację równoważności między sobą.

Równoważność harmonogramów

Równoważność harmonogramów może być następującego typu –

Równoważność rezultatów

Jeśli dwa harmonogramy dają ten sam rezultat po wykonaniu, mówi się, że są równoważne rezultatom. Mogą one dawać ten sam wynik dla niektórych wartości i różne wyniki dla innego zestawu wartości. Z tego powodu równoważność ta nie jest ogólnie uważana za znaczącą.

Równoważność widokowa

Dwa harmonogramy będą równoważne widokowo, jeśli transakcje w obu harmonogramach wykonują podobne akcje w podobny sposób.

Na przykład –

  • Jeśli T odczytuje dane początkowe w S1, to odczytuje również dane początkowe w S2.

  • Jeśli T odczytuje wartość zapisaną przez J w S1, to odczytuje również wartość zapisaną przez J w S2.

  • Jeśli T wykonuje końcowy zapis na wartości danych w S1, to wykonuje również końcowy zapis na wartości danych w S2.

Równoważność konfliktów

Dwa harmonogramy będą konfliktowe, jeśli będą miały następujące właściwości –

  • Oba należą do oddzielnych transakcji.
  • Oba mają dostęp do tego samego elementu danych.
  • Przynajmniej jeden z nich jest operacją „zapisu”.

Dwa harmonogramy posiadające wiele transakcji z kolidującymi operacjami są równoważne konfliktowo wtedy i tylko wtedy, gdy –

  • Oba harmonogramy zawierają ten sam zestaw transakcji.
  • Porządek kolidujących par operacji jest zachowany w obu harmonogramach.

Uwaga – Harmonogramy równoważne pod względem widoku są serializowalne pod względem widoku, a harmonogramy równoważne pod względem konfliktu są serializowalne pod względem konfliktu. Wszystkie harmonogramy serializowalne w konflikcie są również serializowalne w widoku.

Stany transakcji

Transakcja w bazie danych może być w jednym z następujących stanów –

Stany transakcji

  • Aktywny – W tym stanie transakcja jest wykonywana. Jest to stan początkowy każdej transakcji.

  • Częściowo zaangażowana – Kiedy transakcja wykonuje swoją ostatnią operację, mówi się, że jest w stanie częściowego zaangażowania.

  • Nieudana – Transakcja jest w stanie nieudanej transakcji, jeśli którakolwiek z kontroli wykonywanych przez system odzyskiwania bazy danych nie powiedzie się. Nieudana transakcja nie może być dalej kontynuowana.

  • Aborted – Jeśli którakolwiek z kontroli nie powiedzie się i transakcja osiągnęła stan niepowodzenia, wówczas menedżer odzyskiwania wycofuje wszystkie swoje operacje zapisu na bazie danych, aby przywrócić bazę danych do jej pierwotnego stanu, w którym znajdowała się przed wykonaniem transakcji. Transakcje w tym stanie nazywane są przerwanymi. Moduł odzyskiwania bazy danych może wybrać jedną z dwóch operacji po przerwaniu transakcji –

    • Re-start transakcji
    • Kill transakcji
  • Zatwierdzona – Jeśli transakcja wykona wszystkie swoje operacje pomyślnie, mówi się, że jest zatwierdzona. Wszystkie jej efekty są teraz trwale utrwalone w systemie bazy danych.

Ogłoszenia

Zobacz wpisy

Best Raw Dog Food Delivery: Ship It Straight To Your Door
Kluczowe mięśnie używane w bieganiu: 5 głównych grup mięśniowych [Ultimate Guide]

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Najnowsze wpisy

  • Firebush (Polski)
  • Prognoza stawek CD na 2021 rok: Stopy procentowe prawdopodobnie pozostaną na niskim poziomie, ale mogą wzrosnąć w dalszej części roku
  • Jak ustrukturyzować dokumentację systemu zarządzania jakością
  • Zdrowe Gry i Zajęcia dla Dzieci | UIC Online Informatics
  • Wheat Ales (American) (Polski)
  • Korzyści z karmienia piersią po roku
  • Czy bezpiecznie jest wrzucać fusy z kawy do zlewu | Atomic Plumbing
  • Cool-Down After Your Workout (Polski)
  • Nasza praca
  • Najlepsza ręczna maszyna do szycia do kupienia: 2020

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • WordPress.org

Archiwa

  • Marzec 2021
  • Luty 2021
  • Styczeń 2021
  • Grudzień 2020
  • DeutschDeutsch
  • NederlandsNederlands
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • PolskiPolski
  • 日本語日本語
©2021 Info Cafe | WordPress Theme by SuperbThemes.com