Вот несколько способов реализации мультитенантности на основе схемы Prisma:
-
Общая база данных с идентификатором арендатора. В этом подходе все данные арендаторов хранятся в общей базе данных, а идентификатор арендатора добавляется в каждую таблицу, чтобы различать данные между арендаторами. Запросы включают фильтр на основе идентификатора арендатора для получения конкретных данных арендатора.
-
Отдельные базы данных для каждого арендатора. Каждый арендатор имеет собственную выделенную базу данных, полностью изолированную от других арендаторов. Схема Prisma реплицируется для каждого арендатора, в результате чего для каждого арендатора создаются отдельные подключения к базе данных.
-
Общая база данных с разделением схем. Этот метод предполагает использование общей базы данных, но разделение данных клиента с использованием разных схем базы данных. Каждая схема представляет конкретного арендатора, что обеспечивает эффективную изоляцию данных и управление ими.
-
Разделение данных на уровне строк. При таком подходе данные для разных арендаторов хранятся в одних и тех же таблицах, но каждая строка связана с конкретным арендатором. Запросы изменены и включают фильтр по идентификатору арендатора, гарантируя получение только релевантных данных.
-
Динамические подключения к базе данных. В этом методе динамические подключения к базе данных устанавливаются на основе контекста клиента. Каждый арендатор имеет свои собственные сведения о подключении, что обеспечивает эффективный доступ к данным и их изоляцию.
-
Гибридные подходы. Также возможно объединить несколько методов, упомянутых выше, для создания гибридного многоарендного решения, отвечающего конкретным требованиям.