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

    Если бы в тегах у вас не стоял MySQL, я бы сказал - "используйте схемы". В нормальных СУБД "база данных" - это единица администрирования, а "схема" - это пространство имён, т.е. как раз то, что вам нужно для различных сервисов и подсистем.

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

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

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

    К ответу Александр : как раз таки если это всё сервисы одного предприятия, то и авторизация лучше будет отдельным сервисом, наравне с остальными. Также со своей схемой/префиксом.
    Ответ написан
    Комментировать
  • Как правильно создать архитектуру БД для нескольких сервисов?

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