Мне сложно определить, как настроить распределенную систему баз данных в MySQL. У меня 3 сервера, у каждой из них одна и та же модель базы данных. Я настроил их для использования репликации - так что есть 1 Master и 2 Slaves. Все работает нормально, но то, что я хочу сделать дальше, это «фильтровать» данные репликации.MySQL - репликация фильтра строк
Предположим, что у меня есть две таблицы: клиенты и продукты. Я хочу скопировать весь контент таблицы продуктов в оба подчиненных (и я получил эту часть), но хочу реплицировать клиентов из Европы в Slave1 и из Азии в Slave2. Итак, хозяин будет содержать всю информацию о клиентах, но рабов только часть ее. Как я могу это достичь?
Насколько я знаю, сама репликация не поддерживает такую фильтрацию. Я не уверен, но похоже, что разделение также не является ответом.
Есть ли встроенный механизм в MySQL, который может помочь? Если нет, как бы вы разрешили эту ситуацию?
Как решить проблему (или если есть другие варианты) зависит от вашей настройки и особенно от ваших требований, поэтому причина, по которой вы это делаете/чего хотите достичь, выполнив это. Например: можете ли вы жить, просто скрывая данные на разных ведомых устройствах, или вы делаете это для обеспечения конфиденциальности/сохранения возможностей полосы пропускания/оптимизации? Используете ли вы репликацию на основе выражений или строк? Являются ли ваши подчиненные только для чтения (так что изменения не вернутся к мастеру)? – Solarflare