(no subject)
Aug. 28th, 2006 04:16 pmТребуется иметь возможность получить состояние информационной базы на любой произвольный момент времени.
БД - реестр объектов системы образования МО, так что интенсивных изменений там не будет, но требуется иметь возможность получить информацию о состоянии объекта и связянных с ним объектов на любой произвольный момент времени, например, "Кто был директором школы №5 города Кукево по состоянию на 20 сентября 2005 года".
Кроме того, необходимо протоколирование изменения информации, чтобы можно было ответить на вопрос "кто изменял значение поля ФИОДиректора школы №5 города Кукево с 01/01/2006 по 31/21/2006"?
Предполагаемая платформа разработки - Perl/Catalyst, PostgreSQL.
Нашел статью на RSDN по этой теме.
Там упоминается технология Oracle Flashback Queries:
Существует ли аналог Oracle Flashback queries для PgSQL?
Какие еще есть технологии для решения этой задачи?
Куда идти, чего копать?
БД - реестр объектов системы образования МО, так что интенсивных изменений там не будет, но требуется иметь возможность получить информацию о состоянии объекта и связянных с ним объектов на любой произвольный момент времени, например, "Кто был директором школы №5 города Кукево по состоянию на 20 сентября 2005 года".
Кроме того, необходимо протоколирование изменения информации, чтобы можно было ответить на вопрос "кто изменял значение поля ФИОДиректора школы №5 города Кукево с 01/01/2006 по 31/21/2006"?
Предполагаемая платформа разработки - Perl/Catalyst, PostgreSQL.
Нашел статью на RSDN по этой теме.
Там упоминается технология Oracle Flashback Queries:
В Oracle поддерживается механизм flashback queries, позволяющий получить состояние записи на любой момент в прошлом, которое еще хранится в логе транзакций БД. Метод требует очень много места, при интенсивной работе с базой обычно можно смотреть данные всего на 10-15 часов назад – для большего не хватает места. Впрочем, если данные редко модифицируются, то такой подход тоже можно использовать.
Существует ли аналог Oracle Flashback queries для PgSQL?
Какие еще есть технологии для решения этой задачи?
Куда идти, чего копать?