文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

主备数据库与多主数据库的拓扑比较

2024-12-02 18:31

关注

【51CTO.com快译】如今,在各种类型的应用项目中,业务规则日趋复杂,数据体量也日益增多。这些都给应用后端的数据库带来了不小的压力。而随着应用程序持续被越来越多的用户所使用,您会逐渐发现,数据库层已经成为了整个系统的关键节点和性能瓶颈。因此,实现数据层的高可用性,就成为了我们在项目设计与运维过程中,经常要考虑和解决的问题。

下面,我将以单个站点和多个站点的,主-备和多主模式为例,和您讨论数据库的各种部署类型,它们各自的特点和在功效上的利弊,以便您能够设计出具有高可用性和业务弹性的数据库架构。

首先让我们来看在单个站点上的数据库部署类型:

单节点

 

单个站点上的单节点部署

最基本的部署方式当属单个站点上的单节点架构。在业务连续性方面,这显然是最不具备优势的部署模式。由于无法提供高可用性,其唯一的DR(灾难恢复)机制只能通过现有的备份文件,去恢复数据库。可见,这种类型的部署,通常出现在不太重要的环境中。例如,在CI/CD管道的技术中,自动化测试已经成为了该过程的一部分,那么在开发或使用过程中,我们就可以将诸如:CockroachDB、Oracle、以及SQL Server等几乎所有数据库,都按照这种方式进行部署。

单节点部署模式的好处是:

单节点部署模式的缺点是:

多节点

我们再来看单个站点上的多节点架构。显然,在技术实现上,它会对DR和HA有所改进。在此类部署中,我们一般可以选用主-被模式、或多主模式,并配置出2个或更多的节点。而且,这些节点通常可以分布在不同的故障域中,例如:某个机架、某组网络交换机或磁盘。

主-被模式

主-被

这种模式通常是由一个主节点和n个被节点组成。这意味着,如果主节点出现了问题,应用程序可以立即指向被节点,并将被节点提升为主节点。该过程往往是自动完成的。不过,由于应用程序在重新指向新的节点时需要切换时间,因此服务有可能会出现中断。可见,该模式虽然优于单节点的架构,但是仍非生产环境的完美部署方案。可以被配置主-被模式的数据库包括:Oracle、SQL Server、MySQL、以及Postgres。

主-被模式的优点是:

主-被模式的缺点是:

多主模式

单个站点上的多活模式

在这个模式中,集群中的所有节点,都可以同时进行读写操作。由于在多个活动的集群中,所有节点都是平等的,因此它们没有了所谓主节点和被节点的概念。据此,您不但拥有可控的HA和DR功能,而且还具有可以轻松扩展的固有能力。目前,可以被部署为此类模式的数据库包括:CockroachDB、Cassandra以及Couchbase。

多主模式的优点是:

多主模式的缺点是:

总体而言,在单个站点上进行数据库部署的总体缺点在于,它无法应对整个站点或区域的中断情况。对此,我们往往需要用到下面将要讨论到的多个站点部署的模式。

 

多个站点上的多活模式

多站点模式主要体现在不同的节点分布在不同的站点或区域中。如果我们需要通过在线状态监测的方式,及时发现掉线的站点或区域,那么该部署模式则非常适合。也就是说,与单个站点的部署相比,多个站点部署的最大优势在于,您可以在某个或某几个区域性数据中心、或站点出现中断时,仍然可以提供原有的数据服务。

如前所述,在单个站点中,多主与主-被模式有着许多相似的优缺点。但是,对于多个站点而言,我们应当更多地考虑以下两个方面:

当然,您可以根据应用的实际需求,选用其他更为可靠的解决方案。

小结

正如我们在上述每一种部署方案的优缺点中所介绍的那样,无论您选择的哪一种解决方案,都需要考虑和满足应用业务的连续性(如HA和DR)、总体拥有成本(完整的TCO,不仅包括前期的构建支出,还包含了运维与中断所产生的成本)、以及性能上的综合需求。

原文Active-Passive vs Multi-Active Database Topologies,作者:Daniel Holt

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯