ACID: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja przejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
literówka
m linki zewnętrzne
Linia 4: Linia 4:
* '''atomowość transakcji''' oznacza, iż każda transakcja albo wykona się w całości, albo w ogóle, czyli np. jeżeli w ramach jednej transakcji odbywać ma się przelew bankowy (zmniejszenie wartości jednego konta i powiększenie innego o tę samą kwotę), to nie może zajść sytuacja, że z jednego konta ubędzie pieniędzy a kwota na docelowym będzie bez zmian: albo przelew zostanie wykonany w całości, albo w ogóle.
* '''atomowość transakcji''' oznacza, iż każda transakcja albo wykona się w całości, albo w ogóle, czyli np. jeżeli w ramach jednej transakcji odbywać ma się przelew bankowy (zmniejszenie wartości jednego konta i powiększenie innego o tę samą kwotę), to nie może zajść sytuacja, że z jednego konta ubędzie pieniędzy a kwota na docelowym będzie bez zmian: albo przelew zostanie wykonany w całości, albo w ogóle.
* '''spójność transakcji''' oznacza, że po wykonaniu transakcji system będzie spójny, czyli nie zostaną naruszone żadne zasady integralności.
* '''spójność transakcji''' oznacza, że po wykonaniu transakcji system będzie spójny, czyli nie zostaną naruszone żadne zasady integralności.
* '''izolacja transakcji''' oznacza, iż jeżeli dwie transakcje wykonują się współbieżnie, to zazwyczaj (zależnie od poziomu izolacji) nie widzą zmian przez siebie wprowadzanych. Poziom izolacji w bazach danych jest zazwyczaj konfigurowalny i określa, jakich anomalii możemy się spodziewać przy wykonywaniu transakcji. Przykładowe typy izolacji to (model ANSI):
* '''izolacja transakcji''' oznacza, iż jeżeli dwie transakcje wykonują się współbieżnie, to zazwyczaj (zależnie od poziomu izolacji) nie widzą zmian przez siebie wprowadzanych. Poziom izolacji w bazach danych jest zazwyczaj konfigurowalny i określa, jakich anomalii możemy się spodziewać przy wykonywaniu transakcji. Przykładowe typy izolacji to (model ANSI <ref>{{Cytuj stronę|url = http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt|tytuł = Information Technology - Database Language SQL|autor = |data dostępu = 2015-01-22|opublikowany = CARNEGIE MELLON UNIVERSITY|język = Angielski}}</ref>):
# read uncommitted – najniższy poziom izolacji, jedna transakcja może odczytywać wiersze, na których działają inne transakcje,
# read uncommitted – najniższy poziom izolacji, jedna transakcja może odczytywać wiersze, na których działają inne transakcje,
# read committed – transakcja może odczytywać tylko wiersze zapisane,
# read committed – transakcja może odczytywać tylko wiersze zapisane,

Wersja z 12:31, 22 sty 2015

ACID – zbiór właściwości, które gwarantują poprawne przetwarzanie transakcji w bazach danych. ACID jest skrótem od angielskich słów: atomicityatomowość, consistencyspójność, isolationizolacja, durabilitytrwałość.

  • atomowość transakcji oznacza, iż każda transakcja albo wykona się w całości, albo w ogóle, czyli np. jeżeli w ramach jednej transakcji odbywać ma się przelew bankowy (zmniejszenie wartości jednego konta i powiększenie innego o tę samą kwotę), to nie może zajść sytuacja, że z jednego konta ubędzie pieniędzy a kwota na docelowym będzie bez zmian: albo przelew zostanie wykonany w całości, albo w ogóle.
  • spójność transakcji oznacza, że po wykonaniu transakcji system będzie spójny, czyli nie zostaną naruszone żadne zasady integralności.
  • izolacja transakcji oznacza, iż jeżeli dwie transakcje wykonują się współbieżnie, to zazwyczaj (zależnie od poziomu izolacji) nie widzą zmian przez siebie wprowadzanych. Poziom izolacji w bazach danych jest zazwyczaj konfigurowalny i określa, jakich anomalii możemy się spodziewać przy wykonywaniu transakcji. Przykładowe typy izolacji to (model ANSI [1]):
  1. read uncommitted – najniższy poziom izolacji, jedna transakcja może odczytywać wiersze, na których działają inne transakcje,
  2. read committed – transakcja może odczytywać tylko wiersze zapisane,
  3. repeatable read – transakcja nie może czytać, ani zapisywać, na wierszach odczytywanych, bądź zapisywanych w innej transakcji,
  4. serializable – pełna izolacja, wyniki współbieżnie realizowanych zapytań muszą być identyczne z wynikami tych samych zapytań realizowanych szeregowo (ang. nazwa oznacza szeregowalne)

Nie zawsze wszystkie poziomy są implementowane przez producentów, czasami producent wprowadza własne rozwiązania. Np. silnik Oracle wspiera tylko izolację Read Commited i Serializable, w IDS istnieje poziom izolacji Cursor Stability, którego nie ma w modelu ANSI.

  • trwałość danych oznacza, że system potrafi uruchomić się i udostępnić spójne, nienaruszone i aktualne dane zapisane w ramach zatwierdzonych transakcji, na przykład po nagłej awarii zasilania.

Zobacz też

  1. Information Technology - Database Language SQL. CARNEGIE MELLON UNIVERSITY. [dostęp 2015-01-22]. (Błąd! Nieznany kod języka: Angielski. Sprawdź listę kodów.).