Я смотрю на переключение с отдельного отдельного сервера MySql на установку Master-> Slave Replication (с использованием 2 серверов). В настоящее время существует ряд тяжелых заданий на запись (вставка / обновление / удаление) (для загрузки свежих данных из внешних источников), которые выполняются в течение нескольких часов каждый день. Эти задания замедляют «чтение» (выборку) производительности в соответствующих таблицах. Надеясь, что репликация немного поможет с этой проблемой (среди других проблем, таких как резервные копии).
Вопросы:
1) Считывает ли блокировка репликации подчиненного потока SQL Thread при выполнении журнала ретрансляции? Попытка получить более полное представление о том, как на самом деле выполняется SQL (на ведомом устройстве). Я надеюсь, что выполнение на ведомом устройстве более «оптимизировано» (в отличие от оригинальных операторов, выполняемых на ведущем устройстве), поэтому любая потенциальная блокировка минимальна. В противном случае одно и то же узкое место «чтения» производительности, представленное на ведущем устройстве, будет перетекать в подчиненное устройство.
2) При чтении документов звучит так, как будто по умолчанию используется SBR (репликация на основе операторов). Не уверены, если изменить это на RBR (на основе строк)? Или "смешанный". Что было бы рекомендовано? Я склонен остаться с дефолтом, но на самом деле не уверен.
3) Когда некоторые задания завершены, мы в настоящее время запускаем ANALYZE & OPTIMIZE, чтобы восстановить файловое пространство для соответствующих таблиц, в которых выполнялись тяжелые удаления / обновления. Я понимаю, что эти команды будут реплицированы на ведомое устройство, если мы не запустим их с «NO_WRITE_TO_BINLOG». Не уверен, как влияют ведомые таблицы при выполнении большого количества обновлений / удалений. Нужно ли даже копировать эти команды на раба? Основная проблема заключается в том, что OPTIMIZE, в частности, блокирует таблицу, а на действующей производственной площадке (и большой таблице) это очень большая проблема.
Заранее спасибо за любые указания / понимание!