对于许多企业而言,使用基于云的数据库所获得的优势十分明显。它的优势在于提供可扩展性、安全性和可用性,并且比自定义和本地数据库解决方案的成本更低。
然而,云数据库的类型也有不同。一般情况下,我们用IaaS、PaaS 和 SaaS 等术语描述不同级别的云计算,那么它们如何应用于云数据库,以及如何使用 DBaaS(数据库即服务)产品?
在本文中,我们将了解这些不同类型的云数据库之间的主要区别,以及每个类型的优缺点,以帮助大家确定最适合企业自身的方案。
如图所示,在云计算环境中,软件即服务 (SaaS)、平台即服务 (PaaS) 和基础设施即服务 (IaaS) 之间的主要区别在于对底层资源和服务的抽象级别。
一般来说,服务提供商从用户那里抽象出来的东西越多,用户在云服务中产生价值的过程就越简单、越快。提供者代表用户处理的越少,用户对环境的控制和责任就越大。
【什么是云数据库(关于IaaS、PaaS、SaaS、DBaaS 详解)】
文章图片
云计算中不同抽象级别
我们也可以将这种云计算分类背后的原则应用于云数据库。与大多数基于云的工具和服务一样,企业选择的数据库将反映其团队的市场需求、专业知识和技能、愿意承担的开销和管理负担,以及项目的定制程度要求。
以下为每种类型的云数据库的总体概述,以及它们的优缺点。
IaaS:控制最多,工作最多
IaaS 数据库的实现是在云基础设施上进行自我管理。企业将负责操作系统、运行时和数据库软件,以及安装、配置和持续维护。除了使用云服务器和存储之外,其体验将类似于在本地运行。IaaS 数据库可以保证企业最大程度地控制其设置,这自然也意味着企业需要承担更多责任。
企业不必征用硬件并使用 IaaS 数据库操作自己的数据中心。但需要选择云提供商基础设施,然后在提供商的参数范围内自行安装和管理数据库。
下面让我们一起更直观地了解一下 IaaS 的优缺点。
1、IaaS 优点
- 使用 IaaS,企业将有更多的数据库选择,因为可以选择提供不等效于 PaaS 或 SaaS 版本的数据库。
- 使用 IaaS,可以配置自己的数据库,使其精确地按照自身需要进行工作。
- 与所有云数据库选项一样,IaaS 提供了几乎无限的可扩展性。如果企业有能力管理自己的数据库,但正在过渡到避免管理自己的数据中心,那么 IaaS 无疑更加符合企业的需求。
- IaaS 使得在云中重现本地数据库基础架构变得更加容易。
- 如果企业团队对此有丰富的专业知识和经验,IaaS 可以更好地控制数据库软件、操作系统和其他配置选项。
- 如果选择 IaaS 数据库,则需承担日常维护的全部责任,包括处理备份、扩展、安全性和其他注意事项。
- 与 PaaS 和 SaaS 相比,企业的团队成员需要更多的数据库技能和云证书,尤其是与数据库操作相关的内容。
- 支持 IaaS 数据库实现需要相当长的时间,企业需要对项目的紧迫性做出权衡。
PaaS提供的数据库进一步利用了云计算的优势。PaaS 数据库有助于自动执行供应、配置、扩展和其他集群管理任务。PaaS 可以使企业免于设置和管理基础设施。
PaaS 是 IaaS-PaaS-SaaS 连续体中的中间选项,许多云数据库都以这种方式提供。它们使团队更容易通过集群自动化工具管理他们的数据库。但是,PaaS 的用户仍然需要对节点的数量和类型、容量和分片等集群细节有一定的了解。
1、PaaS 优点
- 用户可以获得与 IaaS 部署类似的可扩展性优势。
- 通过 PaaS,供应商提供了用于供应、配置、扩展和其他常见操作的管理工具,从而简化了操作。
- 供应商还会处理基本的管理任务,例如补丁和更新。
- 虽然与IaaS相比,它的操作负担更轻,但仍然需要规划集群、指定软件版本以及节点的数量和类型、实例大小并执行其他任务。
- 使用PaaS还需要进行容量规划,例如峰值容量/使用率和净空,以应对增长。
- 使用 PaaS,用户可能仍需负责部分或全部软件升级。
SaaS 是云应用程序最常见的软件交付模式:只需登录即可开始工作。大家对SaaS应用程序都十分熟悉,但是当涉及到数据库时,熟悉程度会大大降低。
SaaS 数据库通常是最容易设置和维护的数据库类型。因为服务提供商负责处理所有技术问题、规划、供应和其他日常任务。换句话说,数据库完全由提供者操作,所有集群细节都从用户那里抽象出来。但是使用 SaaS 数据库的部署和配置选项可能会更少。
1、SaaS 优点
- SaaS 数据库承担了大部分容量和集群规划工作
- 它抽象出了所有集群管理,因此无需配置节点、节点类型或实例大小。
- 借助 SaaS,配置或扩展等操作无需手动干预。
- 所有软件升级都会在后台透明地进行。
- SaaS 数据库的定价通常基于存储、计算、I/O或查询数量的消耗,而不是节点的数量或大小。这意味着存储和计算的比例不是根据实例类型而固定的。
- 使用该模型进行成本预估会更加困难,因为用户可轻松配置的选项较少。但是,由于运维负担较低,这仍然是许多团队最实惠的选择。
- 大多数作为 SaaS 提供的数据库都是专门为云构建的,如果用户需要此选项,则没有相应的自我管理版本。
下面为大家介绍数据库即服务 (DBaaS),它通常指的是作为 PaaS 或 SaaS 提供的数据库。
现在所有主要的云平台都提供 DBaaS 解决方案。其中一些更接近SaaS;其他的则稍微接近 PaaS。DBaaS 解决方案的流行示例包括 Amazon Relational Database Service (RDS)、Azure SQL 数据库、MongoDB Atlas 和 Amazon DynamoDB。
更接近 PaaS 的解决方案可以使企业避免部分操作方面的问题,同时提供这些数据库的自我管理的体验。
更接近 SaaS 的解决方案提供了开箱即用的数据库解决方案,可以轻松地将强大的数据库功能添加到应用程序中。对于寻求以最短路径快速轻松地启动和运行数据应用程序的企业来说,这可能是一个绝佳的选择。
现在已经有各种各样的云数据库可供选择,它们的易用性、控制粒度和资源利用方式各不相同。
文章图片
与控制级别和易用性相关的数据库解决方案范围
如图所示,关于这三种数据库解决方案层可以总结为:IaaS 提供比 PaaS 更多的控制,PaaS 提供比 SaaS 更多的控制。
IaaS 需要企业运维团队做更多工作,其次是 PaaS,它仍然需要手动干预集群管理任务。由于 IaaS 和 PaaS 带来了更大的管理负担,这也意味着需要投入更多精力来优化其成本和性能。而SaaS 需要的人力最少,为企业员工减轻负担,从而提高效率。
当 SaaS 数据库专为云而设计时,它可以最大限度地利用云弹性以及计算和存储资源的分解,这可以提高性能或利用率。