Архивация таблиц базы данных с использованием Java - PullRequest
4 голосов
/ 18 марта 2010

Мое приложение требует архивирования таблиц базы данных между sybase и db2 и наоборот и внутри (db2 до db2 и sybase до sybase) с использованием Java.

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

Вот мой текущий процесс -

  • исходные и конечные таблицы с приемлемыми параметрами (из java) определены в xml. [фактический запрос размещается внутри xml, потому что иногда параметры принимаются из java (например, для условия условия where)]
  • приложение считывает исходную и целевую конфигурации и выполняет их последовательно.
  • назначение иногда необязательно, когда источник просто удаляет данные из определенной таблицы или когда источник просто вызывает хранимую процедуру.
  • набор данных между источником и получателем чрезвычайно велик (в миллионах)

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

Существуют ли какие-либо платформы с открытым исходным кодом для архивирования данных с использованием Java? Любые другие мысли на стороне орудий будут действительно полезны.

Спасибо

Ответы [ 4 ]

8 голосов
/ 28 марта 2010

Самым мощным фреймворком с открытым исходным кодом для сохранения Java является Hibernate. Вы можете выполнить обратный инжиниринг модели Java из существующей БД (см. Инструменты Hibernate) и выполнить репликацию с помощью Session.replicate (). Вы можете точно настроить производительность, используя сеансы без сохранения состояния и кэширование второго уровня, где это применимо. Документация здесь

1 голос
/ 04 апреля 2010

Самое важное, что вам нужно сделать, это отключить автоматическую фиксацию в JDBC, как это было бы в противном случае после каждой вставки в таблицу базы данных. Это разрушает производительность.

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

1 голос
/ 03 апреля 2010

Pentaho Data Integration имеет надежную поддержку для копирования данных между базами данных или из них. Кроме того, он с открытым исходным кодом и позволяет писать плагины на Java.

Миграция с Oracle на MySQL

1 голос
/ 30 марта 2010

Посмотрите на некоторые инструменты репликации базы данных (мы используем Shadowbase ). Они могут иметь API Java.

Кроме того, ознакомьтесь с этим документом IBM :

[IBM] предлагает решение с использованием JDBC и стандарт SyncML для достижения универсального Репликация данных базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...