Следить за изменением базы данных informix - PullRequest
1 голос
/ 07 января 2011

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

Есть идеи?

Спасибо.

1 Ответ

6 голосов
/ 09 января 2011

Существуют различные варианты, с различной степенью правдоподобия. Одна проблема, о которой вам нужно беспокоиться - это удаление или обновление, и вставка; Отслеживать вставки легко, удаляет трудно.

  • CDC - сбор данных изменений: этот API позволяет отслеживать измененные данные.
  • ER - Enterprise Replication: вы можете настроить второй сервер, который будет отслеживать изменения, сделанные в первом.
  • Анализ журнала - извлечение данных из резервных копий логических журналов.
  • Отслеживание изменений на основе триггеров - создание триггеров в таблицах, представляющих интерес, для отслеживания изменений.
  • Отслеживание изменений на основе аудита - не включает данные, которые были изменены, поэтому, вероятно, наименее актуален.

Из них CDC, вероятно, является наиболее полным и лучшим, но он требует дополнительных усилий, чтобы заставить его работать (процесс установки - не накладные расходы времени выполнения; последнее не имеет значения).

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

...