Агрегирование данных с нескольких серверов MySQL
У меня есть 10 серверов MySQL, и каждый из них содержит базу данных, которую необходимо реплицировать на один централизованный сервер MySQL. Сложность состоит в том, что каждый сервер должен реплицировать свою базу данных в одну и ту же базу данных на централизованном сервере, создавая единую централизованную базу данных агрегированных данных со всех отдельных серверов. Хотя различные таблицы содержат первичные ключи, эти столбцы можно безопасно игнорировать, и их не нужно реплицировать на централизованный сервер. Структура базы данных идентична на каждом сервере. Каков будет лучший способ сделать это?
1 ответ
Стандартный способ сделать это - назначить автоинкрементную колонку n каждой из этих таблиц и увеличить их на интервал - 10, в вашем случае. Каждый сервер будет использовать уникальное смещение в интервале, поэтому сервер 1 будет использовать идентификаторы 1, 11, 21 и т. Д., Сервер 2 будет использовать идентификаторы 2, 12, 22 и т. Д.
Это гарантирует, что они никогда не будут перекрываться.
Тогда вам нужно только настроить репликацию с каждого исходного сервера на централизованный агрегатор и объединить все записи.