Как лучше организовать базу данных для saas проекта?
Например, у меня есть платформа, на базе которой пользователь может создать свой магазин, как конструктор.
Часто такое видел, что создают домен вида <компания>.example.com
И у меня сложилось впечатление, что под каждый домен они создают базу данных, или что-то такое?
У меня возникла идея, в постгресе разделить каждую компанию в свою схему, что бы у каждого были свои категории, товары и т.д, а не писать сложную логику в приложении, по распределению ролей, но тогда не понятно как быть с главным админом, если он захочет например увидеть всех клиентов со всех админов.
Может быть и своя схема.
А может быть просто отдельная колонка у каждой сущности, которая указывает, какому тенанту объект принадлежит.
Первый вариант проще будет по логике со стороны приложения.
Второй вариант чуть проще поддерживать, так как схема будет обновляться одновременно у всех клиентов (хотя иногда это наоборот будет минус)
NubasLol, ещё вариант с отдельными схемами в теории должен быть более производительным, так как данные одного клиента не будут влиять на данные другого клиента