3 ms·
(He/him). If your app is super-sensitive and absolute security is an absolute must then sure, using a separate database for every customer will help you answer
by beachy 5y ago
(He/him).
If your app is super-sensitive and absolute security is an absolute must then sure, using a separate database for every customer will help you answer those pesky security questions "How do you ensure that resources are not accessed by other tenants?".
My experience though is that if you are after velocity, and ease of maintenance, then you need a single database and tables with a "tenant id" column in them.
Even simple things get hard when you have separate databases. Say I want to know how many customers have how many widgets on average. If everyone's in one database, that's a SQL query. If they're all separate, it's ten times harder to answer.
- andy_ppp 5y agoThis isn’t possible if you’re expecting all transactions to be in a single table, at some point you’re going to have to share things making any query at scale more complex.
- sa46 5y agoCan you clarify? You can vertically scale a database a few orders of magnitude. My view is that “some point” is a long way off for most OLTP workloads.
- simooooo 5y agovirtually all of our clients demand to be isolated on their own database