Теги для перехода

скейтwindows serverLHCевровидениеpsдизайнинфляциязаправкаPocketPCсделатьнакластер

mysql масштабирование

интернет, репликация, кластер, масштабирование, MySQL
Есть движок рекламной сети, который работает на одном сервере и с одной базой MySQL. За сутки в сети совершается несколько миллионов показов в связи с этим огромная нагрузка на БД и отказы сервера.

Как можно распределить нагрузку на несколько серверов?

Имеет ли смысл использовать mysql репликацию ?

Проблема в том что на каждую операцию чтения (выборка подходящих баннеров из базы (сложный JOIN запрос)) приходится операция записи (пишется лог показа этого баннера а так же вычитаются деньги с баланса рекламодателя, это делается сразу чтобы исключить ситуацию когда рекламодатель уйдет в минус)

Подскажите пожалуйста возможные варианты решения этой проблемы, и как вообще масштабируют проекты где много операций записи ?
Можно логи показа баннера и работу с балансом оформить внутренними процедурами на стороне mysql-сервера, а под относительно статичные операции чтения выделить репликой reader-сервер с доступом всех скриптов только на чтение. Писать продолжишь на основной мастер.

Дополнение #1
Имхо это уже необходимое зло. Лишний баннер можно оформить подарком, можно увести пользователя в минус, можно ввести неснижаемый остаток. Проблема отставания реплик, пожалуй, всегда самая мерзкая.
Вернуться на главную Вернуться в раздел
© 2010 Фома Первак Карта сайта
Hosted by uCoz