多云数据库部署的日益普及为数据库管理增添了新的维度。如果您的企业还没有在多云环境中运行,那么很可能就要走向多云了。无论是前瞻选择还是眼前需要,采用多云技术正在成为现代数据库架构的关键组成部分。
具有前瞻性的企业应制定多云数据库战略,使其能够实现这些环境的优势并克服挑战。为最大限度地发挥潜在优势,此类战略应考虑数据库管理的方方面面,从部署、管理到数据访问,详见下文。
什么是多云数据库环境?
多云数据库环境将数据库实例或分布式数据库放在多个云平台上。多云架构可包括在不同云中运行的独立数据库,以及作为数据库集群跨云部署的单一数据库。通常,多云环境涉及使用一个以上的公有云。但它们也可以建立在公有云和私有云的任意组合上,以及结合了云计算和边缘计算技术的边缘云上。
例如,企业可能会在 AWS、Azure、Google Cloud 或其他公有云上部署支持不同应用的数据库。有些数据库还可能在企业自己的数据中心、第三方主机托管站点或云提供商的虚拟设施中建立的私有云中运行。
多云战略不同于混合云,后者将私有云、公有云以及传统的内部部署系统整合到一个统一的 IT 环境中。但可以想象,混合云中的数据库可以纳入更广泛的多云数据库战略。
多云数据库架构示例图显示了在多个云中运行不同应用的数据库。
多云数据库战略的优势
虽然在多个云中部署数据库的好处因组织而异,但以下三点是最常说的:
节约成本。通过在多个云提供商之间进行选择,企业可以获得更好的定价选择和更大的谈判能力。
摆脱供应商锁定。在多云环境中,如果情况需要,企业能够更容易地转向另一家云提供商。
灵活使用更优的服务。由于云提供商的服务并不相同,多云战略使企业能够利用每种云的优势来提供更优化的功能。
其他益处还包括:符合指定或限制云提供商的合同义务;提高需要最高可用性级别的系统的弹性;为全球组织提供更好的地理覆盖范围;通过在更靠近最终用户的地方存储数据来缩短响应时间;在更靠近源的地方进行更高效的数据处理;以及为合并和收购提供更便捷的途径。
多云数据库管理最 佳实践
为确保多云战略成功,以下是设计、创建和管理多云数据库环境的 10 个最 佳实践,它们将帮助您克服相关挑战。
1. 从全面的计划和治理框架开始
毫无疑问,多云数据库管理面临的最大挑战是复杂性的增加,以至于数据库环境很快就会变得难以管理。如果不解决多云部署的复杂性问题就进入这一领域,企业将很难扩展其架构,而且还有可能深陷泥淖。
第一步是制定一个部署计划,涵盖多云环境中数据库管理的各个方面。从制定计划开始,将为从应用程序选择正确的数据库类型到实施数据访问方法和工具等活动提供方向和指导。计划的一个关键原则应该是简化环境。抵制通过增加技术、流程和人员来应对复杂性的冲动。要变得更聪明,而不是更庞大。
同样重要的是在内部政策和标准的基础上创建环境治理框架。它将定义管理整个组织的数据库部署、管理和访问的规则。适当的治理可确保以一致、可靠的方式管理和实施多云战略。
2. 在正确的云中运行正确的数据库
多云提供了在最 佳云平台上运行数据库工作负载的自由度,以提供所需的业务功能。将数据库与“最 佳”云进行匹配涉及许多因素,这些因素因组织而异。但总的来说,部署决策应包括将功能性和非功能性要求与每个云的优势相匹配。
要有效地做到这一点,IT 和数据管理团队必须了解企业对云数据库的应用需求和使用案例。应根据具体情况考虑各种云平台的优缺点,并与整体多云数据库战略保持一致。
在许多情况下,决定使用公有云还是私有云的关键在于控制。如果希望或需要对数据库系统进行更多控制,私有云是更好的选择。希望卸载底层平台管理的组织会发现公有云是首选。其他一些需要考虑的因素包括成本、安全性、可扩展性、延迟、资源利用率、地理可用性、定制、部署速度、当前基础设施和灵活性。
3. 使用支持多云环境的数据服务
每增加一个新的云平台,数据库管理的挑战就会增加。平台越多,需要使用的技术也就越多,包括特定平台原生的工具和接口等。
通过抽象化可以简化操作。例如,Data Fabric可以帮助公司从单一云迁移到多云。Data Fabric的承诺是,企业将不再需要直接使用本地云接口和工具来管理数据库。相反,集中式数据服务可提供统一的数据库视图,从而实现跨云部署的端到端数据库管理标准化。不过,这是一个新兴领域,预计在Data Fabric技术成熟之前,仍需要一些本地管理。
4. 利用托管数据库服务
云的诱人之处之一是为企业提供托管服务。使用由云提供商管理的 SaaS 和 PaaS 技术是一种回报丰厚的 IT 转变。数据库即服务(DBaaS)产品也是如此:在多云战略中利用它们可以大大减少数据库管理工作和运营开销。
DBaaS 可能不适合您的某些数据库工作负载,但它应该是您的首选。托管数据库服务可让您的数据库管理员(DBA)将更多精力放在提供业务价值上,而不是日常管理任务上。
5. 考虑跨多个云的数据库可移植性
在不依赖云的数据库和专有云(专属于单一云平台的)数据库之间取得平衡。独立于某个云平台提供商的开源数据库和商业产品可实现多云可移植性,帮助您避免被锁定在某个特定的云中。
另一方面,专有云数据库服务可以提供优化的集成、自动化、工具、性能、功能和安全性。因此,在您的数据库架构中可能需要这些服务。
6. 减少不同数据库的数量
二十多年来,数据库作为一种主流技术得到了成功部署,不同类型的数据库也在不断增加,这就造成了一种 IT 困境。一方面,IT 团队要适应业务发展的速度来提供所需的数据库功能。另一方面,大量数据库的部署又增加了操作的复杂性。
在多云环境中,数据库的激增(有时称为数据库蔓延)是一个真正令人担忧的问题。云已经使数据库的配置变得非常容易,以至于企业往往难以控制数据库的数量。增加新的云平台,选择各种专用数据库,并有机会部署冗余的专用数据库以减少跨云流量,拥有更多数据库的情况似乎不可避免。
数据库合理化可减少企业需要管理的不同数据库技术的数量。为了进一步简化,最有效的补救措施可能是转向多模型数据库,这种数据库支持一种以上的数据模型--关系型、文档型、图等。在一个数据库管理系统中融合多种数据模型,使其能够处理更多的应用。对于特殊用途的数据需求,单一模型数据库仍可能提供最 佳的数据管理功能。不过,对于大多数需求来说,多模型数据库已经绰绰有余。
7. 减少相同数据库的数量
数据库整合是控制蔓延的另一种方法。它可以减少相同数据库的总数,有效地将不同应用的资源汇集并共享到数量较少的系统中。通过减少部署和配置,以及提高数据库版本的标准化程度,可以降低管理复杂性。好消息是,许多领先的数据库系统都提供了内置功能,可实现不同工作负载的多租户。
8. 优化应用程序和终端用户的数据访问
在不对应用程序和最终用户的工作效率产生负面影响的情况下,在云平台上传播数据是企业需要立即应对的挑战。如果应用程序和用户需要了解技术细节,如数据驻留位置和底层数据库技术,这将很快导致效率低下和用户体验不佳。
解决多云数据库环境中数据访问难题的一种方法是数据虚拟化。这是一种数据集成方法,可在不同数据库之间建立一个抽象层,让应用程序和用户无缝访问,而无需知道数据的物理位置。为多云环境中的所有数据创建一个单一的虚拟化视图,还能减少数据资产的隔离和碎片化。
9. 尽可能在一个云平台中保留本地数据
虽然云提供了更大的灵活性和几乎无限的可扩展性,但离开云平台的每个字节的数据都是有成本的。大多数领先的云提供商不会对数据传输到其云平台(即数据入口)收取费用,但会对数据传输出云平台,甚至从同一云平台的一个区域传输到另一个区域收取费用。这些费用被称为数据或网络出口成本,如果传输大量数据,费用可能会很高。
不同云之间的数据流量也会增加延迟,因为数据库响应会出现性能下降,这主要是由于距离增加和多次网络跳转造成的。对于有严格性能要求的大容量数据库请求来说,这尤其是个问题。更糟糕的是,您可能需要处理云平台之间缺乏互操作性的问题。
随着数据量和速度的增长,在多云数据库环境中移动和复制数据的成本和延迟可能会变得难以承受。为避免出现这种情况,应将高度集成的工作负载及其数据库放置在同一云平台上。联合数据架构可将数据保留在本地云生态系统中,最大限度地减少云间数据流量和出口费用,同时在需要时实现互操作性。
ps:今年AWS和GCP取消了云出口费用,带来的影响还有待观察。
10. 连接云网络以减少数据延迟
尽管存在成本和延迟问题,但对于许多企业来说,一些数据在云平台上的移动是不可避免的。一些数据库请求或许可以忍受公共互联网的速度限制和不可预测性。而对于那些无法忍受的请求,有多种连接云网络的方法来解决多云网络延迟问题。对于关键流程,专用线路是一个不错的选择。除了电信运营商提供的专用线路外,还有 VPN 隧道和通过虚拟路由器实现的专用连接。
作者:Jeff McCormick