2024-06-13 21:01:37 +03:00
---
aliases:
- транзакция
- транзакции
tags:
- зрелость/🌱
date:
- - 2024-05-28
zero-link:
- "[[00 Базы Данных]]"
parents:
linked:
---
2024-06-19 21:06:59 +03:00
Транзакция - способ группировки приложением нескольких операций в одну логическую единицу, которая либо выполняется вся, либо не выполняется вовсе (прерывание и откат).
2024-06-19 19:28:52 +03:00
2024-06-19 21:06:59 +03:00
Для реализации обычно используется [Журнал БД ](Журнал%20БД.md ). Обычно у транзакции есть идентификатор.
2024-06-13 21:01:37 +03:00
2024-07-01 19:36:03 +03:00
Обычно работает с использованием [блокировок ](Блокировки.md ).
2024-07-02 18:17:53 +03:00
**Когда не стоит использовать транзакции:**
- При работе репликации в режиме [master-master ](Репликация%20master-master.md )
- Ваша система не использует логику UPDATE after SELECT
- Вы допускаете незначительные отклонения в результатах простых запросов
2024-07-01 19:31:03 +03:00
**Почему не используют транзакции:**
- Риски [Deadlock ](Deadlock.md )
- Нет поддержки на уровне СУБД
- Н е знают механизм / не понимают принципы работы
2024-06-13 21:01:37 +03:00
**Как происходит commit транзакции:**
- Подготовка транзакции в движке БД
- Запись транзакции в лог
- Завершение транзакции в движке БД
2024-06-19 20:08:52 +03:00
- Возврат результата клиенту
**Свойства транзакций БД:**
![Свойства транзакции БД (ACID) ](Свойства%20тр а нза кции%20БД%20(ACID ).md)
**Проблемы при параллельном выполнении нескольких транзакций:**
![Проблемы при параллельном выполнении нескольких транзакций ](Проблемы%20пр и%20па р а лле льно м%20выпо лне нии%20не с ко льких %20тр а нза кций.md )
**Уровни изоляций транзакций БД:**
![Уровни изоляций транзакций БД ](Уровни%20изо ляций%20тр а нза кций%20БД.md )
2024-06-20 19:27:42 +03:00
## Дополнительные материалы
- [Транзакции. Восстановление. Классический алгоритм — Викиконспекты ](https://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BD%D0%B7%D0%B0%D0%BA%D1%86%D0%B8%D0%B8._%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5._%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC )