@zimovid

Проблема с архитектурой БД будущего приложения, как правильно ее организовать?

Добрый день!
Коротко о проекте
Существуют 16 сайтов на WP, на каждый в среднем заходит 200 уникальных посетитлей.
Эти сайты обслуживает 8 человек(заполняют и редактирую статьи).

У меня следующая проблема. Планируется разработка крупного проекта, в качестве ядра взял yii2+psql.
Данное приложение будет связывать 16 сайтов. Подскажите как мне правильно посторить архитектуру бд.
Стоит ли для каждого сайта создать отдельную БД или хранить все в одной большой БД?

Если взять вариант создание для каждого сайта отдельно БД, то возникает резонный вопрос, организации доступа пользователей к админ панели(каждый пользователей имел доступ только к своей бд)?

В случае со вторым вариантом, как лучшей организовать работу бд(создать репликацию, смотрить в сторону шардинга при увлечении нагрузок)?

P.S. Приношу извинения за сумятицу, не правильно произвел не правильный расчет нагрузки на сервер, сайты находятся на хостинге, запросил статистику у тех.поддержки
  • Вопрос задан
  • 493 просмотра
Пригласить эксперта
Ответы на вопрос 3
@AndryG
Мало данных.
Что за проект ? Нагрузки? Посещений? Планируемый рост БД? Примерно транзакций в секунду? Соотношение читающих/пишущих? и много-много ещё чего.

Хотите толковый ответ - описывайте, что за проект. В противном случае получите не менее размытые ответы.
Ответ написан
Комментировать
mitaichik
@mitaichik
Я правильно понял что вы хотите отказаться от WP и переписать все на YII?

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

На счет производительности я б вообще не беспокоился (при 200 * 16 посетителей в день, хотя надо смотреть на ваши запросы). Думаю, тут хватит правильно построенных индексов, кеширования, загрузка в память (in-memory storage/redis/memcache). Ну и даже если не поможет - то проблем никаких нет сделать те же репликации/шардинги/партиционированние/кластеризацию/замену диска на SSD и пр.
Ответ написан
Комментировать
voidnugget
@voidnugget
Программист-прагматик
yii1 морально устарел
yii2 дружит с PHP5.4 и вот только-только допиливается поддержка PHP7
В phalcon'e 2.1 уже есть рудиментарная поддержка РНР7, осталось только подаждать месяц-второй пока допишут.
В Symfony3 (тадам уже 3!) есть полная поддержка РНР7 ещё с предыдущего года.

Если начинать переписывать что-то на что-то РНРшное - нужно понимать что сейчас допилят РНР7 решения и всё автоматом устареет, или же отвалится из-за отсутствия обратной совместимости.

Желательно брать сразу симфонию и Sonata-Project бандлы - это будет идеальной заменой тому же WP.

Даже в случае с PostgreSQL'ем, СУБД имеют достаточно уровней инкапсуляции позволяющих разделять несколько табличных пространств и схем в рамках одной и той же базы данных.

Можно разделить все по каталогам, соответствующим базам данных, схемам и табличным пространствам - нет смысла хранить всё в одной базе, так же как и нет смысла заморачиваться с вездесущими табличными префиксами времён MySQL 3.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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