2016-10-25 2 views
0

Мне нужно перенести большой объем данных. Я хочу перенести данные в партиях определенного размера. Кроме того, каждая итерация должна совершать транзакцию и фактически вставлять данные.Циклическая миграция в липибазе

Возможно ли в Liquibase сделать повторный набор изменений до тех пор, пока нет условия (при совершении транзакции после каждой упаковки)?

Что мне нужно сделать?

я не могу найти решение ...

+0

Добро пожаловать в переполнение стека! Сначала вы можете взять [тур] и узнать [спросить] хороший вопрос и создать [mcve]. Это облегчает нам помощь. – Katie

ответ

0

LiquiBase не на самом деле предназначены для переноса данных, она направлена ​​в основном на миграцию схемы базы данных/структуру.

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

  • ли к базам данных того же типа нет (т.е. они как Oracle 12?)
  • Как часто миграция происходит? (это одноразовая миграция или что-то, что должно происходить на регулярной основе?)
  • Является ли миграция просто прямой копией или есть трансформации, которые должны произойти?
  • Вы упомянули, что данные были «большими», но это может означать разные вещи для разных людей. Это 1 ГБ, 1 ТБ, 1 ПБ?
+0

1. Миграция в одном БД - PostgreSQL. 2. Это разовая миграция. Но дело в том, что наше приложение работает в Karaf. В начале набора пучков жидкостей выполняется набор наборов жидкостей. Поэтому сторонние программы не подходят. 3. Суть миграции - обновить один столбец с «ложным» значением. 4. Размер самой таблицы составляет 18 ГБ. Если вы обновляете все записи в одной транзакции, это занимает около 2 часов. Такое время простоя, которое мы не можем себе позволить. Я могу сделать эту миграцию в Java-коде, но я хотел бы сделать это с помощью Liquibase. – Sergey

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