PolarDB-X 1.0-技术白皮书-解决方案与客户案例

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 异地多活场景下的数据库方案方案背景随着云计算的蓬勃发展,越来越多信息系统选择部署在云计算环境下,因此基于云产品为信息系统的服务能力和数据质量提供保障尤为重要。为了防止灾难性的故障如火灾、洪水、地震、区域电力中断或者人为破坏等对信息系统造成不可挽回的破坏,需要构建容灾系统来保障信息系统的可用性和安全性。2007年,国务院信息化办公室联合银行、电力、民航、铁路、证券等八大重点行业,制定发布了国家标准GB/T20988-2007《信息系统灾难恢复规范》,明确规定了容灾能力的6个等级要求。企业在构建容灾系统时往往会参考国标等级,或者以此作为合规要求。然而,大部分传统容灾方案如同城容灾、同城双活

异地多活场景下的数据库方案

方案背景

随着云计算的蓬勃发展,越来越多信息系统选择部署在云计算环境下,因此基于云产品为信息系统的服务能力和数据质量提供保障尤为重要。为了防止灾难性的故障如火灾、洪水、地震、区域电力中断或者人为破坏等对信息系统造成不可挽回的破坏,需要构建容灾系统来保障信息系统的可用性和安全性。

2007年,国务院信息化办公室联合银行、电力、民航、铁路、证券等八大重点行业,制定发布了国家标准GB/T20988-2007《信息系统灾难恢复规范》,明确规定了容灾能力的6个等级要求。企业在构建容灾系统时往往会参考国标等级,或者以此作为合规要求。然而,大部分传统容灾方案如同城容灾、同城双活、异地容灾、两地三中心等很难达到国标5-6级要求,同时还存在成本浪费,灾备单元健壮性不足等问题。

异地多活从业务视角来看是通过对业务做自顶向下的流量隔离来实现的,按照某一个分流维度对业务流量进行划分,并路由到不同的地域。整个部署架构分多个地域,每个地域称之为一个单元,其中某个单元又承担着整个多活架构的逻辑中心角色,提供一些中心化的服务能力(如sequence_分发,强一致读服务等)。每个单元内的业务架构分为接入层、服务层、数据层:

p282502.png

  • 接入层业务流量通过租户侧DNS解析后按照权重分配到不同单元的接入层,进入接入层后,通过解析请求header/cookie中的分流标,对比自定义的分流规则,判断请求是否归属本单元,若归属本单元则走到本单元的服务层。否则流量需要转发到对端单元,根据不同的内网连通性可以走upstream或304跳转。
  • 服务层服务层部署的是业务应用系统,包括中间件等。如果使用了阿里云的中间件如CSB、RPC框架、MQ等,可以通过相应产品的多活接入能力实现在服务层的流量路由和纠错。针对RPC服务,在多活场景中分为:单元化服务、中心化服务、普通服务三类:
  • 单元化服务:每个单元内完全自治的服务,是多活场景下的主要服务类型,会对流量进行单元归属判断,并进行流量纠错。
  • 中心化服务:强依赖中心单元的服务,流量都会被转发到中心单元,通过中心单元的服务访问中心单元的数据层。
  • 普通服务:不做任何改造的服务,在本单元内进行服务调用,并访问本单元的数据层。
  • 支持多活能力的主要服务类型是单元化服务,但是当业务系统比较复杂时,可能难以实现所有业务模块均按某一个维度划分,或者某些业务服务必须要单点部署以避免分布式部署的一致性问题,此时可由中心化服务和普通服务提供相应能力支持。
  • 数据层数据层解决数据库跨地域的部署与同步问题,并在灾难发生时对流量切换动作提供相应的数据质量保护策略。针对上层业务不同的服务类型提供UNIT和COPY两种数据同步策略:
    UNIT类型:每个单元部署独立的数据库系统,单元之间通过DTS进行数据【双向】实时同步,保持每个单元都有全量数据,每个单元均可进行读写操作,读写流量会根据业务定制的分流策略进行单元写保护,这种同步策略用于支持服务层的单元化服务类型,是多活场景的核心同步策略。
    COPY类型:每个单元部署独立的数据库系统,单元之间通过DTS进行数据【单向】实时同步,保持每个单元都有全量数据,中心单元可进行读写,非中心单元只提供读服务。这种同步策略用于支持中心化服务和普通服务,中心化服务路由回中心执行,普通服务可在单元内进行读。

方案应用场景

本解决方案适用于以下业务场景:

  • 容灾能力要求高异地多活可以达到国标6级的容灾能力,适合对容灾方面有较高要求的业务、业务流量比较敏感的业务或业务的某些核心系统。
  • 流量要求精细化管理异地多活支持多种流量管理策略,适合对流量管理有复杂需求的业务如按地域就近接入,按用户信息分配指定数据中心等。
  • 业务快速发展异地多活实现业务按照单元级别(数据中心级别)实施水平扩展,业务定义好一个单元的服务部署配比后,可以以此为镜像快速部署多个分布全国的单元,实现容量快速扩充。
  • 业务读多写少读多写少业务可以从业务行为上天然的规避数据异步复制的各类问题,并且业务接入多活的改造成本也较低,是比较适合实施异地多活的业务场景。

方案价值

异地多活的价值具体表现在如下方面:

  • 业务即容灾传统异地灾备或两地三中心的异地灾备中心常态不提供服务,当发生地域级灾难时难以保证异地灾备中心的可用性,存在切换成功率低的问题,异地多活架构下各个地域数据中心不区分角色,全部常态承载业务流量,时刻保证业务系统健壮,各个数据中心既是业务体系也是容灾系统。
  • 业务连续性保障异地多活架构下各个数据中心常态承接业务流量,故障发生时只需调拨入口流量即可实现容灾切换,实现分钟级的容灾切换。同时随着参与多活建设的数据中心数量增加,参与调拨流量的比例会相应减少,未参与调拨的业务流量可以实现对容灾切换的“0”感知。
  • 业务高速发展支撑业务高速发展,受限于单个地域的有限资源,尤其是数据层存在单点性能瓶颈,除异地多活以外的全部容灾架构都只能在主生产中心执行写操作。地域多活实现业务级的流量闭环,各个数据中心均可读写,具备水平扩展能力以及跨地域的快速扩建能力。
  • 流量有效隔离异地多活本质上是提供了一种自顶向下的流量隔离能力,业务具备在数据中心级别完全隔离的能力,各个数据中心承载的流量大小可灵活调配,在最小隔离数据中心内(例如承载1%流量),业务可灵活进行风险可控的技术演进,例如基础设施升级、新技术验证等。
  • 成本有效控制在考虑单个地域发生地域级灾难的场景下,不论两地三中心还是异地灾备都需要在灾备中心部署可承载100%流量的系统资源,加上生产中心即达到200%的成本冗余。异地多活通过跨城多数据中心部署,有效分摊各个数据中心成本,实现成本小于200%冗余。

成功案例之联通新客户

案例背景

联通新客服系统承担着联通全国的客服业务,对持续高可用能力有极高要求,同时也是联通向全站高可用演进的起点,其业务特点以TP业务为主。

案例架构

客户基于此方案,整合RDS、PolarDB-X、DTS、MSHA产品能力,实现了整个新客服系统7个业务中心的多活能力。

  • RDS、PolarDB-X承载业务数据并对接多活管控系统。
  • DTS实现数据的跨城实时同步和状态上报。
  • MSHA实现多活流量管控和容灾切换动作。

p282502.png案例效果

  • 联通新客服系统的接入中心、外呼中心、业务支撑等7个业务实现按地域多活分流。
  • 实现多次容灾演练,对多个省份进行切流,秒级完成切换,数据0丢失。
  • 客户部署了两单元,常态两个单元均承载业务流量,充分利用两单元的资源。
相关文章
|
存储 DataWorks 监控
DataWorks,一个 polar db 有上万个数据库,解决方案
DataWorks,一个 polar db 有上万个数据库,解决方案
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
|
10月前
|
存储 缓存 调度
性能提升利器|PolarDB- X 超详细列存查询技术解读
本文将深入探讨 PolarDB-X 列存查询引擎的分层缓存解决方案,以及其在优化 ORC 列存查询性能中的关键作用。
1042 69
|
存储 关系型数据库 MySQL
PolarDB-X 存储引擎核心技术 | 索引回表优化
数据库系统为了高效地存储、检索和维护数据,采用了多种不同的数据组织结构。不同的组织结构有其特定的用途和优化点,比如提高查询速度、优化写入性能、减少存储空间等,目前 PolarDB-X 采用了 B-Tree 的索引组织结构。
|
存储 Oracle 关系型数据库
PolarDB-X 存储引擎核心技术 | Lizard B+tree 优化
PolarDB-X 分布式数据库,采用集中式和分布式一体化的架构,为了能够灵活应对混合负载业务,作为数据存储的 Data Node 节点采用了多种数据结构,其中使用行存的结构来提供在线事务处理能力,作为 100% 兼容 MySQL 生态的数据库,DN 在 InnoDB 的存储结构基础上,进行了深度优化,大幅提高了数据访问的效率。
7757 25
|
存储 SQL 关系型数据库
PolarDB-X 存储引擎核心技术 | Lizard 无锁备份
本文重点要介绍全量备份的设计,作为承担在线数据存储的 DN 节点,按照数据保护和容灾的需求,DN 需要支持灵活定制周期策略的备份策略。同时,PolarDB-X 能够处理和存储庞大的数据规模,备份这些数据量(例如高达 20TB 大小的数据集),如果想在更短的时间内完成备份(比如 3~4 小时),这样的备份 SLA 需要在在线业务影响、并行策略上有更多的优化。
PolarDB-X 存储引擎核心技术 | Lizard 无锁备份
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
234 5
|
存储 SQL Cloud Native
揭秘!PolarDB-X存储引擎如何玩转“时间魔术”?Lizard多级闪回技术让你秒回数据“黄金时代”!
【8月更文挑战第25天】PolarDB-X是一款由阿里巴巴自主研发的云原生分布式数据库,以其高性能、高可用性和出色的可扩展性著称。其核心竞争力之一是Lizard存储引擎的多级闪回技术,能够提供高效的数据恢复与问题诊断能力。本文通过一个电商公司的案例展示了一级与二级闪回技术如何帮助快速恢复误删的大量订单数据,确保业务连续性不受影响。一级闪回通过维护最近时间段内历史数据版本链,支持任意时间点查询;而二级闪回则通过扩展数据保留时间并采用成本更低的存储方式,进一步增强了数据保护能力。多级闪回技术的应用显著提高了数据库的可靠性和灵活性,为企业数据安全保驾护航。
174 1
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
476 0

相关产品

  • 云原生分布式数据库 PolarDB-X