Рубрики
Вопросы Собеседования

Транзакции БД

Перевод БД из одного целостного состояния в другое. Операции должны быть выполнены или не выполнены вовсе (все или ничего)

Пример

Мы списали средства с одного кошелька, что бы перевести на другой, но во время перевода выключился свет и операция выполнила только списание, но не пополнила второй. Транзакции предотвращают это. Работает с помощью ведения журнала

Начало: Begin transaction
Концовка: Сommit (успех) или Rollback (неудачно)

Много пользователей

  • грязное чтение
  • неповторяемое размытие
  • фантом (фиктивный эллемент)

Что бы предотвратить используется:

  • блокировка со взаимным доступом
  • монопольная блокировка

Однако блокировка замедляет работу. Решение уменьшение фрагментов данных захватываемых транзакций

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *