Bee*_*eep 5 architecture database-performance sql-server
我们正在构建一个应用程序,其中每个客户端都有自己的数据库。没有一个数据库特别大(每个 20MB 到 400MB),但将有大约 5,000 个要启动,并且在任何时候都会有 100 个左右处于活动状态。
我们的团队一直在讨论如何最好地设置系统。客户每 2 周只访问一次他们的数据库(401k/财务处理),并且一次只使用 10-30 分钟。操作在读/写之间均匀分布。
我们团队中有一半人认为因此我们应该将数据库分布在多个便宜的服务器上并只使用 SQL Express ...他们说内存/缓存不会那么有用,因为每个数据库的使用时间都很短(我们在 1 台以上的服务器上没有完整 SQL 标准的预算)。
是这种情况吗?更高的内存限制确实是我看到 MSSQL Standard 给我们带来的唯一优势(我们已经有了用于执行备份/恢复、架构升级、迁移数据等的脚本)。
更新
我对多个数据库与一个数据库的性能特征特别感兴趣。使用单个 200MB 数据库的最终用户体验会不会比使用 1TB 数据库更好(即使两者都编入了良好的索引)?这也意味着我们可以非常快速地轻松备份/恢复单个客户端数据库,对吗?我们是否需要调整 SQL Server 以更好地处理“数千个数据库”的情况?
我会把所有的东西都放在一台服务器上。维护几台廉价的 sql Express 服务器将是一件痛苦的事情。您可以将数据库、日志和临时数据库分布在不同的 RAID 磁盘阵列上。您应该考虑将临时数据库移动到它自己的数组,因为它可能会同时被所有数据库使用。
查看 2008 年的资源调控器,确保没有用户会导致服务器陷入瘫痪。但它仅存在于企业版中。