Я думал об этом уже 3 дня и спрашивал в IRC, но я тоже хочу посоветоваться с вашим опытом. В основном это сайт с высоким трафиком, который использует Drupal (не начинайте, у меня нет выбора в этом вопросе). Drupal делает некоторые не очень умные вещи, такие как а) хранение кеша в базе данных и б) хранение сеансов в базе данных. Первую проблему я решил с помощью модуля. Вторая проблема, которую я не могу решить, потому что таблица сеанса очень странная, и единственный автор модуля прокси-сервера сеанса сказал, что он сломает другие модули из-за несовместимости таблицы сеанса Drupals / нестандартной несовместимости (что и произошло, поэтому я больше не могу ее использовать) . Самая большая проблема заключается в том, что если бинлоги включены, то обновления сеанса в таблице db вызывают высокий ввод-вывод и около 100 МБ / 40 сек бинлогов. Я очистил 200 ГБ бинарных журналов за последние 2 дня. Проблема в том, что запросы на обновление сеанса огромны, сейчас это около 3,5 тыс. Запросов / с, что вызывает 60 Мбит / с sql-запросов с php на mysq, а Redis - 5 Мбит / с. Единственный вариант - отключить бинлоги. Более того, БД в любом случае скоро будет в кластере Galera. 2 вопроса
а) Как работать с восстановлением на определенный момент времени без бинлогов? Несколько оперативных резервных копий в течение дня?
б) Я полагаю, что разумно отделить таблицы учетных записей пользователей от остальной части базы данных и поместить их в двоичные журналы, потому что они, безусловно, нуждаются в восстановлении на определенный момент времени. Но для этого потребуется отдельный кластер?
Заранее спасибо за помощь
ps: я не могу использовать binlog-ignore-db, потому что Galera игнорирует фильтры binlog! Мне пришлось бы поместить отдельные базы данных в отдельные экземпляры, но я не уверен, что хочу запускать несколько экземпляров mysql ...