🇺🇦Допомогти Україні

Що означає ACID принцип у програмуванні?

Обкладинка допису:  Що означає ACID принцип у програмуванні?
ACID — це набір властивостей, що гарантують надійність роботи транзакцій у базах даних. Кожна транзакція є основним будівельним блоком роботи з даними, а ACID забезпечує, що вона виконується коректно та без втрати даних навіть у випадку збою.
acid.png
ACID — це акронім створений зі слів:
  • A - Atomicity (атомарність)
  • C - Consistency (послідовність)
  • I - Isolation (ізоляція)
  • D - Durability (довговічність)
Перший принцип, атомарність (більш детальніше про атомарні транзакції я вже писав раніше), гарантує, що транзакція виконується повністю або не виконується зовсім. Якщо сталася помилка, всі зміни, зроблені в ході цієї транзакції, скасовуються, повертаючи базу даних до попереднього стану. Наприклад, якщо ви здійснюєте платіж і трапляється збій у мережі, не буде такого, що гроші не списалися у відправника, та були зараховані отримувачу через збій,
Послідовність означає, що кожна транзакція переводить базу даних із одного правильного стану в інший. Навіть якщо є складні умови чи залежності між записами, результат виконання транзакції завжди буде коректним.
Ізоляція транзакцій гарантує, що вони не заважатимуть одна одній. Якщо дві транзакції виконуються одночасно, результат їх виконання буде таким же, як якщо б вони виконувалися послідовно. Це важливо, коли з базою виконується багато дій одночасно.
Останній принцип, довговічність, гарантує, що після завершення транзакції її результати зберігаються навіть у разі системного збою. Якщо дані були записані, вони не будуть втрачені при перезавантаженні системи.
Спрощена схема концепції ACID
Спрощена схема концепції ACID
ACID — це фундаментальний принцип, що забезпечує надійність, послідовність та безпеку роботи з транзакціями у базах даних, незалежно від зовнішніх умов.

Цей допис поки що не має жодних доповнень від автора/ки.

Що таке коміт (commit) у контексті програмування та SCM / Git?
21 серп., 21:37

Що таке коміт (commit) у контексті програмування та SCM / Git?

meme code
meme code@memecode
Що таке SCM (Source Control Management)?
21 серп., 21:46

Що таке SCM (Source Control Management)?

meme code
meme code@memecode
Яку ієрархію має DOM (Document Object Model)?
23 серп., 09:22

Яку ієрархію має DOM (Document Object Model)?

meme code
meme code@memecode
Як працює модель штучного інтелекту?
15 вер., 16:42

Як працює модель штучного інтелекту?

meme code
meme code@memecode
Що означає реляційний (в контексті реляційних баз даних)?
21 вер., 08:27

Що означає реляційний (в контексті реляційних баз даних)?

meme code
meme code@memecode
Що таке RDBMS (relational database management system / реляційна система управління базами даних)?
21 вер., 08:56

Що таке RDBMS (relational database management system / реляційна система управління базами даних)?

meme code
meme code@memecode
Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?
26 вер., 07:47

Що таке Сonvention over Сonfiguration (в контексті RoR і не тільки)?

meme code
meme code@memecode
Округлення десяткових чисел: математичні правила, JavaScript і Ruby
18 жовт., 12:59

Округлення десяткових чисел: математичні правила, JavaScript і Ruby

meme code
meme code@memecode
[Фікс] Factory not registered: "user" (KeyError) (FactoryBot / Rails 7)
07 груд., 10:46

[Фікс] Factory not registered: "user" (KeyError) (FactoryBot / Rails 7)

meme code
meme code@memecode
Що таке PORO в Ruby?
08 груд., 12:46

Що таке PORO в Ruby?

meme code
meme code@memecode
Чим відрізняються spec_helper.rb і rails_helper.rb у RSpec?
08 груд., 13:53

Чим відрізняються spec_helper.rb і rails_helper.rb у RSpec?

meme code
meme code@memecode
09 груд., 14:50

[Фікс] No such file or directory @ rb_sysopen - tmp/pids/server.pid

meme code
meme code@memecode