了解托管数据库

介绍

安全、可靠的数据存储对于几乎每一个现代应用程序都是必不可少的。然而,对于许多团队来说,自动管理的本地数据库所需的基础设施可能非常昂贵。

云计算服务的传播已经降低了与提供数据库相关的入口障碍,但许多开发人员仍然缺乏管理和调整数据库以满足他们的需求所需的时间或专业知识。

在这篇概念文章中,我们将讨论管理数据库是什么,以及它们如何对许多组织有益,我们还将涵盖在构建其下一个应用程序以管理数据库解决方案为基础之前的一些实际考虑。

在 Nutshell 中管理数据库

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

提供管理数据库的过程因提供商而异,但通常与其他任何基于云的服务类似。注册帐户并登录仪表板后,用户会查看可用的数据库选项,例如数据库引擎和集群大小,然后选择适合他们的设置。

管理数据解决方案简化了提供和维护数据库的过程,而不是从终端运行命令来安装和设置一个,您可以通过浏览器的几点点点击部署生产准备的数据库。 通过简化和自动化数据库管理,云提供商让任何人,即使是初学者数据库用户,更容易构建数据驱动的应用程序和网站。

现场和自我管理数据库的疼痛点

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

随着云计算服务在2000年代的普及,提供服务器基础设施变得更容易和更实惠,因为所需的硬件和空间不再需要由使用者拥有或管理,同样,完全在云中设置数据库变得更不困难;企业或开发者只需要检索服务器,安装和配置他们选择的数据库管理系统,并开始存储数据。

例如,在云中,在开始收集数据之前仍然很难确定数据库基础设施足迹的理想大小,这很重要,因为云用户根据他们所消耗的资源收取费用,并且如果他们提供的服务器大于必要的话,他们可能会付出比他们需要的更多费用。此外,与传统的本地数据库一样,在云中管理数据库可能是一项昂贵的努力。

其中许多问题对于较小的组织和独立开发人员来说都是复杂的,而大型企业通常可以雇用具有深度数据库知识的员工,但较小的团队通常拥有更少的资源,只留给他们现有的机构知识,这使得复制,迁移和备份等任务变得更加困难和耗时,因为他们可能需要大量的工作学习以及试错。

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

管理数据库的好处

管理数据库服务可以帮助减少与提供和管理数据库相关的许多头痛。首先,开发人员在管理数据库服务上构建应用程序,以大大加快提供数据库服务器的流程. 使用自管理的解决方案,您必须获得服务器(无论是在本地还是在云中),从客户端或终端连接到它,配置和保护它,然后在您开始存储数据之前安装和设置数据库管理软件. 有了管理数据库,您只需要决定数据库服务器的初始大小,配置任何额外的提供商特定的选项,您将有一个新的数据库准备与您的应用程序或网站集成。

管理数据库的另一个吸引力是自动化。自管理数据库可以消耗大量的组织资源,因为其员工必须手动执行每个管理任务 - 从扩展到执行更新,运行迁移和创建备份。

这与管理数据库服务有助于简化数据库扩展过程有关的事实有关。自我管理数据库的扩展可能非常耗费时间和资源,无论您是选择切割、复制、负载平衡或其它一些扩展策略,如果您自己管理基础设施,那么您就负责确保进程中不会丢失任何数据,并且应用程序将继续正常工作。 但是,如果您将应用程序集成到管理数据库服务中,您可以根据需求扩展数据库集群。

管理解决方案往往具有内置的高可用性。在云计算的背景下,一项服务被称为高可用性,如果它是稳定的,并且很可能在很长一段时间内无故障地运行。大多数受信任的云提供商的产品都配备了服务水平协议(SLA),这是提供商与客户之间的承诺,保证其服务的可用性和可靠性。

一般来说,管理数据库简化了提供和维护数据库相关的任务. 根据提供商,您或您的团队仍然可能需要某种程度的数据库工作经验,以便在构建和扩展应用程序时提供数据库并与其交互。

当然,管理数据库并不能解决每一个问题,对一些人来说可能是一个不太理想的选择,接下来,我们将讨论一些在提供管理数据库之前应该考虑的潜在缺点。

实际考虑

管理数据库服务可以缓解部署和维护数据库的压力,但在承诺使用数据库之前,仍有几件事要记住。 请记住,管理数据库的主要特征是,它们抽象化了数据库管理的最烦人的方面。 为此,管理数据库提供商旨在提供一个基本的数据库,以满足最常见的使用情况。 因此,他们的数据库提供商不会提供大量的自定义选项或更专业的数据库软件中包含的独特功能。

管理数据库几乎总是比自我管理数据库更昂贵,这很有道理,因为您正在为云提供商支付支持您管理数据库的费用,但对于资源有限的团队来说,这可能是一个问题。

人们还应该考虑过渡到受管理的数据库对内部工作流程的影响,以及他们是否能够适应这些变化。每个供应商都不同,并且根据他们的SLA,他们可能只承担一些管理任务的责任,这对于寻求全方位服务的开发者来说是麻烦的。

最后,也许最重要的是,人们应该仔细考虑他们正在考虑使用的任何受管理的数据库服务是否会满足他们的安全需求。 所有数据库,包括本地数据库,都容易受到某些安全威胁,如SQL注入攻击或数据泄露。 然而,在云中托管的数据库中,安全动态大不相同。 受管理的数据库用户无法控制他们的数据的物理位置或谁可以访问它,也不能确保遵守特定安全标准。

举个例子,想象一下,你被银行雇用来构建一个应用程序,其客户可以访问财务记录并进行付款。银行可能规定该应用程序必须具有 数据在休息时加密和适当范围的用户权限,并且必须符合某些监管标准,如 PCI DSS

结论

管理数据库具有许多吸引各种企业和开发人员的功能,但管理数据库可能无法解决每一个问题或满足每个人的需求。 一些人可能会发现,管理数据库的有限的功能集和配置选项,增加的成本和减少的灵活性超过其任何潜在优势。

如果您有兴趣了解更多关于DigitalOcean管理数据库的信息,我们鼓励您查看我们的管理数据库(产品文档)(https://www.digitalocean.com/docs/databases)。

Published At
Categories with 技术
comments powered by Disqus