Що означає, якщо база даних є сумісною з ACID?
У комп'ютерній науці ACID (атомність, послідовність, ізоляція, довговічність) - це набір властивостей операцій з базами даних, призначених для гарантування дійсності даних, незважаючи на помилки, провали живлення та інші несправності. У контексті баз даних послідовність операцій бази даних, що задовольняє властивості ACID (яка може сприйматися як одна логічна операція на даних) називається транзакцією. Наприклад, переказ коштів з одного банківського рахунку на інший, навіть за рахунок декількох змін, таких як дебетування одного рахунку і кредитування іншого, є однією операцією.

У 1983 році Андреас Рейтер і Тео Хердер придумали абревіатуру ACID, будучи на основі попередньої роботи Джима Грея, який назвав атомічність, послідовність і довговічність, але не ізоляцію, коли характеризував концепцію транзакції. Ці чотири властивості є основними гарантіями транзакційної парадигми, яка вплинула на багато аспектів розвитку систем баз даних.

За словами Грея і Рейтера, система управління інформацією IBM підтримувала операції ACID ще в 1973 році (хоча акронім був створений пізніше).

Атомність
Основна стаття: Атомність (системи баз даних)
Транзакції часто складаються з декількох заяв. Atomicity гарантує, що кожна транзакція розглядається як одна «одиниця», яка або повністю провалиться, або повністю провалиться: якщо будь-яка з заяв, що складають транзакцію, не завершується, вся транзакція провалиться і база даних залишається незмінною. Атомна система повинна гарантувати атомність в кожній ситуації, включаючи відхилення електроенергії, помилки і аварії. Гарантія атомічності запобігає тому, щоб оновлення бази даних відбувалися лише частково, що може викликати більші проблеми, ніж відхилення всієї серії. Як наслідок, транзакція не може спостерігатися в ході іншого клієнта бази даних. В один момент це ще не сталося, а в наступний вже сталося повністю (або нічого не сталося, якщо транзакція була скасована в процесі).

Послідовність
Основна стаття: Консистенція (системи баз даних)
Послідовність гарантує, що транзакція може тільки привести базу даних з одного послідовного стану в інший, зберігаючи незмінності бази даних: будь-які дані, написані в базу даних, повинні бути дійсними відповідно до всіх визначених правил, включаючи обмеження, каскади, тригери та будь-яку їх комбінацію. Це запобігає пошкодженню бази даних через незаконну транзакцію. Референтна цілісність гарантує відносини між первинним ключем та іноземним ключем.

Ізоляція
Основна стаття: Ізоляція (системи баз даних)
Транзакції часто виконуються одночасно (наприклад, кілька транзакцій одночасно читаються і записуються в таблицю). Ізоляція забезпечує, що одночасне виконання транзакцій залишає базу даних в тому ж стані, який був би отриманий, якби транзакції виконувалися послідовно. Ізоляція є основною метою контролю за одночасною валютою; залежно від рівня ізоляції, що використовується, наслідки неповної транзакції можуть бути невидимими для інших транзакцій.

стійкість
Основна стаття: Стабільність (системи баз даних)
Тривалість гарантує, що після того, як транзакція була здійснена, вона залишатиметься виконаною навіть у разі несправності системи (наприклад, відключення електроенергії або аварії). Це зазвичай означає, що завершені транзакції (або їх наслідки) записуються в неволатильну пам'ять.
ACID - це абревіатура, що означає Atomicity, Consistency, Isolation і Durability.
Атомічність означає, що дії відбуваються або повністю, або взагалі не відбуваються; немає часткового написання або ситуації, де тільки частина дії була завершена. Для бази даних це означає, що якщо дані були написані в одній транзакції, ця транзакція або повністю завершується, або повністю проходить без даних, що залишаються в частковому або пошкодженому стані.
Послідовність означає, що транзакції переносять стан з одного дійсного стану в інший дійсний стан, без можливості ввести недійсний стан.
Ізоляція означає, що кілька читачів / письменників до однієї бази даних не перешкоджають один одному і можуть продовжувати без турботи про наслідки іншої дії, що відбувається.
Тривалість означає, що стан зберігається через збої і вимикання, наприклад. Цей стан зберігається до постійного зберігання.