云计算时代的数据库运行

云计算时代的高可用数据库是可扩展、容错且与任何私有云或公共云兼容的数据库实例。它们旨在提供业务连续性,而不会因任何类型的硬件或网络故障而导致用户体验的影响。其核心设计原则是消除任何单点故障,并提供平稳的故障转移体验。

公共云和私有云使企业能够摆脱容易出错的传统架构,并运行具有可靠性为5个9和6个9的应用程序。业务应用程序可以按需、即时且经济高效地进行调整。数据库应用程序一直是所有企业基础设施的主要组成部分,但这些应用程序(特别是关系数据库)在使用云计算能力方面仍有很长的路要走。它们被设计为大型单片应用程序,当组织尝试以可扩展的方式可靠地运行它们时,将面临着相当大的挑战。

传统的分布式环境数据库通常部署为多个独立的数据库实例,具有统一查询的能力。对于测试/开发环境,生成数据库的许多物理副本在后台创建,导致数据蔓延。云计算与这些解决方案的集成是有限的:重点是数据的位置,而不是使用分布式系统的强大功能。让我们考虑针对高可用性和测试/开发数据库的情况解决这些问题的不同选项。

高度可用的数据库

云计算时代的高可用数据库是可扩展、容错且与任何私有云或公共云兼容的数据库实例。它们旨在提供业务连续性,而不会因任何类型的硬件或网络故障而导致用户体验的影响。其核心设计原则是消除任何单点故障,并提供平稳的故障转移体验。

主动/被动数据库副本

第一种选择是在主/副本体系结构中部署数据库,以便在任何给定时间单个主服务器提供数据库请求。复制策略使用数据库供应商的复制特性或外部第三方复制工具从主服务器同步复制数据。一旦主服务器发生故障,副本服务器就会接管并使用复制的数据在故障发生之前重新启动数据库。

这种方法可能会遇到数据库性能和可靠性问题。数据库操作将与这两个位置的网络一样快。第三方复制工具可能无法提供稳定的数据复制,并且可能在故障转移后使数据库处于不一致的状态。

内置高可用性的数据库

第二种选择是寻找提供内置高可用性的数据库解决方案。此功能在Noss数据库(如Cassandra和MongoDB)中更常见。它们从数据库层创建一致的数据副本,并启用容错数据库。然而,这种方法可能对许多企业不起作用,因为传统的关系数据库管理系统缺乏这种能力。此外,混合和多云复制通常不是这些解决方案的选择。

测试/开发数据库

克隆数据库是测试、开发和分析的共同要求。生产数据库始终在隔离的基础设施中运行,并且为备份、大数据分析和质量保证创建此数据库的一个或多个副本。

快照和克隆

要将数据库复制到另一个站点或云平台,操作人员可以获取快照并将其物理克隆到其他位置。这样做涉及设置策略,该策略定期获取数据库的快照。并将其克隆到预定义位置。用户需要像Oracle RMAN这样的解决方案,它可以跟踪快照之间的变化,采取一致的备份,并在需要时进行恢复。但是对于所有数据库都不存在这样的解决方案,并且使用远程数据中心和云平台来创建这样的克隆仍然是复杂的(如果可行的话)过程。

适用于私有云、混合云和多云的高可用存储

解决这些问题的更好解决方案是从存储层完全抽象数据库层,并让存储解决方案处理应用程序的高可用性。软件定义存储(SDS)可以通过提供不同类型的硬件和软件故障的数据保护来提供此功能。软件定义存储(SDS)还可以灵活地在后端使用任何类型的存储硬件,其中包括物理服务器和虚拟云实例。

这种方法的唯一缺点是投资于正确的解决方案,这种解决方案很容易与客户选择的数据库应用程序集成,并且还与其他数据库兼容以实现转换。此外,此类解决方案应该能够在任何私有云或公共云上运行,并且应该模糊内部部署和公共云位置之间的界限。

以下是这样的解决方案:

数据库即服务

社交媒体、投资、游戏等需要5个9或6个9的可用性,并采用全球可访问性的应用程序,需要最适合云端的整个数据库系统。数据库即服务(DBaaS)提供了一种在云中运行数据库的简便方法,可以节省购买服务器、构建基础设施和构建大型团队来管理这些数据库的时间。供应商提供多种方式来使用数据库即服务(DBaaS)产品,例如安装了数据库的虚拟机,DB Schema即服务以及具有专用硬件的数据库,用于RDBMS以及NoSQL数据库。

在考虑任何基于云计算的数据库安装时,必须解决以下问题:

(1)供应商锁定:每个提供商都有自己的业务流程框架,这使得消费者更难从一个提供商转移到另一个提供商。

(2)数据同步:总是需要外部工具以一致的方式将数据从一个位置复制到另一个位置。这些工具通常具有破坏性,昂贵且复杂,并且它们构成了跨越多个位置和环境的巨大瓶颈。

(3)云计算成本分析:决定在云平台中应该使用哪些应用程序和数据之前,应该进行仔细的预算分析。如果不设计混合云,其预算很容易失控,同时要记住为了获得简单性和灵活性需要付出代价。

迄今为止,数据库已经存在了50多年,长期在传统的办公环境中成功运行。现在是企业通过采用云计算解决方案运行现代数据库来获得竞争优势的时候了。

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2018-10-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

torch详解(Yoshua Bengio深度学习暑期班)

1132
来自专栏ThoughtWorks

TW洞见 | 周哲武:开发过程中的第三方依赖

“聪明”的本地模拟服务 现在,越来越多的应用都开始面向服务架构,这意味这更好的重用性;一个设计良好的服务,不仅可以被网站使用,也可以被各种移动应用使用。但是世界...

3529
来自专栏破晓之歌

JS预加载视频音频/视频获取截图技巧分享 原

有空实验后贴代码。参考文档里有解决预加载音视频,以及获取截图的技巧,文章内容提到跨域资源的解决方法。

1462
来自专栏王硕

原 PostgreSQL知识树

1944
来自专栏网站设计制作、数字营销

网站制作前网站主机空间的选择

无论是企业公司还是学校教育机构等事业单位,网站制作完成之后往往需要将网站上传配置到相应的主机空间中。网站的主机空间的选择也是一项重要的工作,通常是由网站制作公司...

2963
来自专栏流柯技术学院

LR--Controller的Pacing设置(不容忽视的设置)

笔者:很多人在使用LR时会忽略此选项,但对LR有深入理解的人,会经常使用该配置。测试场景:100个并发用户达到100TPS的处理能力,重点验证并发用户,也就是每...

1802
来自专栏腾讯移动品质中心TMQ的专栏

HTTP性能测试

由于我们公司用户数量庞大,在服务上线之前,性能测试必不可少。本文主要介绍性能测试的流程,需要关注的指标,性能测试工具Apache bench的使用,以及常见的坑...

68114
来自专栏云计算D1net

混合云和多云管理不再难:基础架构即代码来帮忙

随着运维流程变得越来越灵活,IT团队面临着越来越大的复杂度。当应用动态改变时,可以使用敏捷或者持续应用开发。但是当IT资源本身动态变化的时候怎么办呢多云和混合云...

4097
来自专栏编程直播室

编程直播室第一期结束和第二期预告附录

1684
来自专栏阿凯的Excel

Excel插件大放送~

当你面对姓名电话拆分电话的时候,你会怎么做? 是Right函数? ? 还是智能填充? ? 抑或这样? ? 或者这样? ? 当你想要把人员信息按照部门进行拆...

5226

扫码关注云+社区

领取腾讯云代金券