ACID: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
m poprawa linków
m linki zewnętrzne
Linia 1: Linia 1:
{{Inne znaczenia|baz danych|[[Acid1|test Acid1]], [[Acid2|test Acid2]], [[Acid3|test Acid3]]}}
{{Inne znaczenia|baz danych|[[Acid1|test Acid1]], [[Acid2|test Acid2]], [[Acid3|test Acid3]]}}
'''ACID''' – zbiór właściwości, które gwarantują poprawne przetwarzanie [[transakcja (informatyka)|transakcji]] w [[Baza danych|bazach danych]]. '''ACID''' jest skrótem od angielskich słów: '''atomicity''' – ''atomowość'', '''consistency''' – ''spójność'', '''isolation''' – ''izolacja'', '''durability''' – ''[[trwałość (bazy danych)|trwałość]]''.
'''ACID''' – zbiór właściwości, które gwarantują poprawne przetwarzanie [[transakcja (informatyka)|transakcji]] w [[Baza danych|bazach danych]]. '''ACID''' jest skrótem od angielskich słów: '''atomicity''' – ''atomowość'', '''consistency''' – ''spójność'', '''isolation''' – ''izolacja'', '''durability''' – ''[[trwałość (bazy danych)|trwałość]]''.<ref>{{Cytuj książkę|nazwisko = Keith|imię = Mike|tytuł = Pro JPA 2|rok = 2013|wydawca = Apress|miejsce = |strony = 48-49|isbn = 978-1-4302-4926-9}}</ref>


* '''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.

Wersja z 13:42, 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ść.[1]

  • 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 [2]):
  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. Mike Keith: Pro JPA 2. Apress, 2013, s. 48-49. ISBN 978-1-4302-4926-9.
  2. Information Technology - Database Language SQL. CARNEGIE MELLON UNIVERSITY. [dostęp 2015-01-22]. (ang.).