У системах баз даних, атомарність ([ˌætəˈmɪsəti], від дав.-гр. ἄτομος, трансліт. átomos, латиніз. undividable) є однією з властивостей транзакції ACID (атомарність, узгодженість, ізоляція, довговічність). Атомарна транзакція — це неподільна і незвідна серія операцій з базою даних, при якій або відбувається все, або нічого не відбувається. Гарантія атомарності запобігає оновленню бази даних лише частково, що може спричинити більші проблеми, ніж повне відхилення всієї серії. Як наслідок, інший клієнт бази даних не може спостерігати за транзакцією. В один момент часу це ще не відбулося, а в наступний це вже відбулося повністю (або нічого не сталося, якщо транзакція була скасована в процесі).
Прикладом атомарної транзакції є грошовий переказ з банківського рахунку A на рахунок B. Він складається з двох операцій: зняття грошей з рахунку A та збереження на рахунок B. Виконання цих операцій у атомарній транзакції гарантує, що база даних залишається в узгодженому стані, тобто гроші не втрачаються і не створюються, якщо жодна з цих двох операцій не виконалась.
Цей же термін також використовується у визначенні першої нормальної форми в системах баз даних, де він натомість відноситься до концепції, що значення для полів не можуть складатися з кількох менших значень, які потрібно розкласти, наприклад, рядок, у якого є кілька імен, чисел, дат або можуть міститись інші типи.
Ортогональність
Атомарність не веде себе повністю ортогонально щодо інших властивостей ACID транзакцій. Наприклад, ізоляція покладається на атомарність для відкоту змін у разі збоїв ізоляції, таких як блокування; узгодженість також покладається на відкат у разі порушення послідовності незаконною транзакцією. Врешті-решт, сама атомарність покладається на довговічність, щоб забезпечити атомарність транзакцій навіть у разі зовнішніх збоїв.
Внаслідок цього неможливість виявлення помилок та відкат вкладеної транзакції може призвести до збоїв ізоляції та узгодженості.
Реалізація
Як правило, системи реалізують атомарність, забезпечуючи певний механізм, щоб вказати, які транзакції розпочалися, а які закінчилися; або зберігаючи копію даних до будь-яких змін (читання-копіювання-оновлення). Кілька файлових систем розробили методи, щоб уникнути необхідності зберігати множинні копії даних, використовуючи ведення журналу (див. ведення журналу файлової системи). Бази даних зазвичай реалізують це за допомогою певної форми ведення журналу для відстеження змін. Система синхронізує журнали (часто метадані) за необхідності після успішного внесення змін. Після цього відновлення після провалу ігнорує неповні записи. Хоча реалізації відрізняються залежно від таких факторів, як проблеми з паралельністю, принцип атомарності, тобто повний успіх або повний провал, залишається.
Зрештою, будь-яка реалізація на рівні програми покладається на функціональність операційної системи . На рівні файлової системи POSIX-сумісні системи забезпечують системні виклики, такі як open(2)
і flock(2),
які дозволяють програмам атомарно відкривати або блокувати файл. На рівні процесу потоки POSIX забезпечують адекватні примітиви синхронізації.
Апаратний рівень вимагає атомарних операцій, таких як Test-and-set, Fetch-and-add, Compare-and-swap, або Load-Link/Store-Conditional, разом із бар'єрами пам'яті. Портативні операційні системи не можуть просто блокувати переривання для реалізації синхронізації, оскільки апаратне забезпечення, яке не виконує одночасне виконання, таке як гіперпотокове або багатопроцесорне, зараз надзвичайно рідкісне.
Див. також
- Атомна операція
- Обробка транзакцій
- Довготривала транзакція
- Читати-копіювати-оновлювати
Примітки
- . http://www.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.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U sistemah baz danih atomarnist ˌ ae t e ˈ m ɪ s e t i vid dav gr ἄtomos translit atomos latiniz undividable ye odniyeyu z vlastivostej tranzakciyi ACID atomarnist uzgodzhenist izolyaciya dovgovichnist Atomarna tranzakciya ce nepodilna i nezvidna seriya operacij z bazoyu danih pri yakij abo vidbuvayetsya vse abo nichogo ne vidbuvayetsya Garantiya atomarnosti zapobigaye onovlennyu bazi danih lishe chastkovo sho mozhe sprichiniti bilshi problemi nizh povne vidhilennya vsiyeyi seriyi Yak naslidok inshij kliyent bazi danih ne mozhe sposterigati za tranzakciyeyu V odin moment chasu ce she ne vidbulosya a v nastupnij ce vzhe vidbulosya povnistyu abo nichogo ne stalosya yaksho tranzakciya bula skasovana v procesi Prikladom atomarnoyi tranzakciyi ye groshovij perekaz z bankivskogo rahunku A na rahunok B Vin skladayetsya z dvoh operacij znyattya groshej z rahunku A ta zberezhennya na rahunok B Vikonannya cih operacij u atomarnij tranzakciyi garantuye sho baza danih zalishayetsya v uzgodzhenomu stani tobto groshi ne vtrachayutsya i ne stvoryuyutsya yaksho zhodna z cih dvoh operacij ne vikonalas Cej zhe termin takozh vikoristovuyetsya u viznachenni pershoyi normalnoyi formi v sistemah baz danih de vin natomist vidnositsya do koncepciyi sho znachennya dlya poliv ne mozhut skladatisya z kilkoh menshih znachen yaki potribno rozklasti napriklad ryadok u yakogo ye kilka imen chisel dat abo mozhut mistitis inshi tipi OrtogonalnistAtomarnist ne vede sebe povnistyu ortogonalno shodo inshih vlastivostej ACID tranzakcij Napriklad izolyaciya pokladayetsya na atomarnist dlya vidkotu zmin u razi zboyiv izolyaciyi takih yak blokuvannya uzgodzhenist takozh pokladayetsya na vidkat u razi porushennya poslidovnosti nezakonnoyu tranzakciyeyu Vreshti resht sama atomarnist pokladayetsya na dovgovichnist shob zabezpechiti atomarnist tranzakcij navit u razi zovnishnih zboyiv Vnaslidok cogo nemozhlivist viyavlennya pomilok ta vidkat vkladenoyi tranzakciyi mozhe prizvesti do zboyiv izolyaciyi ta uzgodzhenosti RealizaciyaYak pravilo sistemi realizuyut atomarnist zabezpechuyuchi pevnij mehanizm shob vkazati yaki tranzakciyi rozpochalisya a yaki zakinchilisya abo zberigayuchi kopiyu danih do bud yakih zmin chitannya kopiyuvannya onovlennya Kilka fajlovih sistem rozrobili metodi shob uniknuti neobhidnosti zberigati mnozhinni kopiyi danih vikoristovuyuchi vedennya zhurnalu div vedennya zhurnalu fajlovoyi sistemi Bazi danih zazvichaj realizuyut ce za dopomogoyu pevnoyi formi vedennya zhurnalu dlya vidstezhennya zmin Sistema sinhronizuye zhurnali chasto metadani za neobhidnosti pislya uspishnogo vnesennya zmin Pislya cogo vidnovlennya pislya provalu ignoruye nepovni zapisi Hocha realizaciyi vidriznyayutsya zalezhno vid takih faktoriv yak problemi z paralelnistyu princip atomarnosti tobto povnij uspih abo povnij proval zalishayetsya Zreshtoyu bud yaka realizaciya na rivni programi pokladayetsya na funkcionalnist operacijnoyi sistemi Na rivni fajlovoyi sistemi POSIX sumisni sistemi zabezpechuyut sistemni vikliki taki yak open 2 i flock 2 yaki dozvolyayut programam atomarno vidkrivati abo blokuvati fajl Na rivni procesu potoki POSIX zabezpechuyut adekvatni primitivi sinhronizaciyi Aparatnij riven vimagaye atomarnih operacij takih yak Test and set Fetch and add Compare and swap abo Load Link Store Conditional razom iz bar yerami pam yati Portativni operacijni sistemi ne mozhut prosto blokuvati pererivannya dlya realizaciyi sinhronizaciyi oskilki aparatne zabezpechennya yake ne vikonuye odnochasne vikonannya take yak giperpotokove abo bagatoprocesorne zaraz nadzvichajno ridkisne Div takozhAtomna operaciya Obrobka tranzakcij Dovgotrivala tranzakciya Chitati kopiyuvati onovlyuvatiPrimitki http www 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