200 个站点使用 200 个 SQL Express DB 还是 1 个 SQL 标准?

200 个站点使用 200 个 SQL Express DB 还是 1 个 SQL 标准?

假设您有一台 Amazon EC2 服务器。什么应该使用较少的资源:

200 个网站....

  1. 每个使用单独的 SQL Express DB(共 200 个,每个站点 1 个)
  2. 或者所有网站使用1 SQL 标准数据库?

这个问题只关注这两个因素。没有其他应用。

感谢您的帮助

  • 每个数据库不超过 1 GB

答案1

这 200 个网站是否由您为其他个人团体托管?您能告诉我们一些有关您具体在做什么的信息吗?最初,我不太担心这种情况下的资源,而更担心关注点分离和管理开销。

需要考虑的一件事是,SQL Express 数据库的数据大小上限为 10GB,因此这可能是您的决定因素。如果您的单个数据库超出此上限,那么您将陷入困境。

有关 SQL Server 版本的详细信息这里

编辑:
如果有 200 个可能为 1GB 的数据库,您最好使用 Standard,但我也会考虑在其中使用单个数据库。Express 的内存限制为 1GB,而 Standard 仅受主机操作系统的限制,这将使您可以选择将更多的内存用于 SQL。至于哪个占用的内存更少,很难说不知道您的数据架构。在单个数据库中,您是否有每个表的 200 个副本,还是将所有 200 个站点的数据保存在一个表的副本中?您将看到索引大小的差异,这会影响内存消耗。SQL 将尝试将尽可能多的数据库加载到内存中,并且配置允许这样做。

JohnThePro 还很好地指出了 Express 不支持的 Standard 中的其他功能。

答案2

如果可以,请选择标准版。不仅数据库有大小限制,还有其他因素,例如事务快照。

Express 非常适合测试和开发,但是当您上线时,我推荐标准版。

查看更全面的功能比较这里

答案3

我认为单个数据库比 200 个数据库更能高效地利用内存。查询计划之类的东西将针对每个数据库 - 因此如果每个站点都使用完全相同的查询访问自己的数据库,则最终必须为每个站点至少构建一次该计划。计划缓存可能也有限,因此多个数据库方案会减少可用空间。对于一个包含所有站点信息的表的数据库,查询计划只会生成一次,而更多查询计划将放入缓存中。

如果您知道所有站点的数据库加起来不会超过 4gb(或者愿意在那时更新),那么您可以使用 1 db 执行单个 Sql express 实例。

答案4

您是在谈论运行 200 个 SQL Express 实例,每个实例有 1 个数据库,与运行 1 个 SQL Server Standard 实例有 200 个数据库吗?

SQL Server Express 的核心引擎与该产品的更高级别版本相同。您可以使用 SQL Server Express 运行 200 个数据库。然后,如果您由于 Express 技术限制而遇到性能瓶颈...请升级到标准版。

相关内容