Предполагая, что вы не собираетесь использовать некоторую форму готового решения, у вас есть несколько вариантов открыты тебе. В основном, что вы пытаетесь сделать, это найти способ захвата изменений, сделанных в одной базе данных, и их репликации в другой базе данных.
Full Extract и Delta
Возьмите полный, отсортированный по ключу, сброс каждой строки в таблице (ы) вы хотите синхронизировать и сравнить его строка за строкой на свалку от последнего sync вы побежали. Имея выход отсортированных делает процесс сравнения гораздо быстрее, так как вы можете выяснить, если строка была изменена, удалена или удалены без
- Pro: Гарантированно, чтобы захватить все изменения.
- Pro: Простой в применении.
- Con: Медленный.
- Con: Будет создавать большую нагрузку на базу данных при запуске.
Этот вариант должен быть вполне жизнеспособным для баз данных меньшего или среднего размера.
журнала транзакций
Анализ журналов транзакций из базы данных для того, чтобы выяснить, что изменилось, и применить эти изменения в другой базе данных.
- Pro: быстрее, так как это не нужно читать все из базы данных
- Pro: Еще сравнительно просто реализовать
- Con: АБД иногда приходится очищать журналы для решения производственных проблем. Это может привести к пропущенным изменениям, которые не синхронизируются.
Возможно, хорошая идея, если вы можете рассчитывать на доступные журналы.
Триггеры
Использование триггеров для записи изменений, и тиражировать их в другой базе данных.
- Pro: быстро, как это захватывает только изменения.
- Con: добавляет накладные к каждой сделке
синхронизации в Заявке
Просто убедитесь, что приложение записывает обе базы данных.
- Pro: Отсутствие реальных накладных расходов для базы данных.
- Con: Ненадежный. Все, что требуется, - это один человек, забывающий писать в обе базы данных.
Это может быть сделано для работы, если приложение записывает в базу данных только через несколько контролируемых модулей (т. В менее управляемой настройке (т. Е. Несколько приложений/неконтролируемый или плохо реализованный доступ к базе данных/специальные скрипты) это просто не вариант.
да проверено это, но я не хочу коммерческого решения. Я хочу разработать один самостоятельно, только в худшем случае я пойду на коммерческое решение –
классные бананы, я неправильно понял ваш вопрос –