There are 5 Major Data Isolation techniques followed by the SaaS Application Providers in general, they are


A. Shared Schema/Database

B. Separate Schema Shared Database

C. Separate Database

D. Separate VM/SQL Server per tenant

E. Hybrid Model (Combination of all above)


There is no Thumb Rule for choosing an ideal Isolation model for your SaaS Application in specific, because each of the isolation models listed above has its own Pros & Cons. One model could work better for one domain/business may not work effectively for other business, however choosing an ideal data isolation which works better is the challenging task itself.


The below tabular column enlists, the various Pros & Cons for each of the model, Go through them carefully and decide which will work better for your application.


Shared Schema / Shared Database(Shared Table)

Pros

Cons

· Highly Economical

· Easy to manage and maintain

· Easy to roll any DB level Changes to all Tenant

· Makes data sharing, aggregation simple

· Very Ideal for products which offers freemium subscription

· Best for Data integrity & Collaboration

· Ideal for Trial Subscriptions

· Secured when appropriate Security mechanisms employed

Separate Schema / Shared Database

Pros

Cons

· Provides better isolation when compared to model A

· Ideal for Trial Subscriptions

· Moderately Difficult to Manage and Maintain

· Moderately Economic

· Secured when appropriate Security mechanisms employed

· Difficult to roll any DB level Changes to all the Instances

Separate Database

Pros

Cons

· Provides high level of data isolation

· More secured when compared to model A & B

· High resource consumption


· Not very Economical as it involves more infrastructure cost to maintain separate DB for each Tenants in the System

· Not Ideal for Trial Subscriptions

· Difficult to Manage and Maintain

· Difficult to roll any DB level Changes to all the Instances

· Not very Economic

· Delay in Rolling out new DBs for Tenants

Separate DB/Schema per Feature – Each feature/module data will be stored in separate Schema/DM

Pros

Cons

· Highly Secured

· Difficult to combine data from physically separated DBs

· Difficult to allow users from one tenant to access data from another Tenant

· Not Economical

Hybrid Database (Fusion of all above models)

Depends upon the usage/domain/cost/resource define the best model for your application

Sever Per Tenant / One VM per tenant - Each Tenant gets  separate SQL Database server

Pros

Cons

· Extremely secure

· Not Ideal for Trial Subscriptions

· You can give Server access to Tenants

· Not very Economical as it involves more infrastructure cost to maintain separate DB for each Tenants in the System

· High resource consumption


Recommendation


As an expert in the SaaS applications development, we always suggest ISVs to begin with complete shared DB model, and then based on further usage decide which way to go!


Note: Techcello supports all major isolation models discussed above, but if you have any specific ideas in mind, please contact us here