In need of some advice for my next project.
It’s a web app used by firms to service their clients, record payments and generate recurring bills. I plan to then publish an API to allow their web designers to integrate a customer-facing management panel to their existing website.
In your opinion, which do you think I should go with…
-
Single database per tenant - Possibly more secure but increased overheads maintaining multiple databases and making updates very tedious. On the plus side, it offers the best solution for individual tenant migrations and backups/restores.
-
Single database with a schema per tenant - Only one database to manage, host and backup. Have never managed a database in this way so perhaps my limited knowledge is missing some crucial drawbacks?
-
Shared schema for all tenants - Would use a PK something like tenant_id to separate data. My fear is that backups & migrations would be complex for individual tenants and possible security/data leaks if I do not put enough security in place.
Maybe there’s a better solution?
Last updated: