У меня есть случай, когда у меня есть несколько баз данных, работающих на одном сервере.Для каждого клиента есть одна база данных (компания1, компания2 и т. Д.).Структура каждой из этих баз данных должна быть идентичной с теми же таблицами и т. Д., Но данные, содержащиеся в каждой БД, будут разными.
Что я хочу сделать, так это сохранить главную базу данных, которая не будет содержать данных, но управлять структурой всех других баз данных, то есть, если я добавлю, удалю или изменю любые таблицы в главной базе данных, изменения такжебыть зеркально отраженным для других баз данных.
Пример. Если в основной базе данных создана таблица с именем Table1, другие базы данных (company1, company2 и т. д.) также получат table1.
В настоящее время это выполняется с помощью сценария, который отслеживает журналы базы данных на предмет изменений, внесенных в основную базу данных, и выполняет одинаковые запросы для каждой из других баз данных.Изучил репликацию базы данных, но, насколько я понимаю, это также приведет к получению данных из основной базы данных, что в данном случае не вариант.
Могу ли я использовать какую-то логику для схем базы данных, чтобы сделать это?
Итак, в основном я спрашиваю здесь:
Как сделать так, чтобы эта синхронизация происходила наилучшим образом?Должен ли я использовать скрипт, отслеживающий журналы на предмет изменений или каким-либо другим способом?
Как избежать повреждения существующих данных при изменении таблицы?(данные удаляются, если таблица отбрасывается, это нормально)
Считается ли синхронизация из основной базы данных хорошим способом сделать то, что я хочу (имея простую в обслуживании структуру для нескольких баз данных)?
Как такое обновление повлияет на производительность баз данных?
Надеюсь, мой вопрос был ясен и что это не дубликаткакой-то другой поток.Если потребуется больше информации и / или более подробное объяснение моей проблемы, дайте мне знать:)