I have to use ASP.NET MVC 3 or above and SQL Server 2008. As per Multi-Tenant Data Architecture post, there are 3 ways to implement multi-tenancy
Separate Databases
Shared Database, Separate Schemas
Shared Database, Shared Schema
I have following details:
- User should be able to backup and restore their data.
- No of tenants : 1000 (approx)
- Each tenant might belong to different domain(url).
- It must support monitoring and management of tenants.
- It must support user authentication and authorization for each tenant
- It must support tenant customization(enable disable features set)
- No of tables in each tenant: 100 (initial)
I would like to know what your experience says about which approach is more suitable for the project considering Economic and Security? Is there any good real time example(open source project) similar to this? I can use one dedicated server for the project.