了解托管数据库

来自菜鸟教程
跳转至:导航、​搜索

介绍

安全、可靠的数据存储是几乎所有现代应用程序的必需品。 但是,对于许多团队来说,自我管理的本地数据库所需的基础设施可能过于昂贵。 同样,具有有效维护生产数据库所需的技能和经验的员工也很难找到。

云计算服务的普及降低了与配置数据库相关的准入门槛,但许多开发人员仍然缺乏管理和调整数据库以满足其需求所需的时间或专业知识。 出于这个原因,许多企业正在转向 托管数据库服务 来帮助他们构建和扩展数据库以适应其增长。

在这篇概念性文章中,我们将讨论什么是托管数据库以及它们如何使许多组织受益。 我们还将介绍在托管数据库解决方案之上构建下一个应用程序之前应该考虑的一些实际考虑因素。

托管数据库简而言之

托管数据库是一种云计算服务,其中最终用户向云服务提供商付费以访问数据库。 与典型的数据库不同,用户不必自己设置或维护托管数据库; 相反,提供者有责任监督数据库的基础设施。 这允许用户专注于构建他们的应用程序,而不是花时间配置他们的数据库并使其保持最新。

供应托管数据库的过程因供应商而异,但通常与任何其他基于云的服务类似。 注册帐户并登录仪表板后,用户查看可用的数据库选项(例如数据库引擎和集群大小),然后选择适合他们的设置。 供应托管数据库后,您可以通过 GUI 或客户端连接到它,然后可以开始加载数据并将数据库与您的应用程序集成。

托管数据解决方案简化了配置和维护数据库的过程。 无需从终端运行命令来安装和设置,您只需在浏览器中单击几下即可部署生产就绪型数据库。 通过简化和自动化数据库管理,云提供商使任何人,甚至是数据库新手,都可以更轻松地构建数据驱动的应用程序和网站。 这是数十年来简化、自动化和抽象各种数据库管理任务的趋势的结果,这本身就是对数据库管理员长期感受到的痛点的回应。

本地和自管数据库的痛点

在云计算模型兴起之前,任何需要数据中心的组织都必须提供建立数据中心所需的所有时间、空间和资源。 一旦他们的数据库启动并运行,他们还必须维护硬件,更新软件,聘请团队来管理数据库,并培训员工如何使用它。

随着云计算服务在 2000 年代越来越受欢迎,配置服务器基础设施变得更容易、更实惠,因为它所需的硬件和空间不再需要由使用它的人拥有或管理。 同样,完全在云中建立数据库变得不那么困难了。 企业或开发人员只需要申请一台服务器,安装和配置他们选择的数据库管理系统,然后开始存储数据。

虽然云计算确实使建立传统数据库的过程变得更容易,但它并没有解决所有问题。 例如,在云中,在开始收集数据之前,仍然很难确定数据库基础设施占用空间的理想大小。 这一点很重要,因为云消费者是根据他们消耗的资源收费的,如果他们提供的服务器比必要的大,他们可能会支付超过他们所需的费用。 此外,与传统的本地数据库一样,在云中管理一个数据库可能是一项昂贵的工作。 根据您的需求,您可能仍需要聘请经验丰富的数据库管理员或花费大量时间和金钱培训现有员工以有效管理数据库。

对于较小的组织和独立开发人员来说,其中许多问题更加复杂。 虽然大型企业通常可以聘请具有深厚数据库知识的员工,但较小的团队通常可用的资源较少,只剩下他们现有的机构知识。 这使得复制、迁移和备份等任务变得更加困难和耗时,因为它们可能需要大量的在职学习以及反复试验。

托管数据库有助于解决这些痛点,并为企业和开发人员带来诸多好处。 让我们来看看其中的一些好处以及它们如何影响开发团队。

托管数据库的好处

托管数据库服务可以帮助减少与供应和管理数据库相关的许多难题。 一方面,开发人员在托管数据库服务之上构建应用程序,以大大加快配置数据库服务器的过程。 使用自我管理的解决方案,您必须先获取服务器(本地或云端),从客户端或终端连接到它,对其进行配置和保护,然后安装和设置数据库管理软件,然后才能使用开始存储数据。 使用托管数据库,您只需决定数据库服务器的初始大小,配置任何其他特定于提供商的选项,您就可以准备好与您的应用程序或网站集成的新数据库。 这通常可以通过提供商的用户界面在几分钟内完成。

托管数据库的另一个吸引力是自动化。 自我管理的数据库会消耗组织的大量资源,因为其员工必须手动执行每项管理任务——从扩展到执行更新、运行迁移和创建备份——。 然而,使用托管数据库,这些和其他任务可以自动或按需完成,这显着降低了人为错误的风险。

这与托管数据库服务有助于简化数据库扩展过程有关。 扩展一个自我管理的数据库可能会非常耗费时间和资源。 无论您选择分片、复制、负载平衡还是其他方式作为您的扩展策略,如果您自己管理基础架构,那么您有责任确保在此过程中不会丢失任何数据,并且应用程序将继续正常工作。 但是,如果您将应用程序与托管数据库服务集成,则可以按需扩展数据库集群。 无需事先计算出最佳服务器大小或 CPU 使用率,您可以快速快速地配置更多资源。 这可以帮助您避免使用不必要的资源,这意味着您也不会为不需要的资源付费。

托管解决方案往往具有内置的高可用性。 在云计算的背景下,如果一项服务很稳定并且很可能长时间无故障运行,则称该服务为高可用。 大多数知名云提供商的产品都附带 服务水平协议 (SLA) ,这是提供商与其客户之间的承诺,可保证其服务的可用性和可靠性。 典型的 SLA 将指定客户应该预期的停机时间,并且许多还定义了如果未达到这些服务级别对客户的补偿。 这为客户提供了他们的数据库不会崩溃的保证,如果确实如此,他们至少可以期望提供商提供某种形式的修复。

通常,托管数据库简化了与供应和维护数据库相关的任务。 根据提供者的不同,您或您的团队可能仍需要一定程度的使用数据库的经验,以便在构建和扩展应用程序时配置数据库并与之交互。 但最终,管理托管数据库所需的特定于数据库的体验将远低于自我管理解决方案。

当然,托管数据库不能解决所有问题,并且可能证明对某些人来说不是理想的选择。 接下来,我们将讨论在配置托管数据库之前应该考虑的一些潜在缺点。

实际考虑

托管数据库服务可以减轻部署和维护数据库的压力,但在投入使用之前仍有一些事项需要牢记。 回想一下,托管数据库的一个主要优点是它们抽象出数据库管理中大部分更繁琐的方面。 为此,托管数据库提供商旨在提供满足最常见用例的基本数据库。 因此,他们的数据库产品不会包含大量定制选项或更专业的数据库软件中包含的独特功能。 因此,您将没有那么多自由来定制您的数据库,并且您将受限于云提供商必须提供的内容。

托管数据库几乎总是比自我管理的数据库更昂贵。 这是有道理的,因为您要为云提供商付费以支持您管理数据库,但这可能会引起资源有限的团队的担忧。 此外,托管数据库的定价通常基于数据库使用的存储量和 RAM 量、处理的读取次数以及用户创建的数据库备份的数量。 同样,任何使用托管数据库服务来处理大量数据或流量的应用程序都将比使用自我管理的云数据库更昂贵。

人们还应该反思切换到托管数据库对其内部工作流程的影响,以及他们是否能够适应这些变化。 每个提供商都不同,根据他们的 SLA,他们可能只负责一些管理任务,这对于寻求全方位服务解决方案的开发人员来说是个问题。 另一方面,一些供应商可能有严格限制的 SLA 或让客户完全依赖相关供应商,这种情况称为 供应商锁定

最后,也许也是最重要的一点,人们应该仔细考虑他们正在考虑使用的任何托管数据库服务是否能够满足他们的安全需求。 所有数据库,包括本地数据库,都容易受到某些安全威胁,例如 SQL 注入攻击或数据泄露。 但是,托管在云中的数据库的安全动态大不相同。 托管数据库用户无法控制其数据的物理位置或有权访问数据的人员,也无法确保符合特定的安全标准。 如果您的客户有更高的安全需求,这可能会特别成问题。

举例来说,假设您受雇于一家银行来构建一个应用程序,其客户可以在其中访问财务记录并进行支付。 银行可能会规定应用程序必须具有 静态数据加密 和适当范围的用户权限,并且它必须符合某些监管标准,例如 PCI DSS。 并非所有托管数据库提供商都遵守相同的监管标准或维护相同的安全实践,而且他们不太可能只为他们的一个客户采用新的标准或实践。 因此,确保此类应用程序所依赖的任何托管数据库提供商能够满足您的安全需求以及客户的需求,这一点至关重要。

结论

托管数据库具有许多吸引各种企业和开发人员的功能,但托管数据库可能无法解决所有问题或满足每个人的需求。 有些人可能会发现托管数据库的有限功能集和配置选项、增加的成本和降低的灵活性超过了它的任何潜在优势。 但是,易用性、可扩展性、自动备份和升级以及高可用性等引人注目的优势导致托管数据库解决方案在各行各业的采用率不断提高。

如果您有兴趣了解有关 DigitalOcean 托管数据库的更多信息,我们鼓励您查看我们的托管数据库 产品文档