Появилась идея реализовать б2б саас проект. Появились кое-какие вопросы, связанные с БД.
Кое-какие факты о проекте:
1) Компании регистрируются, заводят аккаунты сотрудников (что-то типа мини-cmr)
2) Компании могут добавить некоторые модули сайта, расширяя функционал.
3) У компаний есть база с сотрудниками, база с клиентами, база статистики, и еще парочку прочей информации.. Компаний ориентировочно до 1000 шт.
Не могу понять, как должна разворачиваться архитектура БД и какие плюсы и минусы у каждого решения. Должна ли быть одна БД под всю систему и отдельный стек таблиц под каждую компанию, или все компании должны вперемешку иметь данные в общих таблицах.
Подскажите, пожалуйста, +/- , или, может быть, знаете, как это обычно реализуют.
При нормальном коде разграничение прав на уровне БД будет предпочтительнее. При кривом коде вы можете и к организации хранения данных подходить как угодно.
Поэтому ваш "СааС" в первую очередь должен начинаться с архитектурного решения, а уже только потом реализовываться на выбранном стеке технологий. И еще раз - сначала определитесь с архитектурой, а уже потом думайте, как разворачивать БД, какой она должна быть и какой должна быть схема хранения и резервирования данных в проекте.
Абстрактные "сотрудники-модули-клиенты-статистика" могут быть реализованы и на PostgreSQL/MySQL и на Riak/MongoDB и на любых других СУБД.