Статьи

OSCON 2006: Таблицы TimeTravel в PostgreSQL

А. Элейн Мустейн — опытный разработчик Ingres, Illustra и Informix, а также автор еженедельной колонки PostgreSQL General Bits .

Элейн показала, как использовать временные метки для отслеживания всех изменений в вашей БД. С помощью этой техники вы никогда не удаляете записи, а просто указываете дату окончания. Несколько копий записи (опять же, с отметками времени для каждой) также позволяют отслеживать изменения. (Это довольно стандартный подход, особенно в «проверенных» средах или в регулируемых государством отраслях.)

Ценность использования Postgres здесь заключается в расширенных функциях, таких как триггеры, которые вы можете использовать с вашими удалениями и обновлениями для разгрузки работы, необходимой для поддержки этой системы «путешествия во времени», вместо того, чтобы заставлять логику вашего приложения идти в ногу со всем этим.

Вы также можете использовать представления PostgreSQL для запроса к базе данных только текущих данных или написать процедурные функции для запроса состояния базы данных в определенный момент времени в прошлом.

У Элейн есть свои слайды, доступные онлайн здесь