Właściwości ACID
Ukuty przez pionierów przetwarzania transakcji, skrót ACID oznacza niepodzielne, spójne, izolowane i trwałe. Aby zapewnić przewidywalne zachowanie, wszystkie transakcje muszą posiadać te podstawowe właściwości, wzmacniając rolę transakcji o znaczeniu krytycznym jako propozycje typu "wszystkie lub żadne".
Poniższa lista zawiera definicję i opis każdej właściwości ACID:
-
Niepodzielna
-
Transakcja musi być wykonywana dokładnie raz i musi być niepodzielna — wszystkie prace są wykonywane lub żadna z nich. Operacje w ramach transakcji zwykle współdzielą wspólną intencję i są zależne. Wykonując tylko podzbiór tych operacji, system może naruszyć ogólną intencję transakcji. Niepodzielność eliminuje prawdopodobieństwo przetwarzania tylko podzestawu operacji.
-
spójne
-
Transakcja musi zachować spójność danych, przekształcając jeden spójny stan danych w inny spójny stan danych. Znaczna część odpowiedzialności za utrzymanie spójności spada do dewelopera aplikacji.
-
izolowana
-
Transakcja musi być jednostką izolacji, co oznacza, że współbieżne transakcje powinny zachowywać się tak, jakby każda była jedyną transakcją uruchomioną w systemie. Ze względu na to, że wysoki stopień izolacji może ograniczyć liczbę współbieżnych transakcji, niektóre aplikacje zmniejszają poziom izolacji w zamian za lepszą przepływność. Aby uzyskać więcej informacji, zobacz Konfigurowanie poziomów izolacji transakcji.
-
Durable
-
Transakcja musi być odzyskiwalna i w związku z tym musi mieć trwałość. Jeśli transakcja zostanie zatwierdzeń, system gwarantuje, że jego aktualizacje będą utrwalane nawet wtedy, gdy komputer ulegnie awarii natychmiast po zatwierdzeniu. Wyspecjalizowane rejestrowanie umożliwia procedurę ponownego uruchamiania systemu w celu ukończenia niedokończonych operacji wymaganych przez transakcję, co sprawia, że transakcja jest trwała.