ACID (; атомичност, конзистентност, изолованост, издржљивост) у рачунарству представља скуп својстава трансакције у базама података намењених да гарантују валидност чак и у случају грешака, нестанка струје, итд. У контексту база података, низ операција са базама података које задовољавају ACID својства (а могу се сматрати као јединствена логичка операција над подацима) назива се трансакција. На пример, , пренос средстава са једног банковног рачуна на други, чак и са вишеструким променама као што су задуживање једног рачуна и кредитирање другог, представља једну трансакцију.

Андреас Ројтер и Тио Хердер су 1983. године исковали акроним ACID као скраћеницу за атомичност, конзистентност, изолованост и издржљивост (), на основу ранијег рада Џима Греја који је набројао атомичност, конзистентност и издржљивост али је изоставио изолованост када је карактерисао концепт трансакције. Ове четири особине описују главне гаранције за парадигму трансакције, која је утицала на многе аспекте развоја у системима база података.

Према Греју и Ројтеру, ИМС је подржао ACID трансакције већ 1973. године (иако је термин ACID дошао касније).Gray, Jim & Andreas Reuter. Distributed Transaction Processing: Concepts and Techniques. Morgan Kaufmann.

Карактеристике

Атомичност Трансакције се често састоје од више изјава. Атомичност гарантује да се свака трансакција третира као јединствена "јединица" која успева потпуно или не успева у потпуности: ако било који од извештаја који чине трансакцију не успе завршити, целокупна трансакција не успе и база података остане непромењена. Атомски систем мора гарантовати атомичност у свакој ситуацији, укључујући и нестанке струје, грешке и падове.

Конзистентност Конзистентност осигурава да трансакција може превести базу података само из једног важећег стања у друго, одржавајући инваријанте базе података: сви подаци уписани у базу података морају бити важећи у складу са свим дефинисаним правилима, укључујући ограничења, каскаде, окидаче и сваку њихову комбинацију. Ово спречава корупцију базе података незаконитим трансакцијама, али не гарантује да је трансакција тачна.

Изолованост Трансакције се често извршавају истовремено (нпр. читање и писање у више табела истовремено). Изолованост осигурава да истовремено извршење трансакција оставља базу података у истом стању које би се добило уколико су трансакције извршене секвенцијално. Изолованост је главни циљ контроле конкуренције; у зависности од коришћеног метода, ефекти непотпуне трансакције можда неће бити видљиви ни за друге трансакције.

Издржљивост Издржљивост гарантује да ће, након што се трансакција заврши, остати сигурна чак и у случају отказивања система (нпр. нестанка струје или пада система). Ово обично значи да су извршене трансакције (или њихови елементи) записани у непроменљивој меморији.

Референце

Категорија:Системи за управљање базама података