深入解析数据库即服务(DBaaS):云时代的数据管理新范式

本文详细介绍了数据库即服务(DBaaS)的定义、工作原理、优势与劣势,以及与传统数据库和IaaS/PaaS的区别。涵盖DBaaS的应用场景、工具供应商选择指南,帮助组织在云环境中高效管理数据。

什么是数据库即服务(DBaaS)?

数据库即服务(DBaaS)是一种云计算托管服务,提供对数据库的访问,无需设置物理硬件、安装软件或配置数据库。大多数数据库管理和维护任务由服务提供商处理,使用户能够快速受益于数据库服务。

随着更多组织从本地系统转向云数据库,DBaaS的使用正在增长。DBaaS供应商包括销售数据库软件的云平台提供商,以及在云平台上托管其软件的其他数据库制造商。大多数DBaaS环境运行在公共云基础设施上,但一些云提供商也会在本地数据中心安装其DBaaS技术,并在私有云或混合云基础设施中为客户远程管理。

DBaaS模型与本地数据库的工作原理对比

在本地计算环境中,数据库服务器是组织数据中心IT基础设施的一部分,由组织自己的IT员工安装、管理和运行。数据库管理员(DBA)负责配置和管理在服务器上运行的数据库。

相比之下,在DBaaS模型下,提供商维护系统基础设施和数据库,并将其作为完全托管的云服务交付。该服务涵盖高级管理功能,如数据库安装、配置、维护和升级。备份、补丁和性能管理等额外任务通常也由提供商处理。

数据库中的数据控制仍然是客户的责任,但DBA的角色主要涉及监控数据库的使用、管理用户访问以及与DBaaS供应商协调供应、补丁和维护等事宜。此外,DBA可以将更多时间花在其他活动上,例如为软件应用程序优化数据库。

另一个区别是DBaaS是一种基于订阅的付费服务。客户不是像本地部署那样购买软件许可证,而是为使用的系统资源付费。这可以通过按需付费的方式实现,根据需要配置资源以满足处理工作负载,或者组织可以保留数据库实例以获得定期运行工作负载的折扣价格。

DBaaS的数据库类别

DBaaS产品适用于各种类型的数据库技术。两种主要类型包括关系数据库和NoSQL数据库。关系数据库将数据组织在包含行和列的表中,并使用主键和外键来标识不同表中数据点之间的关系。这种类型的数据库使排序和查找信息更容易,并且最适合结构化数据。关系DBaaS产品基于结构化查询语言(SQL),并为传统数据库管理系统(DBMS)平台(如Oracle Database、Microsoft SQL Server、IBM Db2和MySQL)以及仅限云的系统(包括Amazon Aurora、Microsoft的Azure SQL Database、Google Cloud SQL和Oracle Autonomous Database)提供。

NoSQL——曾经字面意思是“非SQL”,现在更常意为“不仅是SQL”——是一类在关系数据库结构之外存储数据的数据库。与本地部署一样,NoSQL DBaaS技术涵盖多种数据库类型,包括图数据库、文档数据库、宽列存储和键值存储。

支持多种数据库类型的多模型数据库也可用于DBaaS部署;由于增加了对不同数据模型的支持,许多关系和NoSQL数据库平台现在可以被视为多模型技术。

无论使用哪种类型的云数据库,DBaaS都为应用程序开发、测试和生产部署提供弹性数据库服务,通常带有易于使用的Web控制台和RESTful API。

DBaaS的用途

在2023年底由IT管理工具供应商Flexera对753名云用户进行的调查中,57%的受访者表示他们的组织正在使用关系DBaaS技术,而44%的受访者正在使用NoSQL数据库服务。DBaaS模型非常适合没有人员充足的IT部门的中小型企业(SMB)。将数据库的服务和维护卸载给DBaaS提供商使SMB能够实施他们无法在本地构建和支持的应用程序和系统。

涉及具有严格监管要求的数据的工作负载可能不适合DBaaS模型,因为存在数据保护和隐私问题。此外,需要最佳性能和正常运行时间的关键任务应用程序可能更适合本地实施。

但这并不意味着关键任务工作负载不能在云服务上运行。最初,大型组织中的许多DBaaS采用是针对不太关键的应用程序,例如开发和试点项目。但随着更多应用程序工作负载及其支持的数据库迁移到云端,这种情况正在改变。

DBaaS的优势

与传统的本地数据库系统相比,DBaaS模型具有一些特定优势,包括:

  • 减少管理需求:DBaaS提供商承担了许多日常数据库管理和管理负担。
  • 消除物理基础设施:运行数据库所需的基础IT基础设施由DBaaS供应商或托管DBaaS环境的云平台提供商提供(如果他们是不同的公司)。
  • IT设备成本效益:由于系统基础设施不再在本地,用户不需要投资数据库服务器或持续规划硬件升级。
  • 额外的成本节约:除了降低资本支出外,节省还可以来自减少的电力和HVAC运营成本、数据中心更小的空间需求以及可能的IT人员减少。
  • 更大的灵活性和更易于扩展:支持数据库的基础设施可以根据数据库使用情况的变化弹性扩展或缩减,而不是像扩展本地系统那样需要更复杂和严格的过程。
  • 快速数据库部署:DBaaS减轻了组织IT员工的工作量,因为他们不必担心管理任务。
  • 安全功能:云数据库提供商通常具有某种形式的企业级安全功能,例如数据加密以及身份和访问控制。

DBaaS的劣势

与本地数据库相比,DBaaS也存在潜在的劣势。DBaaS的潜在缺点包括:

  • 缺乏对IT基础设施的控制:这通常是DBaaS与内部系统相比最显著的问题。对于托管数据库,组织的IT团队无法直接访问用于运行它们的服务器和数据存储设备。因此,它必须依赖云提供商来有效管理基础设施。
  • 依赖DBaaS供应商:如果组织的互联网连接中断,或者DBaaS提供商遇到系统中断,组织将无法访问其数据库,直到问题修复。
  • 安全性:在某些情况下这是一个问题,因为数据库由DBaaS提供商控制,组织对运行其数据库的服务器的安全性没有直接影响。根据云安全的共享责任模型,组织负责DBaaS环境中的某些数据安全方面以及身份和访问管理等事宜。然而,供应商负责保护数据库平台和底层基础设施。
  • 延迟:通过互联网访问企业数据所需的额外时间可能导致性能问题。在加载大量数据时,这些性能问题会加剧,这往往缓慢且耗时。

DBaaS vs. IaaS vs. PaaS

云计算包括各种一切即服务(XaaS)模型,这些模型通过它们向客户提供的IT基础设施堆栈的量来区分。堆栈可以包括以下元素:

  • 网络
  • 存储
  • 服务器
  • 虚拟化
  • 操作系统
  • 中间件
  • 运行时
  • 数据和数据库管理系统
  • 应用程序

此堆栈的不同层可以在本地或作为云服务提供。在完全本地环境中,整个堆栈部署在本地;相反,在软件即服务(SaaS)模型中,整个堆栈位于远程并由服务提供商为客户管理。其他三种主要的XaaS模型包括DBaaS、基础设施即服务(IaaS)和平台即服务(PaaS)。

与DBaaS供应商提供和管理的仅数据库不同,IaaS供应商向用户提供传统上存在于本地数据中心的基础设施组件。这包括服务器、存储和网络硬件,以及虚拟化或管理程序层。这些资源在云中交付给客户。其余部分,包括数据库软件,由客户提供和管理。

PaaS是另一种云计算模型,其中第三方供应商向客户提供硬件和软件工具。通常,这些工具包括操作系统、中间件和运行时组件。DBaaS向提供的堆栈添加数据层服务。PaaS供应商在其自己的基础设施上托管硬件和软件,这使开发人员无需安装内部硬件和软件来开发或运行应用程序。PaaS建立在IaaS模型之上,因为它可以提供底层基础设施组件以及其他软件组件。

DBaaS工具和供应商

DBaaS工具的示例包括:

  • Amazon DynamoDB:一种NoSQL完全托管数据库服务。
  • Google Cloud SQL:一种用于MySQL、PostgreSQL和其他SQL数据库的完全托管关系数据库服务。
  • Oracle Base Database Service:一种具有附加多模型功能的关系数据库管理系统。
  • Azure SQL Database:一种使用Microsoft SQL Server引擎的SQL关系数据库。
  • SAP HANA Cloud:一种混合关系/NoSQL数据库。
  • MongoDB Atlas:一种NoSQL数据库服务。

采用DBaaS时,组织需要选择云平台和DBMS,因为云基础设施和数据库软件不需要来自同一供应商。例如,组织可以通过Amazon Relational Database Service在Amazon Web Services(AWS)云上使用Oracle或SQL Server数据库。

领先的云平台提供商也是顶级数据库供应商,包括AWS、Google Cloud、Microsoft和Oracle。它们都提供关系、NoSQL和专用数据库引擎的组合,用于DBaaS部署,既在它们自己的云中,也在某些情况下在其他平台上。

但还有许多其他云数据库软件选项,来自IBM、SAP以及各种NoSQL、多模型和NewSQL或分布式SQL数据库供应商。然而,并非每个云DBMS都在每个云平台上受支持,因此组织对其中一个的选择可能会影响它可以使用另一个。

如何选择DBaaS产品

了解组织采用云数据库的关键驱动因素是选择合适DBaaS产品的关键。典型的驱动因素包括降低成本、提高灵活性、数字化转型倡议和增加IT自动化。根据组织数据的使用案例,并非所有这些目标都可以实现。例如,需要全天候高效访问且零可接受停机时间的大型关键任务数据库可能不是DBaaS的理想候选者。

以下是选择DBaaS系统时的一些其他重要步骤:

  • 评估组织对供应商锁定的容忍度:例如,AWS、Google Cloud、Microsoft和Oracle都提供工作方式不同且在尝试切换时不易复制的数据库服务。可能还有专有API,并且将数据从一个提供商迁移到另一个提供商很困难——数据库中的数据越多,迁移所需的时间越长。此外,大多数企业应用程序无法关闭以进行迁移。为了最小化锁定的影响,仔细阅读合同并审查所有API——并选择将长期存在的DBaaS提供商。
  • 了解DBaaS供应商的成本模型以及如何调整组织的使用以避免意外:使用DBaaS,组织根据其消耗的资源付费。一个好处是组织不需要为当前不需要的IT基础设施预付费用。然而,随着数据库系统使用的增长,账单将会增加。客户组织应为此做好准备,特别是在使用超出预期时。此外,在将成本管理与供应商锁定时,请记住,尽管大多数DBaaS供应商不向客户收取将数据加载到其服务的费用,但将数据迁移到另一个数据存储可能会有显著费用。
  • 寻求采用在混合云场景中运行良好的数据库服务:在混合云中,一些数据保留在本地,一些数据迁移到云端。一个全面的DBMS平台,可以很好地与DBaaS和本地数据库配合使用,可以显著降低管理混合云数据库实施的难度。

此外,组织应选择从其地理区域的数据中心运行并提供多个高可用性区域的数据库服务,其中至少一个靠近组织所在位置以最小化数据延迟。组织了解DBaaS供应商关于正常运行时间和性能的服务级别协议,并知道在需要时如何请求支持也很重要。

在云中运行组织的数据库可以带来许多潜在好处,前提是适合。了解您的组织的数据库应该在本地运行还是通过DBaaS运行。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计