收藏文章 楼主

如何多维度分析数据库复制与存储复制的架构差异?|《迈向YB数据时代》

版块:   类型:普通   作者:小羊羔links   查看:178   回复:0   获赞:0   时间:2022-07-24 02:41:03

企业容灾架构中,所谓的数据复制技术主要是指能够将结构化数据进行复制,从而保证数据具备双副本 者多副本分散在不同数据中心的技术。具体实现方式多种多样,有基于数据库层面的数据复制技术、基于系统层面的数据复制技术、基于存储虚拟化实现的数据复制技术、基于存储底层实现的数据复制技术等。每一种技术都有其实现的前提条件,也有各自的技术特点和实现的不同效果。



本期为大家带来《迈向YB数据时代》2022年春季刊“精益架构”栏目中的议题

如何多维度分析数据库复制与存储复制的架构差异?


议题主编 某金融系统高级主管 赵海

本议题以金融行业为例,几位专家针对数据库复制技术和存储复制技术两种主流复制技术的应用场景、差异、技术路线选型几个关键认识取得共识。

存储层实现数据复制

主流存储复制技术是一种依托存储网关虚拟化技术将相同物理存储卷做镜像聚合之后提供给上层应用提供数据存储服务。虚拟化是服务器与存储间的一个抽象层用以实现存储底层的虚拟化以及高可用镜像,它是物理存储的逻辑表示方法。如图1所示

图1 虚拟网关模式的数据复制技术

原理解析 存储网关形成远距离集群系统统一对外提供存储卷服务,存储网关将底层的物理存储卷创建为虚拟化镜像卷,数据写入由应用端经过存储网关的时候由单一写入变为镜像双写,从而保障数据在两个数据中心均有保留。

主备切换 无需人工切换,存储服务不中断,暂时由双写变为单写。

依赖条件 主备数据中心高速SAN网络。

容灾目标 存储也有同步复制/异步复制模式,下文中也介绍了异步复制。

技术优劣 优势在于RPO&RTO的保障,劣势在架构复杂以及无法避免逻辑错误。

数据库层实现数据复制

数据库复制技术是一种基于数据库事务日志传输复制,通过解析源数据库日志获得数据变化,再将这些变化应用到目标数据库,使源数据库与目标数据库同步,以达到多站点间数据库容灾目的。如图2所示

图2 日志解析模式的数据复制技术

原理解析 SQL在目标数据库执行并生成相应事务日志,事务日志被传输到远端备库,备库将事务日志进行解析并应用到备库,最终保障目标数据库和备库的数据达到一致状态。

主备切换 手动命令切换,服务地址切换为备库地址,切换模式有failover & switchover。

依赖条件 主备数据中心TCP/IP三层互通可达。

容灾目标 有同步、异步、近似同步三种模式,通常采用近似同步 者异步。

技术优劣 优势在于简单安全以及逻辑错误的避免,劣势在于RTO和RPO不够极致。

基于数据库和存储的两种数据复制技术,行业选型应该考虑什么样的因素?

首先,从原理上分析,基于数据库的数据复制技术主要依靠事务日志的解析捕获目标数据库曾经发生的数据变化,然后通过这些事务的应用实现备库和主库增量行为的一致性,最终保障数据的复制保护。基于存储的数据复制技术主要在存储落盘过程中依靠写行为的镜像拆分,将单写行为转化为双写行为,以Block为单位将结果同时保存于两个镜像卷。从原理上来讲,前者依靠的是应用层面的事务行为,其他非数据库应用导致的IO行为显然不会被复制,劣势在于它的应用范围受限,优势在于它不会复制其他原因导致的无效 者错误数据;后者依靠的是存储层的IO行为,它没有能力识别应用层的有效性及正误性,所有可以下沉为存储IO的数据行为都会被复制,劣势在于它的无识别能力可能会复制错误数据,优势在于它的应用范围较广。

其次,从其所依赖的环境条件来看,数据库层的数据复制技术所依赖的环境很简单,只需要主备库之间网络3层互通可达即可,带宽无苛刻要求,容灾站点之间的距离可近可远。而基于存储网关的数据复制技术所依赖的环境就比较复杂了,需要高速SAN网络互通,而且带宽及稳定性要求极高,容灾站点之间的距离只能是短距离(一般来讲百公里以内 。

再次,从容灾的技术指标RTO和RPO来讲,基于数据库的数据复制技术虽然有同步模式,但是一般都会选择异步 者近似同步模式,容灾切换的时候虽然有自动化工具,但是一般需要人为干预,所以在RTO和RPO上不可能做到理论上的极致;基于存储网关的数据复制技术从底层镜像绑定双写,同步复制和容灾切换都属自动化模式,从RTO和RPO上可以做到相对的极致。

以上从原理机制、架构复杂性以及容灾目标等三个方面阐述了两种数据复制技术的优劣。因此无论是哪个行业在进行容灾技术架构选型的时候可以根据自己追求的目标来进行衡量(例如 如果RTO和RPO是硬关键目标,那么选择后者 。但是还有一句金玉良言“越复杂的架构越不安全,可以用简单架构解决的问题,绝对不用复杂架构!”因此,如果我们看中的是安全和风险控制,那么选择前者。最后,如果企业容灾的成本不是问题,那么不妨考虑金融行业通常追求的两地三中心架构,在这个架构当中将两种技术各取其优势融合使用。 


社区专家主张

赵海主编 本议题由民生银行数据库架构师孔再华、某农信资深技术经理雷智、江苏农信存储工程师康建国、成方金融信息技术服务有限公司高级工程师贺东杰分别主张议题下的相关关键点,几位专家的主张在青岛航空系统架构师战学超、宁夏银行技术经理陈明福及我的复议下,最终形成一定的共识供同行参考。


孔再华 民生银行数据库架构师

存储复制技术和数据库复制技术都是比较适用的灾备建设手段。存储复制方案具有较高的成熟稳定性和通用性,更偏向于标准化建设。而数据库复制技术具有较好的性能和适应性、经济性等,更适用于进阶型选择。


金融行业数据中心的灾备建设是非常重要的课题。在典型的两地三中心建设中,通常同城双中心要求RPO=0,所以是数据同步的状态。而异地灾备中心因为时延问题,数据是异步复制。数据库复制技术和存储复制技术是数据中心灾备建设中常用的两种方法。

下面就这两种方法图解(图3和图4,图片可点击放大 说明其特点,作为灾备建设方案的选择依据。

图3 存储复制

图4 数据库复制

在容灾建设中,数据库系统最重要,因为数据基本都是存放在数据库中。数据库里的重要文件主要包含数据文件和日志文件。因为性能的关系,数据库的数据文件通常缓存在内存里,所以数据文件在磁盘上并不是最新的状态。因此数据库的恢复不仅需要数据文件,还需要日志文件来进行回放,从而达到最终的PITR一致性。

数据库的数据文件写磁盘存在写放大的问题。因为即便是改一条数据,对于数据文件来说,最小的IO是page 者extend级别(不同的数据库可能有不同的术语 。因此实际磁盘的IO其实要比真正写入的数据量要大很多。

下面比较下在不同复制方案下的优缺点如表1。

表1 存储复制与数据库复制对比分析

存储复制是通过底层存储厂商的容灾技术,实时将主中心数据库使用的文件实时复制到灾备中心。这里包含数据文件和日志文件。灾备存储对于灾备服务器是处于不可用的状态,只有发生切换的情况下,才会挂载文件系统,然后启动数据库提供服务。因此在存储复制方案里,灾备中心的服务器处于冷备状态。存储复制技术成熟稳定,并且通用性强,适合任何一种数据库 者是数据存储需求。

数据库复制技术是通过在主备数据库之间实时同步日志文件,备机时刻重做日志,达到和主库保持数据一致的状态。这里的日志复制是走以太网,对于硬件环境没有强依赖。因为仅仅传输日志文件,所以网络带宽需求也比存储复制少很多。数据库备机还可以提供只读的能力,为提高资源利用提供了更多可能性。如需切换,因为备机处于热备状态,因此RTO相对更小,实现分钟级切换。

从对比结果来看,存储复制技术和数据库复制技术都是比较适用的灾备建设手段。存储复制方案具有较高的成熟稳定性和通用性,更偏向于标准化建设。而数据库复制技术具有较好的性能和适应性,经济性等,更适用于进阶型选择。


雷智 某农信资深技术经理

基于数据库的数据复制在细粒度数据容灾、广域云化容灾领域仍然具有广阔的应用前景;基于存储的复制技术非常适合主机 业务系统多且复杂的环境。在企业级容灾技术体系规划实践中,可以根据业务系统特点及业务连续性要求,单独 组合使用。


数据库复制与存储复制是当前业界常用的成熟容灾技术。从目前业界发展来看,可以实现数据复制的技术多种多样,有基于数据库层面的数据复制技术,例如Oracle公司的ActiveData Gurad、IBM公司的DB2 HADR等;有基于存储虚拟化实现的数据复制技术,例如EMC公司Vplex Stretch Cluster、IBM公司SVC Split Cluster、NetAPP公司Metro Cluster等;也有基于存储底层实现的数据复制技术,例如IBM公司的DS8000 PPRC技术、EMC公司的SRDF技术、HP公司的CA技术等等。本文以Oracle ADG与华为HyperMetro为例,介绍数据库与存储复制的技术原理,并从实践中需重点关注的多维度功能点进行对比分析。

基于数据库的数据复制技术

基本概念

基于数据库的数据复制技术是对数据库级别、表级别容灾的基础技术,通常采用日志复制功能,依靠本地和远程主机间的日志归档与传递来实现两端的数据一致。这种复制技术对系统的依赖性小,有很好的兼容性。缺点是本地复制软件向远端复制的是日志文件,这需要远端应用程序重新执行和应用才能生产可用的备份数据。虽然该方式的RTO趋于零,但是支持的应用有限,而且日志传输速度受服务器性能和网络带宽的影响。

前提条件

容灾站点之间需要有三层以太网连通,软件层面需要数据库的集群软件模块(Oracle ActiveData Gurard 者是DB2 pureScale HADR。服务器层面需要至少两套服务器系统分别部署于两个数据中心。存储层面需要两套存储空间分别部署于两个站点作为主库存储和备库存储,他们之间互相独立。

复制原理

对于主站点的数据库来讲,客户端的数据更新请求首先要由日志写入进程写到重做日志当中,然后由数据写进程再周期性地写入数据文件当中。重做日志当中以SCN为数据库独有的时间 序列来记录所有数据库更新的先后顺序,从而保障数据库恢复能够按照正确的顺序执行保障数据一致性和完整性。对于配置了Active DataGuard的数据库读写的完成在以上所述过程中,日志写进程在本地日志文件写入过程的同时,日志传输进程会将缓存里面的重做日志通过ADG传输给灾备站点的备库实例,备库实例的日志接收进程根据接收到的重做日志在备库上重新执行数据库的更新操作,从而保证主库和备库的事务性更新行为一致性,最终保证数据的一致。ADG在启用前,必须保证备库的数据保持与主库的某一固定时间点的完整副本,需要靠传统数据备份技术来实现备库的初始数据复制。因为事务复制的本质是行为复制,那么行为作用的初始数据副本必须保持一致,才能保证最终两副本的一致性。

对于事务日志的复制技术,根据主库IO周期特点可以分为绝对同步模式、近似同步模式和异步模式三种。绝对同步模式是指主库的一个完整更新事务的结束既要包括主库的重做日志落盘也要包括备库的重做日志落盘,即备库重做日志落盘之后返回给主库,主库才能执行下一个事务。近似同步模式是指在传输正常情况下保持与绝对同步模式一样的模式,在网络传输超时的情况下,剥离备库重做日志的过程,需保证主库重做日志落盘即可。异步模式是指主库只保证本地重做日志落盘,并不会等待备库重做日志落盘的返回信号。在后两种模式下,当主备库传输管理剥离之后,主库会主动通过以下两种方式探测并尝试重新和备库建立联系。第一是归档日志进程会周期性ping备库,成功情况下,会根据获得的备库控制文件的记录的最后归档点和自己的归档日志决定向备库推送哪些归档日志。第二是日志发送进程会在重做日志准备发生归档的时刻点主动去ping备库日志接受进程并把剩余的重做条目发送给备库接受进程。

图5 Oracle Active Data Guard原理

基于存储系统的数据复制技术

基本概念

通过存储系统内建的固件 操作系统、IP网络 光纤通道等传输介质链接,将数据以同步 异步的方式复制到远端,从而实现生产数据的灾难保护。

前提条件

对于物理存储底层的块复制技术来讲,对于环境要求主要在于存储层。容灾站点之间需要SAN环境联通,主备两端存储一般要求型号一致并且配置有专门的存储复制软件以及相关许可。

复制原理

基于存储的数据复制技术,对上层应用相对透明,主要是依靠存储层两个节点来完成源到目标的复制。当上层应用将数据写入存储的时候,那么由存储将这一IO请求再以块的方式传输到另外一个存储上,从而保证存储设备在块级别上的一致性副本。对于同步复制来讲,需要应用端的IO请求等到存储层的复制完毕之后才会正常返回,对于异步复制来讲,应用IO请求跟底层复制无关,无须等待复制结果。对于这种复制技术来讲,两个数据副本仅仅是数据内容相同,在上层没有任何逻辑捆绑 者是虚拟化,所以上层应用也是完全隔离的两套应用,一旦存储发生故障,无论上层应用节点及网络节点是否可用都需要发生站点级切换实现业务连续性,存储本身不能隔离开应用发生切换。

基于存储系统的数据复制,其核心是利用存储自身磁盘之间的数据块复制技术实现对生产数据的远程拷贝,从而实现灾难保护。当生产中心故障时,灾备中心可直接提供运营支撑环境,保障业务连续;同时,利用灾备中心的数据恢复生产中心的业务,满足企业对RPO和RTO的要求。

通常有两种方式 同步复制如图6和异步复制如图7。

同步复制可以做到主/备集群的数据同步更新,前端应用的I/O写入主集群的存储卷,主集群同时将写I/O写入备集群,备集群确认后,主集群才向前端返回“写完成”信息。

图6 基于存储系统的数据复制技术(同步复制

异步复制是在应用系统的I/O写入主集群的存储卷后,主集群立即返回“写完成”信息,前端应用可继续进行其他的读写操作。同时,主集群利用自身机制将该I/O写入备集群,实现异步的复制。

图7 基于存储系统的数据复制技术(异步复制

数据复制技术对比

基于上述两种数据复制技术原理,结合容灾管理实践中需关注的重点内容进行了对比分析如表2。

表2 数据复制技术对比

总结

基于数据库与存储的两种数据复制技术各有其技术特点与应用场景,它们均在企业容灾解决方案中广泛使用。基于数据库的数据复制是对数据库记录级别、表级别容灾高可用的基础技术,提高了系统应用的灵活性,可实现数据库应用多活,主要应对数据库逻辑错误,在细粒度数据容灾、广域云化容灾领域仍然具有广阔的应用前景。基于存储的复制技术主要应对的是存储等硬件级故障,不依赖于主机平台和应用,不消耗主机资源;适用性强,非常适合主机 业务系统多且复杂的环境,实施难度小;虽然要求主备中心的存储设备统一品牌,但能够提供更好的硬件扩展性,对上层业务及主机端透明,维护成本也更低。在企业级容灾技术体系规划实践中,可以根据业务系统特点及业务连续性要求,单独 组合使用两种数据复制技术。


康建国 江苏农信存储工程师

数据库复制技术适合单个系统进行容灾设计时考虑,需要根据对应数据库产品在数据复制方面的功能是否全面、应用是否可以进行对应改造等方面去进行考虑。


目前企业数据中心使用的数据复制技术大概可分为五类,分别是 基于应用的复制、基于数据库的复制、基于主机的复制、基于存储网关的复制和基于存储系统的复制。每种复制技术的实现原理不尽相同,其中基于数据库的复制和基于存储系统的复制是目前业界最流行的选择,今天我们就来简单分析比较一下这两种复制技术的架构差异。

两种技术介绍

数据库复制技术是一种基于数据库log(日志 的结构化数据复制技术,它通过解析源数据库在线log 归档log获得数据的增、删、改变化,再将这些变化应用到目标数据库,使源数据库与目标数据库同步,以达到多站点间数据库可双活甚至多活,实现业务连续可用和容灾的目的。

存储复制技术是基于存储磁盘阵列之间的直接镜像,通过存储系统内建的固件(Firmware 操作系统,利用IP网络 光纤通道等传输界面连结,将数据以同步 异步的方式复制到远端。一般情况下是在等存储品牌的同等型号 者接近型号的存储系统控制器之间实现。目前各个主流品牌的高端存储都具备成熟的数据复制功能。

两种技术差异

数据库复制技术包括物理复制和逻辑复制两种方式。逻辑复制是利用数据库的重做日志、归档日志,使用日志分析技术(log miner 将主本所在站点的日志传输到副本所在站点,通过重做SQL的方式实现数据复制。逻辑复制技术的典型代表是Oracle Golden Gate软件,它可以抽取分析主库的日志中的SQL,然后传输应用到备库中去。既支持同构数据库之间复制,也支持异构数据库之间复制。

图8 数据库日志复制

物理复制不是基于SQL Apply操作来完成复制,而是通过redo log日志 者归档日志在副本站点的同步 者异步持久化写(db recover 来实现复制功能,同时副本站点的数据可以提供只读功能。物理复制技术的典型代表有Oracle Data Guard/Oracle Active Data Guard等,一般使用在同构数据库之间。

下面以比较常见的同城双中心架构下Oracle ADG和存储复制架构为例,比较两种复制技术的架构主要差异。

图11 Oracle ADG同城容灾架构

1 数据库复制技术依靠数据库软件实现;存储复制技术依靠存储设备实现。

2 数据库复制技术主要使用IP协议在以太网中传输主备数据库之间的日志数据;存储复制技术通常是使用FC协议在SAN网络中传输存储复制数据。

3 数据库复制架构中的备库可以提供对外查询服务;存储复制架构的备端存储通常是不对外提供业务功能。

4 数据库复制架构中主库抽取和传输日志需要消耗主端服务器一定资源,备端数据库需要重新执行和应用日志才能生产可用的备份数据,也需要消耗备端主机和应用的开销。相对而言,存储复制架构不依赖于主机平台和应用,不消耗主机资源,并且部署相对简单和快速。

两种技术使用建议

数据库复制和存储复制这两种技术目前使用得都很广泛,各个企业需要根据自身业务系统的重要性等级、系统规模,结合对业务恢复RPO、RTO的要求进行选择。

数据库复制技术适合单个系统进行容灾设计时考虑,需要根据对应数据库产品在数据复制方面的功能是否全面、应用是否可以进行对应改造等方面去进行考虑。

存储复制技术的应用应该是当前选择较多的一种复制技术,该方案不依赖于主机平台和应用,适用性强,非常适合主机 业务系统多且复杂的环境,实施难度小。可以实现远距离容灾,适合数据中心在设计同城容灾 两地三中心的整体容灾架构时考虑使用。


贺东杰 成方金融信息技术服务有限公司高级工程师

实际生产系统在规划过程中不止使用一种数据复制技术,往往多种数据复制结合,多管齐下从而达到更高数据保护效果。


数据复制是保护数据安全的重要技术手段,数据复制技术有力的保障了业务数据完整性和有效性,从而使数据中心更为灵活地应对各种故障 灾难场景。业界较为常见的数据复制技术包括基于主机的数据复制技术、基于应用和中间层的数据复制技术、基于数据库的数据复制技术、基于存储系统网关的数据复制技术和基于存储介质的数据复制等。实际生产系统在规划过程中不止使用一种数据复制技术,往往多种数据复制结合,多管齐下从而达到更高数据保护效果。本文主要结合笔者自身经验讨论分析数据库复制技术和存储复制技术的架构差异。

技术实现

数据库复制技术根据复制实现原理不同,分为逻辑复制和物理复制。

数据库逻辑复制利用数据库的LOGMINER技术把日志内容还原成SQL语句,然后通过重做SQL方式实现数据复制。逻辑复制只提供异步复制(准实时复制 ,主副本数据的最终一致性,无法保证实时一致性。逻辑复制较常见于异构数据库间数据复制,可自由定制复制范围,主库和备库均支持读写,因此应用可结合此特性和复制关系实现在主备站点间“双活”,主站点应用日常处理读写业务,备份站点日常处理读业务。另外逻辑复制也常见于同站内交易库和数据仓库间的同步。以IBM CDC为例,其实现架构图如图12、图13。

数据库物理复制利用数据库的media recovery技术,通过数据库日志的同步 者异步持久化在数据块级别进行恢复,保证主备数据库完全一致,同时备库可以提供只读功能。数据库物理复制既支持异步复制模式又支持实时复制模式,可以实现“零数据丢失”。复制范围为全库不可以自由定制,可根据数据中心带宽资源情况、数据量大小和应用业务需求等灵活选择复制模式,基于物理复制的应用,由于备库只读,所以备库所在站点应用可以启动但只提供有限服务,最常用于同城、异地灾备解决方案。此处以Oracle ADG为例,其基本架构图如图14。

图14 Oracle ADG架构图

存储复制技术适用场景

存储复制技术依赖存储系统的磁盘间的数据块复制保持源端和目标端数据一致,既支持同步模式也支持异步模式。同步模式多用于同站点内本地存储高可用场景,异步模式多用于跨站点容灾。

数据库复制技术和存储复制技术对比差异分析


结束语

金融行业业务系统多样化,应用场景多样化,使得数据安全保护在选择不同的复制技术时,需要考虑的因素众多。如上四位金融同行所言,不同的复制技术适用于不同的系统和场景既可以单独应用,也可以搭配实现。系统和场景的多样化,一开始就注定了不是谁选谁这样简单的决策问题。


阅读更多《迈向YB数据时代》精彩内容,请识别以下二维码


《迈向YB数据时代》

数据,作为企业最核心的战略资产,正在由于规模越来越大变成一只令人恐怖的怪兽。在人类数据应用规模即将进入YB时代的当下,如何存好、用好、管好海量数据成为大中型企业普遍面临的巨大挑战。《迈向YB数据时代》,由twt社区和华为存储用户俱乐部联合主办,凝结中国一线用户中应用创新技术专家的具有代表性、前瞻性的技术洞见、实战经验、同行共识,从趋势、架构、实施和运维四大方向,为中国大中型企业应对数据及存储管理中的重大应用挑战提供代表性的参考指南。“乘众人之智,则无不任也;用众人之力,则无不胜也。”让我们一同携手,从容迈向YB数据时代!

《迈向YB数据时代》2022年春季刊以数据容灾为主题,集二十多家从事企业科技战线的各路精英之学识经验,围绕数据容灾备份这一黄金战甲,以精益架构、集成实施、持续运维、趋势动态四个栏目展开,每个栏目又分为若干业内同行认为亟待解决的议题,每个议题中各位同行专家从不同维度充分剖析诠释,同时以朴实敦厚而又精炼有序之论给予解决思路和方法。我们在此将春季刊的内容进行连载放送,希望可以为企业同行提供容灾备份战线上的参考,更希望可以成为集结八方同道之号角。

【点击图片阅读春季刊】
↓↓↓

【夏季刊已发布,点击图片了解详情】
↓↓↓

点击标题阅读往期连载
  • 2022年春季刊【精益架构】议题一 纯数据备份和容灾技术不再是未来主流,如何通过二者的无缝衔接来支撑业务的连续性?

  • 2022年春季刊【精益架构】议题二 如何构建既健壮又安全的存储双活架构?

  • 2022年春季刊【精益架构】议题三 如何正确认知双活数据中心的存储层脑裂?

  • 2022年春季刊【精益架构】议题四 为避免脑裂,存储双活架构设计应遵循哪些思想和方法?

点击 ,到社区原文下与更多同行交流探讨


*本 所发布内容仅代表作者观点,不代表社区立场

小羊羔锚文本外链网站长https://seo-links.cn 
回复列表
默认   热门   正序   倒序

回复:如何多维度分析数据库复制与存储复制的架构差异?|《迈向YB数据时代》

Powered by 小羊羔外链网 8.3.11

©2015 - 2024 小羊羔外链网

免费发软文外链 鄂ICP备16014738号-6

您的IP:3.142.250.114,2024-04-24 12:01:27,Processed in 0.05605 second(s).

支持原创软件,抵制盗版,共创美好明天!
头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息