Loading:

Ferie zimowe - 3 za 2

Co to są transakcje? opis i zastosowanie


Transakcja to zbiór operacji (u nas - instrukcji języka SQL), które mogą być wykonane jedynie wszystkie lub żadna.


Nazwa takiego ciągu instrukcji pochodzi od operacji bankowych - przelew musi jednocześnie zabrać z jednego konta i dodać na drugie. W przypadku niepowodzenia żadna z tych operacji nie powinna mieć miejsca. Jeśli zajdzie tylko jedna skutki mogłyby być katastrofalne.

 

Transakcje opisuje zasada ACID - atomowość (Atomicity), spójność (Consistency), izolacja (Isolation) i trwałość (Durability):

  • Atomowość - transakcja może być albo wykonana w całości albo w całości niewykonana.

  • Spójność - stan bazy danych zawsze przedstawia stan przed lub po transakcji. Zapytania składane systemowi w czasie wykonywania transakcji muszą pokazywać sytuację przez transakcją, nie sytuację przejściową.

  • Izolacja - transakcja dzieje się niezależnie od innych wykonywanych operacji, w tym od innych transakcji.

  • Trwałość - w przypadku awarii systemu bazodanowego, np. w wyniku odcięcia elektryczności, transakcja będzie albo wykonana w całości albo wcale nie wykonana.

 

Obsługa transakcji jest bardzo ważna w bazach danych.

 

Systemy plików z journallingiem zmieniają dane systemu plików w sposób transakcyjny. Gwarantuje to że system plików jest stabilny nawet po awarii systemu operacyjnego.

 

Jednak sam zapis do plików nie jest wykonywany transakcyjnie, było by to zbyt kosztowne rozwiązanie. Istnieją jednak metody transakcyjnego zapisu danych do systemu plików - najprostsza to (na Uniksach):

  • zapisujemy plik tymczasowy w którym znajdują się nowe dane. W przypadku krachu w tej fazie mamy stary plik nienaruszony.

  • kasuje się poprzedni plik. Operacja jest atomowa. W przypadku krachu przed skasowaniem mamy oba pliki, w przypadku krachu po skasowaniu ale przed następną fazą mamy nowe dane, choć w złym pliku (należy je później odzyskać kończąc operacje).

  • zmieniamy nazwę pliku. Operacja jest atomowa. Po tej operacji transakcja została dokończona.

 

Sposób niekoniecznie działa po NFS.

 

Źródło: http://gryf.mif.pg.gda.pl/~mate/wyklady/bazy/transakcje.html



Napisz Artykuł

Listing

niema


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=5563

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37719
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors