В образовательных целях мне нужно реализовать крошечную СУБД с нуля.
Мне было интересно, как "большие" СУБД (например, SQLite, MySQL) справляются с ошибками записи на диск, в частности:
что происходит (и как они восстанавливаются), если происходит ошибка записи на диск (например, внезапный сбой питания), когда они записывают новые данные в файл базы данных?
Что произойдет, если такая же ошибка записи произойдет в середине транзакции?
Спасибо