Оглавление
Атомарность (системы баз данных)
-
Основные свойства транзакций
- Атомарность: неделимая последовательность операций с базой данных
- Предотвращает частичное обновление базы данных
- Гарантирует согласованность данных при выполнении всех операций
-
Пример транзакции
- Денежный перевод с банковского счета на счет
- Две операции: снятие денег и перевод на счет
- Гарантирует отсутствие потери или создания денег при сбое операций
-
Ортогональность атомарности
- Не полностью ортогональна с другими свойствами ACID транзакций
- Невозможность откатить транзакцию может привести к нарушению изоляции или согласованности
-
Реализация атомарности
- Системы используют механизмы для отслеживания начала и завершения транзакций
- Ведение журнала в файловых системах для избежания необходимости хранения нескольких копий данных
- Базы данных используют формы ведения журнала для отслеживания изменений
- Аварийное восстановление игнорирует неполные записи
-
Зависимость от операционной системы
- На уровне приложений зависит от функциональности ОС
- На уровне файловой системы POSIX предоставляет системные вызовы для атомарной работы с файлами
- На уровне процессов POSIX предоставляет примитивы синхронизации
- Аппаратный уровень требует выполнения элементарных операций для синхронизации
-
Портативность и аппаратное обеспечение
- Портативные ОС не могут блокировать прерывания для синхронизации
- Аппаратное обеспечение без параллельного выполнения встречается редко