ACID (англ. Atomicity, Consistency, Isolation, Durability) — це набір властивостей, що гарантують надійну роботу транзакцій бази даних: атомарність, узгодженість, ізольованість, довговічність. В контексті баз даних, послідовність операцій з базою даних, яка задовольняє властивостям ACID, можна розглядати як одну логічну операцію над даними. Така послідовність операцій називається транзакцією. Наприклад, переказ коштів з одного банківського рахунку на інший містить численні операції, але є єдиною транзакцією.
1983 року [en] і [en] ввели акронім ACID, ґрунтуючись на вимогах, які сформулював раніше науковець Джим Грей.
Вимоги
За Рейтером та Хардером, вимоги до цих чотирьох властивостей наступні:
Atomicity — Атомарність
Транзакції часто містять в собі багато операцій. Атомарність (англ. Atomicity) гарантує, що жодна транзакція не буде виконана частково. Будуть або виконані всі операції, що беруть участь у транзакції, або не виконано жодної. Якщо протягом роботи однієї з операцій виникне помилка і операцію буде відхилено, то будуть відхилені також усі інші зміни, здійснені в межах транзакції. Система має бути атомарною у кожній ситуації, враховуючи відключення електроенергії, помилки та збої. Гарантія атомарності перешкоджає частковому оновленню бази даних, яке насправді може спричинити ще більші проблеми, аніж оновлення всієї бази в межах однієї транзакції.
Прикладом атомарної транзакції є переказ грошей з рахунку на рахунок, який проходить двома операціями: зняття грошей з першого рахунку та збереження їх на другому. Виконання цих операцій в атомарній транзакції забезпечує узгодженість даних бази, тобто гроші не віднімуться та не зарахуються, якщо одна з цих двох операцій зазнає невдачі.
Consistency — Узгодженість
Відповідно до вимоги узгодженості (англ. Consistency), система має перебувати в узгодженому, несуперечливому стані до початку дії транзакції і по її завершенню. При цьому вона може перебувати в неузгодженому стані протягом виконання транзакції, проте ця неузгодженість не буде видимою за межами транзакції завдяки іншим властивостям — атомарності та ізольованості.
Таким чином, узгодженість гарантує інваріантивність бази даних: будь-які дані, записані в базу, мають відповідати усім визначеним правилам, враховуючи обмеження, каскади, тригери та будь-яку їхню комбінацію. Це запобігає пошкодженню бази даних некоректною транзакцією, але не гарантує правильність транзакції. Посилальну цілісність гарантує відношення унікального ключа до зовнішнього.
Наприклад, при переведенні коштів з рахунку на рахунок, кошти можна спочатку зняти з першого рахунку, після чого нараховувати на другий. Відповідно, після зняття коштів, але до їх нарахування система перебуває в неузгодженому стані: коштів немає на жодному з рахунків. Але після завершення транзакції повна сума перебуватиме на другому (або першому у випадку скасування транзакції) рахунку.
Isolation — Ізольованість
Ізольованість (англ. Isolation) означає, що жодні проміжні зміни не будуть видимі за межами транзакції аж до її завершення. Питання ізоляції стає актуальним при одночасній роботі багатьох транзакцій з тими самими даними. За цією вимогою, якщо дві транзакції намагатимуться змінити одні й ті самі дані, то одну з них буде відхилено або призупинено до завершення другої.
Durability — Довговічність
Довговічність (англ. Durability) гарантує, що незалежно від інших проблем після відновлення працездатності системи результати завершених транзакцій будуть збережені. Іншими словами, якщо користувач отримав повідомлення про успішне завершення транзакції, то він може бути впевнений, що дані будуть збережені та відновлені у випадку збоїв.
Примітки
- Haerder, T.; Reuter, A. (1983). Principles of transaction-oriented database recovery. ACM Computing Surveys. 15 (4): 287. doi:10.1145/289.291.
- Gray, Jim (September 1981). (PDF). Proceedings of the 7th International Conference on Very Large Databases. Cupertino, CA: . с. 144—154. Архів оригіналу (PDF) за 13 листопада 2008. Процитовано 19 квітня 2018.
- . webopedia.com. Webopedia. Архів оригіналу за 27 листопада 2020. Процитовано 23 березня 2011.
An operation during which a processor can simultaneously read a location and write it in the same bus operation. This prevents any other processor or I/O device from writing or reading memory until the operation is complete.
- Amsterdam, Jonathan. . O'Reilly. Архів оригіналу за 3 березня 2016. Процитовано 28 лютого 2016.
- C. J. Date, "SQL and Relational Theory: How to Write Accurate SQL Code 2nd edition", O'reilly Media, Inc., 2012, pg. 180.
- "Isolation Levels in the Database Engine", Technet, Microsoft, https://technet.microsoft.com/en-us/library/ms189122(v=SQL.105).aspx [ 3 вересня 2017 у Wayback Machine.]
Див. також
Література
- Ґрей, Джим; (30 вересня 1992). Transaction Processing: Concepts and Techniques (англійською) (вид. 1-е). 340 Pine Street, Sixth Floor, Сан-Франциско, CA 94104: [ru]. ISBN .(англ.)
Це незавершена стаття про бази даних. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ACID angl Atomicity Consistency Isolation Durability ce nabir vlastivostej sho garantuyut nadijnu robotu tranzakcij bazi danih atomarnist uzgodzhenist izolovanist dovgovichnist V konteksti baz danih poslidovnist operacij z bazoyu danih yaka zadovolnyaye vlastivostyam ACID mozhna rozglyadati yak odnu logichnu operaciyu nad danimi Taka poslidovnist operacij nazivayetsya tranzakciyeyu Napriklad perekaz koshtiv z odnogo bankivskogo rahunku na inshij mistit chislenni operaciyi ale ye yedinoyu tranzakciyeyu 1983 roku en i en vveli akronim ACID gruntuyuchis na vimogah yaki sformulyuvav ranishe naukovec Dzhim Grej VimogiZa Rejterom ta Harderom vimogi do cih chotiroh vlastivostej nastupni Atomicity Atomarnist Tranzakciyi chasto mistyat v sobi bagato operacij Atomarnist angl Atomicity garantuye sho zhodna tranzakciya ne bude vikonana chastkovo Budut abo vikonani vsi operaciyi sho berut uchast u tranzakciyi abo ne vikonano zhodnoyi Yaksho protyagom roboti odniyeyi z operacij vinikne pomilka i operaciyu bude vidhileno to budut vidhileni takozh usi inshi zmini zdijsneni v mezhah tranzakciyi Sistema maye buti atomarnoyu u kozhnij situaciyi vrahovuyuchi vidklyuchennya elektroenergiyi pomilki ta zboyi Garantiya atomarnosti pereshkodzhaye chastkovomu onovlennyu bazi danih yake naspravdi mozhe sprichiniti she bilshi problemi anizh onovlennya vsiyeyi bazi v mezhah odniyeyi tranzakciyi Prikladom atomarnoyi tranzakciyi ye perekaz groshej z rahunku na rahunok yakij prohodit dvoma operaciyami znyattya groshej z pershogo rahunku ta zberezhennya yih na drugomu Vikonannya cih operacij v atomarnij tranzakciyi zabezpechuye uzgodzhenist danih bazi tobto groshi ne vidnimutsya ta ne zarahuyutsya yaksho odna z cih dvoh operacij zaznaye nevdachi Consistency Uzgodzhenist Vidpovidno do vimogi uzgodzhenosti angl Consistency sistema maye perebuvati v uzgodzhenomu nesuperechlivomu stani do pochatku diyi tranzakciyi i po yiyi zavershennyu Pri comu vona mozhe perebuvati v neuzgodzhenomu stani protyagom vikonannya tranzakciyi prote cya neuzgodzhenist ne bude vidimoyu za mezhami tranzakciyi zavdyaki inshim vlastivostyam atomarnosti ta izolovanosti Takim chinom uzgodzhenist garantuye invariantivnist bazi danih bud yaki dani zapisani v bazu mayut vidpovidati usim viznachenim pravilam vrahovuyuchi obmezhennya kaskadi trigeri ta bud yaku yihnyu kombinaciyu Ce zapobigaye poshkodzhennyu bazi danih nekorektnoyu tranzakciyeyu ale ne garantuye pravilnist tranzakciyi Posilalnu cilisnist garantuye vidnoshennya unikalnogo klyucha do zovnishnogo Napriklad pri perevedenni koshtiv z rahunku na rahunok koshti mozhna spochatku znyati z pershogo rahunku pislya chogo narahovuvati na drugij Vidpovidno pislya znyattya koshtiv ale do yih narahuvannya sistema perebuvaye v neuzgodzhenomu stani koshtiv nemaye na zhodnomu z rahunkiv Ale pislya zavershennya tranzakciyi povna suma perebuvatime na drugomu abo pershomu u vipadku skasuvannya tranzakciyi rahunku Isolation Izolovanist Izolovanist angl Isolation oznachaye sho zhodni promizhni zmini ne budut vidimi za mezhami tranzakciyi azh do yiyi zavershennya Pitannya izolyaciyi staye aktualnim pri odnochasnij roboti bagatoh tranzakcij z timi samimi danimi Za ciyeyu vimogoyu yaksho dvi tranzakciyi namagatimutsya zminiti odni j ti sami dani to odnu z nih bude vidhileno abo prizupineno do zavershennya drugoyi Durability Dovgovichnist Dovgovichnist angl Durability garantuye sho nezalezhno vid inshih problem pislya vidnovlennya pracezdatnosti sistemi rezultati zavershenih tranzakcij budut zberezheni Inshimi slovami yaksho koristuvach otrimav povidomlennya pro uspishne zavershennya tranzakciyi to vin mozhe buti vpevnenij sho dani budut zberezheni ta vidnovleni u vipadku zboyiv PrimitkiHaerder T Reuter A 1983 Principles of transaction oriented database recovery ACM Computing Surveys 15 4 287 doi 10 1145 289 291 Gray Jim September 1981 PDF Proceedings of the 7th International Conference on Very Large Databases Cupertino CA s 144 154 Arhiv originalu PDF za 13 listopada 2008 Procitovano 19 kvitnya 2018 webopedia com Webopedia Arhiv originalu za 27 listopada 2020 Procitovano 23 bereznya 2011 An operation during which a processor can simultaneously read a location and write it in the same bus operation This prevents any other processor or I O device from writing or reading memory until the operation is complete Amsterdam Jonathan O Reilly Arhiv originalu za 3 bereznya 2016 Procitovano 28 lyutogo 2016 C J Date SQL and Relational Theory How to Write Accurate SQL Code 2nd edition O reilly Media Inc 2012 pg 180 Isolation Levels in the Database Engine Technet Microsoft https technet microsoft com en us library ms189122 v SQL 105 aspx 3 veresnya 2017 u Wayback Machine Div takozhTeorema CAPLiteraturaGrej Dzhim 30 veresnya 1992 Transaction Processing Concepts and Techniques anglijskoyu vid 1 e 340 Pine Street Sixth Floor San Francisko CA 94104 ru ISBN 9781558601901 angl Ce nezavershena stattya pro bazi danih Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi