Что бы вы вошли в журнал записи с опережением?

Что СУБД, которые реализуют многоуровневое упорядочение меток времени для управления параллелизмом, обычно включают в свои журналы опережающей записи? до и после изображений или один из них? метки времени? что-то еще?

2 ответа

Решение

Документация Postgres WAL. Postgres использует тип MVTO MVCC. InnoDB использует MVRC.

Вот структура журнала Postgres и структура pg_control, что важно для восстановления. Временные метки не используются как ненадежные, скорее они используют монотонно увеличивающийся счетчик целых чисел (идентификатор транзакции).

Таким образом, все относящиеся к откату данные хранятся в самих основных данных, а не в WAL.

Основной целью WAL является восстановление данных в случае проблем из-за сбоя питания, проблем ОС или аппаратного сбоя (очевидно, за исключением серьезных сбоев диска). Так что WAL должен быть в значительной степени независимым от этого.

Структура журнала Innodb находится в innodb/include/log0log.h .

Спасибо, PST. Я нашел эту статью одной из лучших на данный момент: http://answers.oreilly.com/topic/2035-whats-new-in-sqlite-37/

Другие вопросы по тегам