2013-09-12 5 views
1

Я хотел бы попросить отправную точку для какой технологии или рамки для исследования.Репликация измененных данных по разным базам данных

Что мне нужно выполнить следующее:

У нас есть 6 приложения Java EE с помощью JPA для упорства; мы хотели бы использовать первичную базу данных как своего рода блокнот, где пользователи могут вставлять/удалять записи в соответствии с заданиями, которые они задают. Затем, в конце дня, администратор выполнит какую-то проверку их работы, одобряя или отклоняя ее. Если он одобрит работу, все изменения будут сделаны постоянными, и первичная база данных будет синхронизирована - реплицируется на другую (по соображениям безопасности). В противном случае, если администратор не одобрит изменения, они будут отменены.

Теперь вот у меня две проблемы, чтобы выяснить:

First.- Можно ли откатить кучу операций JPA сделано через определенный промежуток времени?

Second.- Запустить процесс репликации (это может быть сделано с помощью СУБД) с помощью кода. Теперь, если репликация РСУБД невозможна (возможно, из-за требования клиента), нам понадобится структура синхронизации для JPA в качестве резервной копии. Я смотрел на некоторые решения JMS, однако не ясно, о точном процессе или о том, как заставить их работать на JPA.

Любая помощь была бы принята с благодарностью, Thanks.

ответ

1

Я думаю, что ваши шаги проектирования слишком рискованны для потери данных. Я понимаю, что вы говорите о хранении данных в памяти, пока администратор не одобрит/отклонит его. Вы должны подумать о сценарии бедствия и сохранить ваши данные в этом случае.

Скорее эта проблема утверждение более склонны к конструкции рабочего процесса, в котором данные

  1. вводится одним лицом, оно сохраняется.
  2. Другие лица утверждают /> отклоняют данные.
  3. Все утвержденные данные далее реплицируются в следующую базу данных.

Все эти три шага могут быть реализованы в 3-х модулей, при поддержке постоянной памяти технологии/JMS. В зависимости от того, как в реальном времени, каждый из этих шагов должен быть; вы могли бы подумать о элегантном дизайне для достижения этого экономически эффективным способом.

1
  • Добавить стол «рабочее состояние» в таблицу.Штаты: Ждать одобрение, утверждение, реплицируются
  • Упорства данных обычно используя JPA (состояние: ждать одобрения)
  • утверждающих Утверждает: Обновление с помощью JPA, изменение утвержденного состояния

Как для репликации

  • в методе одобрять можно реплицировать данные синхронно с другой базой данных (с использованием JPA)
  • вы можете скопировать и утвержденные данные в другую таблицу, и использовать некоторые функциональные возможности RDBMS чтобы RDBMS реплицировала данные этой таблицы
  • Вы также можете отправить сообщение JMS. В конце дня задание считывает очередь и сохраняет данные в другой базе данных.

В любом случае я предлагаю использовать обычный кластер РСУБД с синхронной репликацией. В этом случае вам не нужно разрабатывать самодельную схему репликации, и у вас всегда есть копия ваших данных. У вас всегда есть состояние рабочего процесса.

 Смежные вопросы

  • Нет связанных вопросов^_^