Rails и несколько баз данных в бэкэнде - PullRequest
0 голосов
/ 15 января 2012

В настоящее время у меня есть приложение Rails, которое настроено на одну базу данных MySQL.

Проблема в том, что размер базы данных растет очень быстро.Примерно ~3,500,000 записей каждые 3 месяца и 1 GB в размере.

Несмотря на то, что применяется правильная индексация, приложение, казалось, работало, как и ожидалось, до недавнего времени, когда запросы к базе данных начали истекать.

Я действительно расширяю границы MySQL здесь?Есть ли плагин Rails, который я могу использовать, чтобы мой код мог работать с несколькими базами данных в резервной копии, чтобы один сервер БД не был перегружен?

Что бы вы сделали в такой ситуации?

Ответы [ 2 ]

0 голосов
/ 15 января 2012

Размер, который вы здесь описываете, ни в коем случае не слишком велик для одного экземпляра mysql.Несколько миллионов строк и общий размер нескольких G не так уж и плох.Вы можете значительно повысить производительность, просто настроив свои конфигурации.Вы используете Innodb?Если это так, внимательно посмотрите на свой файл my.cnf и обратите на вас пристальное внимание innodb_buffer_pool_size.Кроме того, каков ваш патент доступа?несколько чтений, мало пишет?несколько пишет несколько чтений?и то и другое ?Вы можете добавить кеширующий слой, такой как memcached.В случае многократного чтения вы можете добавить реплики ведомых.Короче говоря, у вас может быть какая-то взлетно-посадочная полоса, прежде чем вам придется ограждать базу данных.

0 голосов
/ 15 января 2012

вы можете попробовать разбиение базы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...