Arios
@Arios

Как правильно создать архитектуру БД для нескольких сервисов?

На работе просят создать несколько сервисов: вывод информации на табло, статистика нагрузки кабинетов, заявки на тех.обслуживание и т.д.
На этапе "обдумывания" возник вопрос, как организовать БД. Для каждого сервиса создавать отдельную БД, или же делать все в одной? Не долго думая, можно использовать одну базу и просто добавлять какой-то префикс к таблицам. На сколько это целесообразно? Думаю ответ очевиден, но не спросить я не могу. :)
P.s. Для разработки выбрал framework Laravel 5.
  • Вопрос задан
  • 755 просмотров
Пригласить эксперта
Ответы на вопрос 2
Если бы в тегах у вас не стоял MySQL, я бы сказал - "используйте схемы". В нормальных СУБД "база данных" - это единица администрирования, а "схема" - это пространство имён, т.е. как раз то, что вам нужно для различных сервисов и подсистем.

Судя по тому, что вы описали, сервисов у вас несколько, но предметная область одна и та же, верно? т.е. эти сервисы всё-таки связаны, и возможно (даже вероятно) вам пригодятся связи между таблицами разных сервисов. И тут я бы тоже вам сказал "используйте схемы".

В разных БД желательно хранить абсолютно несвязанные данные, такие, что можно взять одну из БД и спокойно перекинуть на другой сервер, или вообще на другую СУБД. Например, в одной БД у вас CRM-система, а в другой хранит данные ваш почтовый сервер. А в третьей данные для промо-сайта.

Но т.к. вы указали MySQL, я говорю вам "используйте префикс к таблицам".

К ответу Александр : как раз таки если это всё сервисы одного предприятия, то и авторизация лучше будет отдельным сервисом, наравне с остальными. Также со своей схемой/префиксом.
Ответ написан
Комментировать
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
Если будут связи между этими таблицами - например, информация на табло и техобслуживание связаны как-то, то я бы делал в одной. Если нет - в разных, потому что это изначально разные бизнес-процессы.
В общем случае - зависит от объема работ. Если небольшое количество таблиц, то все в одной, если много - в разных. Просто исходя из удобства разработки.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы