digital-garden/_inbox/Транзакция БД.md

46 lines
2.9 KiB
Markdown
Raw Normal View History

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)