SaaS applications are on the rise, reducing costs, maintenance, etc.
We know we have the concept: MultiTenancy ( link )
They are:
By Column: Put an idClient column on all tables
By Schema: Separate clients by schema, client1.contactspay client2.contactspay client123234234.contacts etc.
By Bank: Each client with its database.
My question:
Separation by Column, tends to be the easiest, however, when seeing a DBA is very bad? if you have more than 130 tables and about 200 clients?
What about security? Remembering that what separates the data from each client, is a simple "Where" where idclient =? Or how could this security be done?
And performance? of queries, inserts, delete
Banks that will be created with this structure: Sql Server, MySql (Structure Generated with Entity Framework)