我正在考虑一个数据库设计问题,非常感谢任何帮助。
我们正在设计一个应用程序,它有20个表(在新功能开发期间可能最多增长到30个)
技术栈
MVC4,.NET 4.X, Entity Framework 5, SQL Server 2012, ASP.NET成员身份验证框架
用户数量
我们计划为大约1000个客户提供服务,每个客户平均有20个用户。
问题
我们是否应该设计数据库和应用程序的方式,使得表被逻辑分区,即所有客户都使用相同的表,并使用分区guid来分隔数据。
还是
选择多个数据库,在新功能发布和错误修复时可能会更加困难。但可能允许扩展?
注意:其中一个表具有存储文件的二进制列(每个记录最大为5MB)
除此之外,我们需要考虑Membership框架表,我们将其扩展到另一个自定义表并将用户逻辑映射到分区guid。