Systems Engineering and RDBMS

Data Architecture Options for Multi-tenant applications

Posted by decipherinfosys on April 15, 2010

A client of ours is in the requirements and initial design phase of developing a multi-tenant application and the question that was raised in yesterday’s meeting was about the different options from a data architecture perspective for such applications.  Let’s clarify what is meant by multi-tenant applications:

A multi-tenant application is one which uses the same instance of the software to service many client organizations(tenants).  In contrast with a multi-tenant application, a multi-instance application separates out the different instances of the software for different client organizations(tenants).  In a multi-tenant application, many tenants share the same application software & OS which runs on the same hardware and uses the same data storage mechanism.  The separation between the tenants is done by using a good application design so that the tenants have a view of their own data set and nothing else.

As you can understand from above, the two sides of the equation are:

a) Completed isolated databases/schemas so that each tenant has their own database/schema, OR

b) A shared schema where all the tenants are in the same schema.

There are a lot of pros and cons of a multi-tenant application.  Here is an excellent MSDN article on this topic which covers in great details the discussion on the different data architectures that can be used for multi-tenant applications and what are their pros & cons.  A must read for anyone faced with this design/architecture issue.

One Response to “Data Architecture Options for Multi-tenant applications”

  1. […] This post was mentioned on Twitter by Paul Egan. Paul Egan said: Data Architecture Options for Multi-tenant applications […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: