This project is read-only.

Multi-tenant versus separate database

May 4, 2009 at 7:46 PM
Recently, We've setup the client/server.  Good layout of the program.  The pattern used in the database is giving each user its own database.  Does this make it easy to extend the application's data model to meet users' individual needs, and restoring a user's data from backups in the event of a failure?   Unfortunately, this tends to lead to higher costs for maintaining and backing up users. Do you have plans to provide a multi-tenant database architecture?
Jun 1, 2009 at 2:17 AM

The reason why we designed the database as such is to conform to the restriction of SQL Server Express. In particular, the database size in SQL Server Express is limited up to 4GB. Since user data accommodates XPS document (as BLOB), we took this "4GB limit" very serious. We estimated that each user can have dozens of megabytes document for each classes, and it can be several hundreds megabytes per user per year. Therefore, it can easily exceed 4GB if we designed the database as usual "all tables in the single database" layout.

I agree that this is not very usual pattern, and makes somewhat tough to maintain the user data, but we have no plan to re-design the database layout at this moment. We know the standard or richer edition of SQL Server doesn't have such restriction, so please let us know if multi-talent database is such worth doing to support non-express edition of SQL Server case.