Лучшая технология для синхронизации данных между различными схемами базы данных?

Вы можете попробовать это:

df.loc[1:,'B':] = df.loc[1:,'B':].shift(1, axis=1).fillna(0)

Вывод:

   A    B           C    D    E
0  1    8  2011-06-01  ABC  ABC
1  2    0  2011-06-01  ABC  ABC
10
задан Clinemi 16 January 2009 в 20:10
поделиться

4 ответа

Лично я убежал бы из этого кошмара с такой скоростью, как я мог. Так как Вы еще не купили этот заказ онлайн, я предположил бы, что хранение данных в синхронизации с существующим приложением является допустимой причиной того, что не была сделана такая вещь. При покупке этого, Вы будете вечно сожалеть, как испачканный Ваши данные станет и сколько времени и денег Вы тратите попытку получить вещи работать правильно. Это - неизбежная авария. Вы '' ll заканчиваете тем, что имели объекты порядка людей, предположительно, в iventory, когда нет ни одного на складе. Не делайте этого. Это - гарантия сердитых клиентов и сердитых менеджеров. Далеко намного более дешевый со временем для найма некоторых разработчиков для соединения собственного заказа онлайн это получает доступ базе данных. Если бы они идут вперед по Вашим возражениям, я обновил бы свое резюме.

9
ответ дан 3 December 2019 в 18:02
поделиться

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

Для этого я, скорее всего, использовал бы SSIS. Довольно легко создать пакет преобразования и довольно простой поддержать.

1
ответ дан 3 December 2019 в 18:02
поделиться

Бизнес-правила являются Твердой Частью

Односторонняя синхронизация? Двухсторонняя синхронизация? Нажатие в реальном времени? Ночные обновления? Дамп и перезагрузка? Сравнить и обновить? Разрешение конфликтов? Какая сторона побеждает? Продвиньте информацию только для чтения один путь и информация для заказа другой путь? Что относительно изменений/отмен/и т.д.? Статусы заказа становятся пододвинутыми обратно?

Вы видите, куда я иду сюда. Технология является вторичным вопросом.

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

Существуют платформы, там разработанные для помощи с этим, как Понимание Microsoft BizTalk или Скрайбирования. Они являются громоздкими и дорогими, все же.

Не слишком трудно создать пользовательскую систему массового обслуживания или на основе триггеров SQL или на основе запланированных нажатий (в зависимости от Ваших потребностей) в C# или Вашем любимом языке. Это - вероятно, маршрут, я пошел бы. Это, вероятно, включило бы третью базу данных "передачи" для содержания очереди изменений, внесенных одной стороной и модулем, чтобы применить бизнес-правила и продвинуть данные к другому.

12
ответ дан 3 December 2019 в 18:02
поделиться

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

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

Если Вы надеетесь перемещать значительные объемы данных, существуют другие продукты там, которые могут сделать это для Вас, но если это не слишком много данных, решение с помощью инструментов SQL Servers должно сделать все, в чем Вы нуждаетесь.

0
ответ дан 3 December 2019 в 18:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: