LINUX.ORG.RU
ФорумAdmin

Репликация MySQL


0

1

Есть задача - раскидать операции чтения и записи по разным машинам. Чтобы SELECT'ы выполнялись на одной машине, а INSERT-UPDATE-DELETE'ы - на другой. Переписать софт для коннекта к разным серверам возможности нет. Можно ли сделать что-то подобное средствами самого мускуля? Гугление пока ничего внятного не дало, посматриваю в сторону MySQL Proxy, но есть опасения, что ее использование ударит по производительности

★★★★★

у самого мускля ничего нет, нужно или каким-нить прокси или на уровне приложения(например, для django есть патчи).

но есть опасения, что ее использование ударит по производительности

главное чтобы глюками не ударило. Конкртно про mysql proxy пишут «we know that RW-Splitting is not for production use yet, it is a Proof of Concept.». К сожалению mysql proxy всегда был источником проблем.

А оверхед зависит от кол-ва запросов и объёма возвращаемого результата. Не думаю что будет сильно высокий но всё надо мерять. Но, раз ты не хочешь на уровне приложения это разруливать то выхода кроме как прокси юзать у тебя нет.

Вообще, напиши с нуля такую софтину :). Для tcp-транспорта это несложно, ты принимаешь соединение, грепаешь по select/update/insert у принятого запроса и после этого всё форвардишь на нужный сервер. Я не скажу что я такое сделаю за 5 минут, но за пару деньков должно получиться. Сначала на питоне(для удобства отладки), потом переписал бы для C(для скорости)

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

я подумал и понял что соврал с простотой реализации. в рамках одного соединения могут быть и selectы и апдейты. Короче, не всё так просто.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Ясно, спасибо.. Будем пробовать прокси :)

boombick ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.