Как увеличить скорость записи на кластере Galera? используя maxscale в качестве прокси db
В настоящее время я изучаю кластер Galera, используя множество серверов (Linux Centos). Масштабирование трафика чтения очень эффективно и легко, но масштабирование для записи кажется трудным (не улучшенным).
Я использовал много серверов, используя maxscale в качестве маршрутизатора (Readconnroute), чтобы распределять запросы записи в параллелях на все серверы. Но скорость записи не улучшена.
2 ответа
Одним из вариантов будет использование механизма хранения Spider в MariaDB. Он поддерживает сегментирование таблиц и должен улучшить скорость записи по сравнению с кластером Galera. С другой стороны, вы потеряете высокую доступность кластера Galera в пользу увеличения скорости записи.
Этот слайд, сделанный Kentoku Shiba для Spider, является хорошим обзором того, как Spider улучшает масштабируемость записи.
Galera не улучшает скорость записи, поскольку все серверы должны обрабатывать все записи. MySQL очень плохо подходит для масштабирования записей. Вы можете сделать это с прокси (как вы упомянули maxscale). Тогда вы можете осквернить свои данные. Вы должны выбрать ключ для каждой таблицы, чтобы распределить ключи по нескольким серверам.
Я бы предложил использовать другой сервер nosql, например, mongodb, который имеет встроенные возможности шардинга для интенсивного использования при записи. Mongodb гораздо проще в настройке и обслуживании, чем mysql для этой работы.