powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Перенос данных между разными схемами БД
7 сообщений из 7, страница 1 из 1
Перенос данных между разными схемами БД
    #35789609
Есть две подсистемы, живущие на разных схемах БД. Из одной подсистемы необходимо периодически переливать часть данных в другую подсистему. Переливка осуществляется без непосредственной связи: через формирование промежуточного пакета из БД-источника и загрузку его в БД-приемник из клиентского приложения. Данные вроде таких: основные таблицы (вроде карточки товара) и справочная информация (вроде справочников видов товара, единиц измерения и т.п.) Все принимаемые данные уже могут частично находится на приемнике. При переливке справочной информации основной алгоритм таков: если идентификатор сущности уже есть, то ничего не делать, если есть сущность с таким же уникальным полем (названием например), то изменить все коды в принимаемой схеме на код найденной сущности. Если и совпадение по уникальному полю не найдено, то вставить новую сущность. Однако для некоторых справочных таблиц логика перегонки иная.
Как это сделано сейчас:
мастер, на первом шаге мастера данные полностью выливаются во временные таблицы приемника. Затем пользователь отмечает в списке какие основные данные он хочет перегнать. После чего на следующих шагах ему показывается, какие справочные данные будут добавлены, а какие заменены. Наконец, на завершающем этапе выполняется переливка из временных таблиц в основные.
Недостатки при таком подходе: логика переливки жестко забита в код, при малейшем изменении схемы базы-приемника или логики в заливке таблиц необходимо переделывать логику импорта, после чего его долго и мучительно ее тестировать, для переливки из разных версий подсистем нужно писать свою обработку, пользователь не может влиять на замену справочных сведений.
Хотелось бы сделать функционал более гибким, не завязанным на конкретную логику и схему, расширить возможности пользователя (выбирать какие поля необходимо перегонять, какие данные заменять)
Посоветуйте, какие подходы здесь можно использовать?
...
Рейтинг: 0 / 0
Перенос данных между разными схемами БД
    #35790825
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
быдло_кодер
Посоветуйте, какие подходы здесь можно использовать?
открыть для себя стандартную репликацию
...
Рейтинг: 0 / 0
Перенос данных между разными схемами БД
    #35791221
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
быдло_кодерНедостатки при таком подходе: логика переливки жестко забита в код, при малейшем изменении схемы базы-приемника или логики в заливке таблиц необходимо переделывать логику импорта, после чего его долго и мучительно ее тестировать, для переливки из разных версий подсистем нужно писать свою обработку, пользователь не может влиять на замену справочных сведений.
Хотелось бы сделать функционал более гибким, не завязанным на конкретную логику и схему, расширить возможности пользователя (выбирать какие поля необходимо перегонять, какие данные заменять)
Посоветуйте, какие подходы здесь можно использовать?Можно сделать специальные таблицы для репликации.

Такие таблицы будут являться внешним интерфейсом модуля, подсистемы, базы данных.

В них будет только та информация, которая "публикуется" разработчиком БД для внешнего использования. Схема этих данных будет более стабильна, её изменение будет отражать изменение "внешнего вида" (под)системы, а не коньюнктурные изменения, вносимые программистами в локальное приложение.
...
Рейтинг: 0 / 0
Перенос данных между разными схемами БД
    #35791679
Дело в том что если я не ошибаюсь, для репликации нужен db_link между базами (я юзаю оракл). Но по "политике партии" я обязательно должен использовать перенос через файл без физической связи баз
...
Рейтинг: 0 / 0
Перенос данных между разными схемами БД
    #35792497
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллега, Купите webMethods и будет Вам счастье...
...
Рейтинг: 0 / 0
Перенос данных между разными схемами БД
    #35793140
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быдло_кодерДело в том что если я не ошибаюсь, для репликации нужен db_link между базами (я юзаю оракл). Но по "политике партии" я обязательно должен использовать перенос через файл без физической связи базВидел такую реализацию на ACCESS. Передается архив с аксесс-файлом. В нем приемные и передающие таблицы. Аксесс-макрос или внешняя прога производят двухсторонее переливание данных. Потом снова файл пакуется в архив и отсылается почтой/дискетой куда надо.
Велись логи обновлений, автоматом менялись даже алгоритмы обновлений.
Технология была доведена до полного автономного режима (по почте с ненадежным каналом). Так работали многие десятки магазинов с большим суточным товарооборотом. Сбои были весьма редко.
...
Рейтинг: 0 / 0
Перенос данных между разными схемами БД
    #35793855
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быдло_кодерДело в том что если я не ошибаюсь, для репликации нужен
необязательно.
Репликация, она и в Африке репликация
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Перенос данных между разными схемами БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]