Разделение таблиц БД в MySQL - PullRequest
0 голосов
/ 28 марта 2012

Какова лучшая стратегия для развертывания кластерного MySQL, в котором некоторые таблицы БД размещаются на одном узле, а некоторые другие таблицы размещаются на другом узле, выступая в качестве единой связной БД с точки зрения приложения?

Скажем, если у меня есть 2 узла данных A и B и база данных с 5 таблицами, я хочу, чтобы таблицы 1, 2 и 3 были размещены на узле A, а таблицы 4 и 5 - на узле B.

Нам нужно, чтобы это развертывание было кластерным, или обычное развертывание MySQL справится с этим? Если да, то как?

Как насчет репликации таблицы 4 на А и В?

1 Ответ

2 голосов
/ 28 марта 2012

MySQL обеспечит прозрачный доступ к таблицам, хранящимся в других экземплярах, с использованием объединенного механизма (это было доступно в течение длительного времени).

MySQL предоставляет функцию, называемую секционированием, которая применяется к таблицам дляРаспределить данные по различным файловым системам - но это совсем другое.

Как насчет репликации таблицы 4 на A и B?

Вы можете настроить репликацию mysql.чтобы копировать только определенные таблицы (см. replicate-wild-do-table), однако смешивание федерации и репликации может очень запутать очень быстро - ошибитесь, и вы испортите ваши данные.Используйте один или другой.Не оба.

...