All original content is created in Ukrainian. Not all content has been translated yet. Some posts may only be available in Ukrainian.Learn more

What does the ACID principle mean in programming?

Post cover:  What does the ACID principle mean in programming?
This content has been automatically translated from Ukrainian.
ACID <TAG1> is a set of properties that guarantee the reliability of transactions in databases. Each transaction is the main building block of data work, and ACID ensures that it is executed correctly and without data loss even in the event of a failure.
acid.png
ACID <TAG1> is acronym created from the words:
  • A - Atomicity (atomicity)
  • C - Consistency (sequence)
  • I - Isolation (insulation)
  • D - Durability (durability)
First principle, atomicity (more details about atomic transactions I wrote earlier), ensures that the transaction is executed completely or not executed at all. If an error occurs, all changes made during this transaction are canceled, returning the database to its previous state. For example, if you make a payment and a network failure occurs, it will not happen that the money was not debited from the sender and was credited to the recipient due to the failure
Sequence means that each transaction translates the database from one correct state to another. Even if there are difficult conditions or dependencies between records, the result of the transaction will always be correct.
Isolation transactions ensure that they do not interfere with each other. If two transactions are executed simultaneously, the result of their execution will be the same as if they were executed sequentially. This is important when many actions are performed with the base at the same time.
Last principle, durability, ensures that once the transaction is complete, its results are preserved even in the event of a system failure. If the data was recorded, it will not be lost when the system is rebooted.
Спрощена схема концепції ACID
Спрощена схема концепції ACID
ACID — is a fundamental principle that ensures reliability, consistency and security of working with transactions in databases, regardless of external conditions.

This post doesn't have any additions from the author yet.

What is a commit in the context of programming and SCM/Git?
21 Aug 21:37

What is a commit in the context of programming and SCM/Git?

meme code
meme code@memecode
What is SCM (Source Control Management)?
21 Aug 21:46

What is SCM (Source Control Management)?

meme code
meme code@memecode
What hierarchy does the DOM (Document Object Model) have?
23 Aug 09:22

What hierarchy does the DOM (Document Object Model) have?

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

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

meme code
meme code@memecode
What does relational mean (in the context of relational databases)?
21 Sep 08:27

What does relational mean (in the context of relational databases)?

meme code
meme code@memecode
What is RDBMS (relational database management system)?
21 Sep 08:56

What is RDBMS (relational database management system)?

meme code
meme code@memecode
What is Sonvention over Sonfiguration (in the context of RoR and beyond)?
26 Sep 07:47

What is Sonvention over Sonfiguration (in the context of RoR and beyond)?

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

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

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

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

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

Що таке PORO в Ruby?

meme code
meme code@memecode
What is the difference between spec_helper.rb and rails_helper.rb in RSpec?
08 Dec 13:53

What is the difference between spec_helper.rb and rails_helper.rb in RSpec?

meme code
meme code@memecode
09 Dec 14:50

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

meme code
meme code@memecode