DBA 在“即服务”世界中不断变化的角色

今天的数据库管理员不仅仅是负责维持系统运行的人员,他们还需要在实现业务目标方面发挥战略作用。
234 位读者喜欢这篇文章。
Databases as a service

Jason Baker。CC BY-SA 4.0。

在过去十年中,现代企业管理和运行数据库的需求和要求发生了巨大的演变。负责运行企业数据库的数据库管理员 (DBA) 们发现,他们的工作重心发生了显著转变:他们不再仅仅是确保访问和可用性,而是被要求制定架构、设计和可扩展性策略,以满足业务需求和目标。

这种演变很大程度上始于互联网公司及其采用的新型收入模式。这些公司要求他们的站点可靠性工程师 (SRE) 或多面手 DBA 确保公司的主要收入引擎(应用程序和网页)不仅保持正常运行,而且可以扩展以满足业务发展的需要。这远远超出了过去 DBA 的标准职责:仅仅是保持数据库运行、备份数据库并在问题发生时做出反应。

新的收入模式,新的应用程序问题

随着在互联网上开展业务不仅变得越来越普遍,而且对于保持竞争力也变得至关重要,企业需要找到新的部署模式,以跟上不断变化的技术和架构。其中最重要的是云和“即服务”模式,在这种模式下,软件、数据库、平台甚至基础设施都可以通过基于云的模式“租用”(分别是软件即服务 [SaaS]、数据库即服务 [DBaaS]、平台即服务 [PaaS] 和基础设施即服务 [IaaS])。

管理基于云的数据库和基于 DBaaS 的数据库环境的要求和需求也随着这种转变而发展。例如,在 SaaS 世界中,应用程序中断意味着收入损失。除了直接收入的损失(以及解决危机所带来的费用)之外,服务和应用程序宕机还意味着客户的流失。这意味着经常性收入的损失(对于客户和 SaaS 提供商而言都是如此)。为了保持收入的持续流动,公司关键 SaaS 数据库基础设施的每个部分都需要进行规划,包括诸如内置冗余和面向未来的架构,以及如何扩展以实现增长等。

增长意味着扩展服务或进入新市场。这通常需要新的业务关键型应用程序。在今天的“即服务”世界中,有几种方法可以开发和部署这些应用程序。内部部署、云部署、即服务?还是组合部署?容器是个好主意吗?虚拟化环境呢?当您尝试发展业务并满足客户需求时,这些都是可选项。

而满足客户需求的成功程度决定了企业实现(或未实现)业务目标的程度。在今天的世界中,客户期望应用程序和网页能够快速、无缝且轻松地工作。我们都已经习惯了随时随地获得我们想要的东西的即时性。这意味着企业必须敏捷,并且能够快速部署新服务和应用程序,以满足对新功能的需求或利用未开发市场中的新机会。

企业数据库需求正在发展

在部署服务、应用程序或网站时,您始终需要规划扩展。首先可能影响数据的是数据库工作负载的变化——无论是由于存储和访问的数据发生变化,还是流量发生变化。

了解数据库环境的灵活性也很重要。它可以水平扩展以应对增长,还是需要更多硬件?如果您在云端,那么增加使用量会带来哪些成本?在云端购买更多实例以满足眼前的需求很容易,但是这些实例可能会被遗忘,即使在不再需要它们之后,仍然会消耗您的运营费用。

了解您正在收集的信息类型以及原因可以为您提供一些关于如何收集的见解。这通常意味着为不同的应用程序使用不同的数据库。

例如,考虑一个电子商务网站。有许多应用程序协同工作来收集电子商务数据:购物车内容、已完成的订单、库存信息和补货订单。您可以将所有这些信息存储在一个数据库中——但这可能需要额外的工作和开销,才能将数据转换为特定应用程序可用的格式。相反,您可以将信息存储在最适合该类型数据的数据库中。强迫一个数据库处理它原本不打算处理的工作负载可能会降低性能并导致其他问题。

在推出产品或服务之前,您设计的可以消除的问题越多,未来发生灾难的可能性就越小。例如,这意味着金融交易应用程序开发人员需要 DBA 和数据库工程师来构建一个易于扩展且避免延迟问题的数据库。为此,他们需要与开发人员紧密合作,编写更好、更高效的数据库调用,并构建一个将延迟降低到接近于零的数据库。

当公司将其数据库迁移到云端时(例如,使用 DBaaS 选项,如 Amazon Relational Database Service 和 Aurora、Google Cloud 或 Microsoft Azure),云提供商通常会接管大部分的运营自动化和日常任务。

那么,您还需要 DBA 吗?是的!不断变化的数据库格局并没有消除对数据库专业知识的需求:它将这种专业知识的重点转移到应用程序的设计和开发方面。有人不仅需要设计和调整数据库以支持应用程序,而且这个人还必须了解如何将云中可用的模块化组件构建成一个有凝聚力、可扩展的单元,以满足应用程序和公司的需求。这意味着,高效的数据库专业知识可以实现更高的影响和更清晰的投资回报率。

DBA 需要了解什么?

随着数据库格局的演变,有价值的 DBA 将会减少关注“救火式”的解决方案,而更多地关注战略和规划解决方案。DBA 将被问及数据库如何为公司的整体业务目标做出贡献,以及有哪些解决方案可以帮助实现这些目标。他们需要帮助应用程序开发人员创建不仅现在有意义,而且在规模化时也能工作的数据库调用。

借助云部署和容器化等新技术选项,他们将需要监控并不断重新评估应用程序如何与数据库协同工作,以及如何提高性能(或在不影响性能的情况下整合来自客户的新功能或需求)。

最后,随着越来越多的公司为不同的应用程序和场景使用不同的数据库,DBA 将需要不断更新最新的数据库趋势和技术,以便保持作为数据库知识专家来源的地位。

多年来,在 Percona,我们也看到了这种转变。我们每天面临的问题类型随着数据库环境(以及 DBA 的角色)而发展。目前,我们客户打开的支持票单中,超过 50% 与应用程序设计问题、查询性能或数据库基础设施设计有关。五年前,围绕这些问题提出的帮助请求和支持票单在我们整体案例量中所占的比例不到 20%。

当您考虑到 MySQL、MongoDB、MariaDB 和 PostgreSQL 等开源数据库的成熟度,以及影响数据库的技术进步时,这一切就变得有意义了。更稳定的数据库,加上本土自动化或基于云的基础设施的进步,降低了由于核心数据库软件而导致的一般崩溃错误的可能性。通常,今天的宕机和问题的原因是设计决策、糟糕的代码或初始规划中未考虑到的奇怪的“边缘情况”。

所有这一切都意味着,DBA 的角色正在从简单地“保持系统运行”转变为更具战略意义的地位:DBA 是帮助企业实现其战略业务目标的专家之一。

User profile image.
Peter Zaitsev 是 Percona 的联合创始人兼首席执行官,Percona 是一家企业级 MySQL® 和 MongoDB® 解决方案和服务的提供商。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.