Назад | Перейти на главную страницу

Есть ли альтернатива Oracle Total Recall?

Oracle Total Recall - это опция для Oracle Enterprise Edition (11g), которая обеспечивает безопасное хранение и доступ к историческим данным.

Из белой книги:

Flashback Data Archive создает внутреннюю таблицу истории для каждой отслеживаемой таблицы. Таблица внутренней истории изначально является копией таблицы с поддержкой FDA с дополнительными столбцами метаданных. Когда один или несколько столбцов в отслеживаемой таблице обновляются, в таблицу истории вставляется новая строка, которая является предыдущим изображением строки перед транзакцией. Операции UPDATE и DELETE создают новую запись в таблице истории, а операции INSERT - нет - вставленные строки появляются в базовой таблице. Таблица внутренней истории разбита на разделы для повышения производительности и сжата для уменьшения требований к дисковому пространству. Изменения во внутренних таблицах истории запрещены. Приложения и пользователи могут использовать конструкции SQL «AS OF» и «VERSIONS BETWEEN» для беспрепятственного запроса исторических данных.

Есть ли альтернатива (с открытым исходным кодом) для отслеживания истории?

Обычно это делается с помощью триггеров (или в ORM-land с эквивалентными сигналами). Я не знаю общего решения и решения в базе данных, хотя очереди репликации, такие как PGQ, близки.

Вы можете использовать восстановление журналов в большинстве СУБД, но это не так просто, как в Oracle. По сути, все СУБД могут отслеживать все выполненные запросы.

Таким образом, вы можете использовать это на отдельном сервере для воспроизведения выполненных запросов из полной резервной копии и восстановления состояния базы данных в любой заданный момент времени (т.е. вы можете видеть состояние базы данных на 3 декабря 13:53 после транзакции xxx ). Вы также можете проанализировать журналы и посмотреть, что произошло.

Это очень ограниченно и не очень практично.

Ознакомьтесь с документацией PostgreSQL здесь: http://www.postgresql.org/docs/8.4/static/continuous-archiving.html

Вы могли посмотреть на Менеджер рабочего пространства которая является частью стандартной базы данных.

Обзор функциональности здесь: http://www.oracle-base.com/articles/9i/WorkspaceManagement9i.php