【问题标题】:Cloud database server vs physical database云数据库服务器与物理数据库
【发布时间】:2018-05-31 07:06:12
【问题描述】:

与在线购买远程数据库服务器来存储信息相比,购买物理服务器并使用它来存储数据库有哪些优点和缺点?

我是在尝试构建桌面应用程序的人的背景下提出这个问题的。这在价格、易用性、速度等方面如何比较。

【问题讨论】:

    标签: mysql database server


    【解决方案1】:

    一般来说,您不会选择云平台,因为它更便宜。它通常最终与托管您自己的服务器的成本几乎相同。但这确实意味着您要以资本成本换取运营成本。您不必摊销资本资产等。

    您也不必处理与硬件相关的故障排除和维护。您不必担心您的机架是否有足够的电力来运行您的服务器。您不会像那样处理固件升级和硬盘更换以及垃圾。这让您可以腾出时间来关注您的业务和应用程序,而不是被基础设施分心。

    云平台还使配置新服务器的速度提高了几个数量级。当您的数据库增长并需要更多空间或更多服务器马力时,您可以尽快在云平台 GUI 中单击来修复它。升级服务器不再需要数周时间,并且需要现场技术人员参与。

    易用性在很大程度上取决于您需要做什么以及您选择的云提供商。此外,云提供商支持的功能变化如此之快,任何答案都将是短暂的。所以我不能为你回答。

    性能是一个考虑因素。云数据库服务器在查询执行时间上的速度与自托管服务器差不多,但延迟是你需要注意的。

    远程网络请求的延迟可能为 100 毫秒或更长,具体取决于云数据中心与您的客户端之间的距离。许多应用程序依赖于能够进行快速数据库查询。

    例如,假设一个应用请求需要运行 12 个数据库查询。因此,每个查询将最多增加 100 毫秒的请求处理时间。如果您的请求需要在 1 秒内完成所有工作,这是不可持续的。无论如何,1 秒可能太长了。

    出于这个原因,应用程序通常需要在与数据库相同的本地网络中运行,以便它们可以每秒多次相互通信,并且延迟最小。

    最后,您应该考虑安全性。远距离网络连接很容易被窃听,因此您需要应用程序通过 TLS 或 VPN 与数据库通信。确保您的云提供商支持您需要的安全通信,并确保您的应用仅使用安全连接。

    【讨论】:

    • 我不得不说...“通常最终与托管您自己的服务器的成本几乎相同”...。什么?你如何达到这个结果?购买硬件、设置它、保护它免受火灾、电气故障、使其可维修(冗余)等比从 AWS 购买小型 RDS 实例要贵得多。我意识到这取决于规模,但对于提出此类问题的人,我看不出这是一项大规模行动。鉴于您有 330k 代表,我真的对捍卫这个答案很感兴趣,而不是试图嘲笑。
    • @nickdnk,我说的只是服务器本身的成本,不包括我计算的劳动力。您说得对,安装和管理本地数据中心的额外工作非常重要。但是管理您的 AWS 基础设施的员工时间也不是免费的,尽管它更少。我为我上一家公司的一个大型应用程序设计并预算了迁移到云端,结果每月 AWS 资源的成本大约与我们每月用于数据中心租金、互联网馈送和每月硬件摊销的成本一样多在我们传统的本地平台上。
    • 我明白了。但在这种情况下——请求是单个数据库服务器——你是否不建议使用云,因为你从中获得的好处——从不必购买和安装物理硬件到点击式部署(并且没有维护) - 更适合这种情况?在这里,我假设 OP 希望在云或本地托管他的整个“桌面应用程序”(无论这意味着什么)。我自己在云上托管了一个我自己永远无法按照相同标准自行维护的应用程序。
    • @nickdnk,我不了解 OP 在管理服务器方面的技能,或者他们的应用程序对数据库低延迟访问的要求。我不会提出明确的建议,而是尝试描述权衡。
    【解决方案2】:

    在云中托管具有巨大的优势:

    1. 如果您托管自己的物理服务器,则您或您的公司必须自己修补并维护物理服务器和相关的网络基础设施 - 这种开销是巨大的。几乎所有这些都可以委托给云端。
    2. 物理服务器的生命周期有限 - 硬盘驱动器等不会永远持续下去,但在云中,您的应用程序是可移植的,只要您为云服务付费就可以继续使用。
    3. 使用 AWS/Azure 等大型云服务,云在全球范围内可用,您将无法与它的可用性竞争。
    4. 在云中,您可以购买所需的东西 - 随着应用程序的扩展,您的云占用空间也会增加。将此与添加物理服务器、硬件和启动的交付时间进行比较,云会胜出。
    5. 云拥有大量服务,可让您快速开发应用程序,例如消息队列、不同的数据库引擎、身份验证服务等可以在您的本地服务器上实现,但这需要时间并且有其自身的许可成本问题。

    延迟不是问题,云中可用的硬件可以胜过负担得起的物理服务器。 使用 Docker 等容器,您可以根据需要生成尽可能多的服务/应用程序实例,以实现高可用性和水平扩展。

    大公司正在迁移到云端以降低内部 IT 成本并更快地适应快速发展的软件生态系统。云在此之上,能够以最快的速度提供最前沿的功能。

    使用物理服务器确实消除了对 Internet 访问的依赖 - 万一情况不稳定,而您的应用程序没有外部依赖项 - 您可以在网络中断时保持应用程序在线。

    希望这会有所帮助。 -kevtsi

    【讨论】:

      猜你喜欢
      • 2018-02-23
      • 2012-03-11
      • 2012-04-21
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 2020-04-15
      • 1970-01-01
      相关资源
      最近更新 更多