Об этом позаботится некоторая хитрость в схеме.
Обычно у вас есть 2 типа таблиц: справочные таблицы и динамические таблицы.Справочные таблицы имеют одинаковое содержимое во всех базах данных, например, коды стран, коды отделов и т. Д.
Динамические данные - это данные, которые будут уникальными для каждой БД, например, временные ряды, статистика продаж и т. Д.
Справочные данные должны храниться в главной БД и реплицироваться в динамические базы данных после изменений.
Все динамические таблицы должны иметь столбец для DB_ID, который будет частью составного первичного ключаНапример, ваш временной ряд может использовать db_id, measure_id, time_stamp.Вы также можете использовать хэш DB_ID для генерации первичных ключей, использовать один и тот же генератор pk для всех таблиц в БД.При объединении их из разных DBS данные будут уникальными.
Таким образом, у вас будет 3 типа баз данных:
Мастер ссылок -> реплицируется на все остальные
отдельная динамическая -> реплицируется в полную динамическую
полная динамическая -> реплицируется из эталонного мастера и всех отдельных динамических.
Тогда вам решать, какВы будете выполнять эту репликацию, псевдо-в реальном времени или методом грубой силы, обрезать и перестраивать полную динамику каждый день или по мере необходимости.