【发布时间】:2018-05-31 07:06:12
【问题描述】:
与在线购买远程数据库服务器来存储信息相比,购买物理服务器并使用它来存储数据库有哪些优点和缺点?
我是在尝试构建桌面应用程序的人的背景下提出这个问题的。这在价格、易用性、速度等方面如何比较。
【问题讨论】:
与在线购买远程数据库服务器来存储信息相比,购买物理服务器并使用它来存储数据库有哪些优点和缺点?
我是在尝试构建桌面应用程序的人的背景下提出这个问题的。这在价格、易用性、速度等方面如何比较。
【问题讨论】:
一般来说,您不会选择云平台,因为它更便宜。它通常最终与托管您自己的服务器的成本几乎相同。但这确实意味着您要以资本成本换取运营成本。您不必摊销资本资产等。
您也不必处理与硬件相关的故障排除和维护。您不必担心您的机架是否有足够的电力来运行您的服务器。您不会像那样处理固件升级和硬盘更换以及垃圾。这让您可以腾出时间来关注您的业务和应用程序,而不是被基础设施分心。
云平台还使配置新服务器的速度提高了几个数量级。当您的数据库增长并需要更多空间或更多服务器马力时,您可以尽快在云平台 GUI 中单击来修复它。升级服务器不再需要数周时间,并且需要现场技术人员参与。
易用性在很大程度上取决于您需要做什么以及您选择的云提供商。此外,云提供商支持的功能变化如此之快,任何答案都将是短暂的。所以我不能为你回答。
性能是一个考虑因素。云数据库服务器在查询执行时间上的速度与自托管服务器差不多,但延迟是你需要注意的。
远程网络请求的延迟可能为 100 毫秒或更长,具体取决于云数据中心与您的客户端之间的距离。许多应用程序依赖于能够进行快速数据库查询。
例如,假设一个应用请求需要运行 12 个数据库查询。因此,每个查询将最多增加 100 毫秒的请求处理时间。如果您的请求需要在 1 秒内完成所有工作,这是不可持续的。无论如何,1 秒可能太长了。
出于这个原因,应用程序通常需要在与数据库相同的本地网络中运行,以便它们可以每秒多次相互通信,并且延迟最小。
最后,您应该考虑安全性。远距离网络连接很容易被窃听,因此您需要应用程序通过 TLS 或 VPN 与数据库通信。确保您的云提供商支持您需要的安全通信,并确保您的应用仅使用安全连接。
【讨论】:
在云中托管具有巨大的优势:
延迟不是问题,云中可用的硬件可以胜过负担得起的物理服务器。 使用 Docker 等容器,您可以根据需要生成尽可能多的服务/应用程序实例,以实现高可用性和水平扩展。
大公司正在迁移到云端以降低内部 IT 成本并更快地适应快速发展的软件生态系统。云在此之上,能够以最快的速度提供最前沿的功能。
使用物理服务器确实消除了对 Internet 访问的依赖 - 万一情况不稳定,而您的应用程序没有外部依赖项 - 您可以在网络中断时保持应用程序在线。
希望这会有所帮助。 -kevtsi
【讨论】: