Мы делаем обзор наших текущих систем, пытаясь выяснить, можем ли мы улучшить производительность и надежность.
В настоящее время мы запускаем множество внутренних Rails-приложений и нашего сайта на основе Rails. Некоторые из них уже Rails 3, некоторые из них конвертируются в Rails 3. Они все подключаются к следующей установке MySQL.
mysql01 ( master server) => mysql02 (slave)
= > (ежедневное резервное копирование БД на диск, которое создается на ежедневной, еженедельной, ежемесячной и полугодовой основе).
Все записи происходят на mysql01, и большинство коротких прочитанных идут к нему, некоторые "более ресурсоемкие чтения" (например, ежемесячные/еженедельные отчеты, которые занимают 3-10 минут для запуска и выводят данные в csv или резервные копии), перейдите в mysql02 сервер. Мы посещаем 3-5 тыс. Посещений в день на нашем сайте и имеем около 20-30 внутренних пользователей, ежедневно использующих различные приложения для инвентаризации, обработки заказов и т.д. Таким образом, эти серверы не особенно находятся под большими нагрузками, кроме тех отчетов, которые запуск ведомого устройства в любом случае.
Все серверы запускаются в пуле virtualized XEN
на виртуальных машинах Debian Lenny.
Итак, мы делаем обзор систем, и кто-то бросил предложение переключиться на MySQL Cluster (NDB)
setup. Я знаю это теоретически, но на самом деле никогда не запускал его. Так кто-нибудь, у кого есть опыт работы с ним, знает какие-либо про/против против нашей текущей настройки и какие-то особые оговорки, когда речь идет о приложениях Ruby/Rails?