logo

Властивості ACID в СУБД

СУБД — це управління даними, які повинні залишатися інтегрованими, коли в них вносяться будь-які зміни. Це тому, що якщо цілісність даних буде порушена, цілі дані будуть порушені та пошкоджені. Тому для підтримки цілісності даних у системі керування базою даних описано чотири властивості, які називаються КИСЛОТА властивості. Властивості ACID призначені для транзакції, яка проходить через іншу групу завдань, і тут ми бачимо роль властивостей ACID.

У цьому розділі ми дізнаємося та зрозуміємо властивості ACID. Ми дізнаємося, що означають ці властивості та для чого використовується кожна властивість. Ми також розберемо властивості ACID за допомогою деяких прикладів.

Властивості КИСЛОТИ

Розширення терміну ACID визначає для:

Властивості ACID в СУБД

1) Атомарність

Термін атомарність означає, що дані залишаються атомарними. Це означає, що якщо будь-яка операція виконується над даними, вона повинна бути виконана або виконана повністю, або не повинна виконуватися взагалі. Крім того, це означає, що операція не повинна перериватися між ними або виконуватися частково. У разі виконання операцій над транзакцією операція має бути виконана повністю, а не частково.

приклад: Якщо Ремо має обліковий запис A, на якому є 30 доларів, з якого він бажає надіслати 10 доларів на рахунок Широ, який є B. На рахунку B уже є сума в 100 доларів. Коли $10 будуть перераховані на рахунок B, сума стане $110. Зараз буде дві операції. Один із них: сума в 10 доларів США, яку Рімо хоче переказати, буде списана з його рахунку A, а така ж сума буде зарахована на рахунок B, тобто на рахунок Sheero. Що відбувається тепер: перша операція дебетування виконується успішно, але операція кредитування, однак, не вдається. Таким чином, в обліковому записі A Ремо значення стає 20 дол. США, а в облікового запису Широ воно залишається 100 дол. США, як і раніше.

Властивості ACID в СУБД

На наведеній вище діаграмі видно, що після зарахування 10 доларів США сума все ще становить 100 доларів на рахунку B. Отже, це не атомарна транзакція.

На зображенні нижче показано, що дебетові та кредитні операції виконано успішно. Таким чином, транзакція є атомарною.

Властивості ACID в СУБД

Таким чином, коли сума втрачає атомарність, то в банківських системах це стає величезною проблемою, тому атомарність є основною увагою в банківських системах.

2) Послідовність

Слово послідовність означає, що значення має залишатися збереженим завжди. в СУБД , слід підтримувати цілісність даних, що означає, що якщо внесено зміни в базу даних, вони повинні зберігатися завжди. У випадку транзакцій цілісність даних є дуже важливою, щоб база даних залишалася узгодженою до та після транзакції. Дані завжди повинні бути правильними.

приклад:

Властивості ACID в СУБД

На наведеному вище малюнку є три рахунки, A, B і C, де A здійснює транзакцію T одну за одною для обох B та C. Є дві операції, які відбуваються, тобто дебетова та кредитна. Рахунок А спочатку дебетує 50 доларів США з рахунку Б, а сума на рахунку А зчитується 300 доларів США перед трансакцією. Після успішної транзакції T доступна сума в B стає 150 дол. Тепер A дебетує 20 доларів США з рахунку C, і тоді значення, прочитане C, становить 250 доларів США (це правильно, оскільки дебетування 50 доларів США було успішно здійснено з B). Дебетова та кредитна операція з рахунку A на C виконана успішно. Ми бачимо, що транзакція виконана успішно, і значення також зчитується правильно. Таким чином, дані узгоджуються. У випадку, якщо значення, зчитане B і C, становить 300 доларів США, це означає, що дані є неузгодженими, оскільки коли виконується дебетова операція, вона не буде узгодженою.

3) Ізоляція

Термін «ізоляція» означає відокремлення. У СУБД ізоляція — це властивість бази даних, де жодні дані не повинні впливати на іншу і можуть відбуватися одночасно. Коротше кажучи, операція з однією базою даних повинна починатися, коли операція з першою базою даних буде завершена. Це означає, що якщо дві операції виконуються над двома різними базами даних, вони можуть не впливати на значення одна одної. У випадку транзакцій, коли дві або більше транзакцій відбуваються одночасно, узгодженість повинна зберігатися. Будь-які зміни, які відбуваються в будь-якій конкретній транзакції, не будуть помічені іншими транзакціями, доки зміна не буде зафіксовано в пам’яті.

приклад: Якщо дві операції виконуються одночасно на двох різних облікових записах, це не повинно вплинути на значення обох облікових записів. Значення має залишатися постійним. Як ви можете бачити на наведеній нижче діаграмі, обліковий запис A здійснює транзакції T1 і T2 для рахунків B і C, але обидва вони виконуються незалежно, не впливаючи одна на одну. Він відомий як ізоляція.

Властивості ACID в СУБД

4) Довговічність

Довговічність забезпечує постійність чого-небудь. У СУБД термін довговічність гарантує, що дані після успішного виконання операції стають постійними в базі даних. Стійкість даних має бути настільки досконалою, що навіть якщо система вийде з ладу або призведе до збою, база даних все одно виживе. Однак, якщо вона буде втрачена, відповідальність за забезпечення довговічності бази даних покладається на менеджер відновлення. Для фіксації значень команду COMMIT потрібно використовувати кожного разу, коли ми вносимо зміни.

Тому властивість ACID СУБД відіграє життєво важливу роль у підтримці узгодженості та доступності даних у базі даних.

Таким чином, це було точне впровадження властивостей ACID в СУБД. Ми також обговорювали ці властивості в розділі транзакцій.