Ну, чтобы понять это, вам нужно понять, как MySQL обрабатывает кластеризацию.Есть 2 основных способа сделать это.Вы можете выполнить репликацию Master-Master или кластеризацию NDB (сетевая база данных).
Репликация Master-Master не поможет с нагрузками записи, поскольку оба мастера должны воспроизводить каждую выполненную запись (так что выничего не получаю).
Кластеризация NDB будет работать очень хорошо для вас тогда и только тогда, когда вы будете выполнять в основном поиск по первичному ключу (поскольку только при поиске с помощью PK NDB может работать более эффективно, чем обычные настройки мастер-мастер).Все данные автоматически распределяются между многими серверами.Как я уже сказал, я рассмотрел бы это, только если подавляющее большинство ваших запросов - не что иное, как поиск по ПК.
Так что остается еще два варианта.Sharding и удаление от MySQL.
Sharding - хороший вариант для решения подобной ситуации.Однако, чтобы использовать все преимущества шардинга, приложение должно быть полностью осведомлено об этом.Таким образом, вам нужно будет вернуться и переписать весь код доступа к базе данных, чтобы выбрать подходящий сервер для общения для каждого запроса.И в зависимости от того, как настроена ваша система в настоящее время, может оказаться невозможным эффективное разбиение ...
Но другой вариант, который, я думаю, может лучше всего удовлетворить ваши потребности, это переключение с MySQL.Так как вам все равно потребуется переписать код доступа к БД, переключение на базу данных NoSQL не должно быть слишком сложным (опять же, в зависимости от вашей текущей настройки).Существует множество серверов NoSQL, но мне нравится MongoDB .Он должен быть в состоянии противостоять вашей нагрузке записи без беспокойства.Просто знайте, что вам действительно нужен 64-битный сервер, чтобы использовать его правильно (с вашим объемом данных).