Задать вопрос
rshaibakov
@rshaibakov
Web-разработчик

Есть ли примеры горизонтального масштабирования БД на Laravel?

Есть приложение на laravel 5.1. Оно работает с БД PostgreSQl. Так как нагрузка на приложение и БД с каждым разом увеличивается, то появилась необходимость в реализации горизонтального масштабирования. Требуется разделить данные некоторых таблиц по разным серверам в зависимости от ID компаний (как пример).

Алгоритм реализации данного функционала я понимаю. Но в сомнениях применительно этого масштабирования в рамках Eloquent ORM, т.к. из коробки возможности разделения данных одних и тех же таблиц по разным серверам нет. В Гугле, к сожалению, по этому поводу ответов не нашел.
У кого есть опыт разработки подобного решения на laravel или может кто видел примеры реализации, поделитесь пожалуйста информацией.
  • Вопрос задан
  • 2261 просмотр
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
AmdY
@AmdY
PHP и прочие вебштучки
Воспользуйтесь каким-нибудь Postgres-XL и решайте проблемы базы данных на стороне баз данных, а не тащите эту логику в приложение.
Ответ написан
@dimalez
PHP программист
Eloquent имеет поле
protected $connection = 'mysql2';

Т.о. можно в коде модели устанавливать, к какой базу данных обратиться для операции:
public function save()
    {
        $this->setConnection('mysql2');
        parent::save();
    }


Элегантно и полностью под контролем разработчика.

Подробнее об этом: fideloper.com/laravel-multiple-database-connections
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы