ГоловнаВсі публікаціїКатегоріїПро проєкт

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

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

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

meme code
meme code@memecode
Що таке SCM (Source Control Management)?
21.08.2024 21:46

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

meme code
meme code@memecode
Яку ієрархію має DOM (Document Object Model)?
23.08.2024 09:22

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

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

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

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

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

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

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

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

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

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

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

meme code
meme code@memecode
[Фікс] Factory not registered: "user" (KeyError) (FactoryBot / Rails 7)
07.12.2024 10:46

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

meme code
meme code@memecode
Що таке PORO в Ruby?
08.12.2024 12:46

Що таке PORO в Ruby?

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

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

meme code
meme code@memecode
09.12.2024 14:50

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

meme code
meme code@memecode