logo

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

А угода це єдина логічна одиниця роботи, яка отримує доступ і, можливо, змінює вміст бази даних. Трансакції отримують доступ до даних за допомогою операцій читання та запису.
Для підтримки узгодженості в базі даних до і після транзакції дотримуються певні властивості. Такі називаються КИСЛОТА властивості.

Для тих, хто хоче оволодіти цими поняттями та досягти успіху на таких іспитах, як ВОРОТА , наш курс GATE пропонує поглиблене вивчення систем управління базами даних. Ми охоплюємо все, від основ до складних тем, забезпечуючи повне розуміння, яке є необхідним для високих балів і практичного застосування

Атомарність:

Під цим ми маємо на увазі, що або вся транзакція відбувається відразу, або не відбувається взагалі. Проміжного шляху немає, тобто транзакції не відбуваються частково. Кожна транзакція вважається одним цілим і виконується до кінця, або не виконується взагалі. Він включає наступні дві операції.
Перервати : якщо транзакція переривається, зміни, внесені до бази даних, не відображаються.
Здійснити : якщо транзакція фіксується, внесені зміни видно.
Атомність також відома як правило «все або нічого».



Розглянемо наступну транзакцію Т складається з Т1 і Т2 : Переказ 100 з рахунку X на рахунок І .

Якщо транзакція завершується невдало після завершення Т1 але до завершення Т2 .(скажімо, після написати (X) але раніше написати (Y) ), тоді суму було вираховано з X але не додано І . Це призводить до непослідовного стану бази даних. Таким чином, транзакція повинна бути виконана повністю, щоб забезпечити коректність стану бази даних.

Консистенція:

Це означає, що необхідно підтримувати обмеження цілісності, щоб база даних була узгодженою до і після транзакції. Це відноситься до коректності бази даних. Посилаючись на приклад вище,
Загальна сума до і після транзакції повинна зберігатися.
Всього перед Т виникає = 500 + 200 = 700 .
Всього після настання T = 400 + 300 = 700 .
Тому база даних є послідовний . Невідповідність виникає у випадку Т1 завершує але Т2 не вдається. У результаті Т є неповним.

Ізоляція:

Ця властивість гарантує, що кілька транзакцій можуть відбуватися одночасно, не призводячи до неузгодженості стану бази даних. Транзакції відбуваються самостійно без стороннього втручання. Зміни, що відбуваються в конкретній транзакції, не будуть видимі для жодної іншої транзакції, доки ця конкретна зміна в цій транзакції не буде записана в пам’ять або не буде зафіксовано. Ця властивість гарантує, що одночасне виконання транзакцій призведе до стану, еквівалентного досягнутому стану, коли вони виконувалися послідовно в певному порядку.
Дозволяти X = 500, І = 500.
Розглянемо дві транзакції Т і Т.

Припустимо Т було виконано до Прочитати (Y) і потім Т’’ починається. В результаті відбувається чергування операцій, завдяки чому Т’’ читає правильне значення X але неправильне значення І і сума, обчислена
T’’: (X+Y = 50, 000+500=50, 500)
тому не відповідає сумі наприкінці транзакції:
T: (X+Y = 50 000 + 450 = 50 450) .
Це призводить до неузгодженості бази даних через втрату 50 одиниць. Отже, транзакції мають відбуватися ізольовано, а зміни мають бути видимими лише після того, як вони були внесені в основну пам’ять.

Довговічність:

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

Деякі важливі моменти:

Власність Відповідальність за збереження майна
Атомарність Менеджер транзакцій
Послідовність Прикладний програміст
Ізоляція Менеджер керування паралелізмом
Довговічність Менеджер відновлення

The КИСЛОТА властивості, у сукупності, забезпечують механізм для забезпечення правильності та узгодженості бази даних таким чином, що кожна транзакція є групою операцій, які діють як єдине ціле, дають узгоджені результати, діють ізольовано від інших операцій та оновлюють, що це забезпечує довговічне зберігання.

Властивості ACID — це чотири ключові характеристики, які визначають надійність і послідовність транзакції в системі керування базами даних (СУБД). Акронім ACID розшифровується як атомарність, консистенція, ізоляція та міцність. Ось короткий опис кожної з цих властивостей:

  1. Атомарність: Атомарність гарантує, що транзакція розглядається як єдина неподільна одиниця роботи. Або всі операції в рамках транзакції завершені успішно, або жодна з них. Якщо будь-яка частина транзакції виходить з ладу, уся транзакція повертається до початкового стану, забезпечуючи узгодженість і цілісність даних.
  2. Послідовність: узгодженість гарантує, що транзакція переводить базу даних з одного узгодженого стану в інший узгоджений стан. База даних знаходиться в узгодженому стані як до, так і після виконання транзакції. Для забезпечення узгодженості даних необхідно підтримувати такі обмеження, як унікальні та зовнішні ключі.
  3. Ізоляція: ізоляція гарантує, що кілька транзакцій можуть виконуватися одночасно, не заважаючи одна одній. Кожна транзакція повинна бути ізольована від інших транзакцій, поки вона не буде завершена. Ця ізоляція запобігає брудному читанню, неповторюваному читанню та фантомному читанню.
  4. Довговічність: довговічність гарантує, що після здійснення транзакції її зміни є постійними та витримають будь-які наступні системні збої. Зміни транзакції зберігаються в базі даних назавжди, і навіть якщо система виходить з ладу, зміни залишаються недоторканими та можуть бути відновлені.

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

Переваги властивостей ACID в СУБД:

  1. Узгодженість даних: властивості ACID гарантують, що дані залишаються послідовними та точними після виконання будь-якої транзакції.
  2. Цілісність даних: властивості ACID підтримують цілісність даних, гарантуючи, що будь-які зміни в базі даних є постійними та не можуть бути втрачені.
  3. Контроль паралелізму: властивості ACID допомагають керувати декількома транзакціями, що відбуваються одночасно, запобігаючи перешкоджанню між ними.
  4. Відновлення: властивості ACID гарантують, що в разі будь-якої відмови або збою система зможе відновити дані до моменту збою або збою.

Недоліки властивостей ACID в СУБД:

  1. Продуктивність. Властивості ACID можуть спричинити накладні витрати на продуктивність системи, оскільки вони потребують додаткової обробки для забезпечення узгодженості та цілісності даних.
  2. Масштабованість: властивості ACID можуть спричинити проблеми масштабованості у великих розподілених системах, де одночасно відбувається кілька транзакцій.
  3. Складність: Реалізація властивостей ACID може збільшити складність системи та вимагати значного досвіду та ресурсів.
    Загалом, переваги властивостей ACID у СУБД переважують недоліки. Вони забезпечують надійний і послідовний підхід до даних
  4. управління, забезпечення цілісності, точності та надійності даних. Однак у деяких випадках накладні витрати на впровадження властивостей ACID можуть спричинити проблеми з продуктивністю та масштабованістю. Тому важливо збалансувати переваги властивостей ACID із конкретними потребами та вимогами системи.