Насколько я знаю, IBM использует тройную запись в журнал постоянного восстановления со следующими шагами:
- при условии, что на странице (4 КБ) уже есть данные 1 КБ
- загрузки сначала страница с диска
- измените страницу, добавив содержимое (3k), и запишите ее в другое место
- запишите страницу на диск
- , если страница была разбита, затем он может восстановить его из резервной копии при восстановлении после выключения питания.
Используется для предотвращения частичной записи, как заявлено, поскольку может привести к повреждению исходных данных на странице, если компьютер обрабатывает sh при запись данных напрямую, а диск FS / диск не поддерживает запись Atomi c.
Мой вопрос: почему бы просто не записывать добавление только в журнал, как WAL, вместо обновления на месте?