我同意 Daniel Earwicker 的观点——安全问题存在很大缺陷。
如果您有一个带有网络服务器的单框设置,并且上面只有该网络服务器的数据库,如果该网络服务器受到威胁,您将丢失网络服务器和该特定应用程序的数据库。
这与您在 2 台服务器设置中丢失网络服务器时所发生的情况完全相同。您丢失了 Web 服务器,只丢失了该特定应用程序的数据库。
在您有 2 个服务器设置的情况下,“维护数据库服务器的其余部分的完整性”的论点是无关紧要的,因为在第一种情况下,与所有其他应用程序(如果有的话)相关的所有其他数据库服务器也不会受到影响- 就像它们一样,被托管在其他地方。
同样,对于 Kev 提出的问题“驻留在数据库服务器上的所有其他数据库怎么样?你失去的只是一个数据库。
- 如果您在一台服务器上托管应用程序和数据库,您将只在该服务器上托管与该应用程序相关的数据库。因此,与多服务器设置相比,单服务器设置不会丢失任何额外的数据库。
相比之下,在 2 服务器设置中,攻击者可以访问 Web 服务器,并通过代理,对数据库服务器的有限权限(在最佳情况下),他们可以通过携带其他应用程序的数据库处于危险之中出慢速、内存密集型查询或最大化数据库服务器上的可用存储空间。通过将应用程序分离到它们自己的关注点中,就像虚拟化一样,您还可以出于安全目的以积极的方式隔离它们。