digital-garden/knowledge/dev/database/Свойства транзакции БД (ACID).md

20 lines
1.8 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
---
aliases:
- ACID
tags:
- зрелость/🌱
date:
- - 2023-11-22
zero-link:
- "[[00 Базы Данных]]"
parents:
- "[[Транзакция БД]]"
linked:
---
2024-06-19 19:33:52 +03:00
**Атомарность (atomicity).** Гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будут либо выполнены все её подоперации, либо не выполнено ни одной. Благодаря этому появляется возможность повторить прерванную транзакцию, не опасаясь, что часть операций уже выполнена.
2024-06-13 21:01:37 +03:00
2024-06-20 19:27:42 +03:00
**Согласованность (consistency).** Транзакция, достигающая своего нормального завершения и, тем самым, фиксирующая свои результаты, сохраняет согласованность базы данных. По сути поддержание согласованности задача приложения, а не базы.
2024-06-20 19:32:42 +03:00
2024-06-19 19:43:52 +03:00
**Изолированность (isolation).** Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат. Защищает от [Race condition](Race%20condition.md).
2024-06-13 21:01:37 +03:00
**Долговечность (durability).** Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу.