dskozin
@dskozin

Какой лучший путь глобального разделения данных в БД?

Здравствуйте!

Скажите, у кого был опыт создания СааС решений, какой использовался механизм глобального разделения данных? Разные БД на каждую компанию, или какой-то признак компании на все данные? Или вообще не использовался никакой глобальный скоуп, а просто связи сущностей?
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 2
https://www.postgresql.org/docs/9.5/static/ddl-sch...
В PostgreSQL есть схемы. Это уровень абстракции между базой данных и таблицей.
Для разных аккаунтов разные схемы. В них можно держать одни и те же таблицы, можно разные. Общие таблицы можно держать в схеме public. Все получается очень гибко. Главное, чтобы ваше приложение обрабатывало все это дело.
Пример. Аккаунт клиента находится на поддомене customer.saasapp.com или в saasapp.com/customer. При обращении к этому урлу курсор ставится на соответствующую схему. Все обращения к БД в рамках этого запроса идут к таблицам внутри этой схемы. Если запрашиваемой таблицы нет, то она ищется в схеме public.
Ответ написан
chelkaz
@chelkaz
Зависит от объема и многообразия информации.
Ответ написан
Ваш ответ на вопрос

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

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