数据实时同步或抽取上收的技术分析

article/2025/8/28 21:04:41

原文:http://blog.csdn.net/dsg_gulibin/article/details/1696365


1           实现数据集中的技术手段分析比较

根据业界提供数据同步或抽取的解决方案来看,主要包括以下几大类:

l         存储复制技术

l         数据库复制技术

l         ETL抽取技术

1.1         存储复制技术

实现原理

存储复制技术主要由磁盘阵列复制技术、主机卷复制技术以及一些文件复制技术。

存储复制方案的技术核心是利用存储阵列自身的盘阵对盘阵的数据块复制技术实现对生产数据的远程拷贝,从而实现生产数据的灾难保护。在主数据中心发生灾难时,可以利用灾备中心的数据在灾备中心建立运营支撑环境,为业务继续运营提供IT支持。同时,也可以利用灾备中心的数据恢复主数据中心的业务系统,从而能够让企业的业务运营快速回复到灾难发生前的正常运营状态。

基于存储的复制方案有两种方式:同步方式和异步方式,说明如下: 同步方式,可以做到主/备中心磁盘阵列同步地进行数据更新,应用系统的I/O写入主磁盘阵列后(写入Cache中),主磁盘阵列将利用自身的机制(如EMC的SRDF/S)同时将写I/O写入后备磁盘阵列,后备磁盘阵列确认后,主中心磁盘阵列才返回应用的写操作完成信息。 异步方式,是在应用系统的I/O写入主磁盘阵列后(写入Cache中),主磁盘阵列立即返回给主机应用系统“写完成”信息,主机应用可以继续进行读、写I/O操作。同时,主中心磁盘阵列将利用自身的机制(如EMC的SRDF/A)将写I/O写入后备磁盘阵列,实现数据保护。 采用同步方式,使得后备磁盘阵列中的数据总是与生产系统数据同步,因此当生产数据中心发生灾难事件时,不会造成数据丢失。为避免对生产系统性能的影响,同步方式通常在近距离范围内(FC连接通常是200KM范围内,实际用户部署多在35KM左右)。 而采用异步方式应用程序不必等待远程更新的完成,因此远程数据备份的性能的影响通常较小,所以一般可以到100KM左右。

采用基于存储数据复制技术建设复制方案的必要前提是:

l         通常必须采用同一厂家的存储平台,通常也必须是同一系列的存储产品,给用户的存储平台选择带来一定的限制。

l         复制中心的主机平台也需要和生产中心为相同类型。

l         采用同步方式可能对生产系统性能产生影响,而且对通信链路要求较高,有距离限制,通常在近距离范围内实现(同城复制或园区复制方案)

因此,采用基于存储的数据复制技术建设复制系统是目前金融电信企业采用较多的复制方案,因为这些行业具有很好的网络带宽资源,而且其数据量非常庞大,第三就是这些数据复制的主要目的就是灾难恢复,而重点不在于数据的再利用。

优缺点分析

存储复制技术的优点:

l         支持所有数据类型复制。

l         可支持同步方式复制

存储复制技术的缺点:

l         目标端数据不可用:目标端数据库在复制过程中不能被打开,造成大量投资浪费;

l         必需同构:源和目标必需要求相同的磁盘阵列、相同的操作系统、相同的数据库版本;

l         只能全库复制:复制的对象是整个数据库

l         不能实现数据整合和数据分发;

l         带宽高:要求独占的光纤网络,动辄需要上GB的带宽。

l         距离有限制,不适合于全省范围的多对一容灾。

1.2         数据库复制技术

数据库复制技术是通过数据库的日志或者交易方式来进行数据同步的,代表性的产品例如DSG Realsync,QUEST Shareplex以及ORACLE DataGuard。

实现原理

数据库复制技术的工作原理大都与oracle log相关,例如DSG Realsync数据库复制产品就是通过对Oracle Log日志进行分析获取跟踪源系统的交易指令,然后将交易指令传到目标端进行重新执行的方式来实现数据复制的。

复制系统包括两个部分组成:

- DS: Data Source端,即源系统端;

- DT:Data Target端,即目标系统端。

 

系统由安装在Data Source端和Data Target上的Agent进程组成,Source端的Agent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。

当应用系统在Data Source端向数据库进行任何操作时时,这些信息都将在Redo Log中保存,RealSync Agent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成xf1数据格式,并实时通过网络传送到Data Target系统。

Data Target系统的RealSync Agent接收数据库包,经过校验码检查,确认正确的数据库包后,调用Oracle函数按照交易的先后顺序在Data Target系统中执行该交易。

 

优缺点分析

数据库复制技术的优点:

l         异构系统复制:源端系统和目标端系统可以采用异构的操作系统平台、存储平台;

l         支持选择性复制:支持只复制指定的user、指定的Table、指定的行和列。节省存储空间,提高应用灵活性;

l         支持1对多,多对1的复制结构:能够将多个数据库中的数据复制到一个数据库中;能够将一个数据库中的不同数据分发到不同的数据库中。

l         目标端数据可用:目标端数据库在复制过程中出于可用状态,可用作数据查询、报表、数据抽取等任务分担;

l         节约带宽和网络资源:所需带宽一般在几Mbps,几十Mbps。

l         实时性好:一般数据延迟可在秒钟级;

数据库复制技术的缺点:

l         只支持ORACLE数据库系统。

l         只支持异步复制,不支持同步方式。

1.3         ETL抽取技术

实现原理及定位

ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程。它是构建数据仓库的重要环节。数据仓库是面向主题的、集成的、稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。

ETL工具实质上仍为一类数据转换器,提供一种从源到目标系统转换数据的方法。即从操作型系统提取、清洗并转换数据,然后将数据载入决策支持系统的操作型数据存储、数据仓库或数据集市中。具体功能针对不同的数据源编写不同的数据抽取、转换和加载程序处理,这完成了数据集成的大部分工作。总的来说,ETL工具提供了一种数据处理的通用解决方案。

 

优缺点分析

虽然ETL工具在一定程度上可实现数据的集中抽取,表面上看起来和数据复制软件有些类似。但是该软件的定位和重点和前两类技术完全不同的:

首先,ETL的定位是在数据仓库和业务系统之间搭建起一座桥梁,确保新的业务数据源源不断地进入数据仓库;

其次,ELT工具的最复杂点在于其涉及到大量的业务逻辑和异构环境,因此在一般的数据仓库项目中ETL部分往往也是牵扯精力最多的,因此其主要的难点在于数据的清晰转换功能:字段映射;映射的自动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;支持脏读;数据的批量装载;时间类型的转换;对各种码表的支持;环境变量是否可以动态修改;去重复记录;抽取断点;记录间合并或计算;记录拆分;抽取的字段是否可以动态修改;行、列变换;排序;统计;度量衡等常用的转换函数;代理主键的生成;调试功能;抽取远程数据;增量抽取的处理方式;制造样品数据;在转换过程中是否支持数据比较的功能;数据预览;性能监控;数据清洗及标准化;按行、按列的分组聚合等。

第三:ETL抽取的性能较低,因为该工具是通过数据库的SQL接口来获取数据的,因此其性能比较低。例如在某证券行业(对于1GB的数据,每天完成一次抽取需要几个小时,而当时用DSG Realsync作一次同步只需要3-5分钟)。

 

1.4         复制技术的推荐

经过上面的分析,我们可以看出几种数据复制工具各有自己适合的场合:

l         存储级复制技术:适合单纯的数据容灾,但不适合低带宽,远距离,以及不适合在备份中心实现数据的再利用;

l         数据库复制技术:适合oracle数据库的数据复制,可用于数据库系统的备份、以及备份数据的再利用,在备份系统上开发新的业务模块。但是该技术以来于数据库,所以一般都支持ORACLE数据库;

l         ETL工具:适合于数据仓库系统,尤其适合于数据抽取中需要进行数据清晰、转换和运算的情况。但抽取的数据不适合作备份使用。

 

所以,为了满足某省的备份和数据再利用双重需求,我们建议选择数据库复制技术,DSG Realsync就是一款不错的数据库复制软件。

2           DSG Realsync如何实现数据集中

2.1         系统结构

 

在11个地市的(财政、税务征管、社保、电力营销、综合警务)系统数据库服务器上(RAC环境下只安装在一个服务器上)安装DSG RealSync代理程序,该程序对ORACLE数据库产生的redo log进行实时分析,生成sql语句。并将sql语句通过IP网络传输到区中心。

在区中心上,需要配备数据库服务器,必要时再加上其他的应用服务器(例如全省数据共享服务器、灾备切换接管服务器等)。

在省中心,安装一个ORACLE数据库,创建11个用户,每个用户对应一个地市的系统,这样就将11个地市的系统集中容灾到一个数据库上,只不过在集中数据库上以不同的用户存在。

 

省集中的数据查询可通过建立联合view的方式来完成,在省中心数据库上再创建一个专门用于查询的用户,在该用户下创建若干视图(view),这些view的数据就来源于13个用户下的表。

 

2.2         集中数据库的功能

集中的数据库可实现两个功能:集中容灾备份和数据集中共享。

集中容灾备份

在本方案中采用DSG RealSync实现了多对一的容灾结构,各地市将数据统一复制到省数据中心的一台容灾数据库,每个地市在数据库中对应一个用户;

正常情况下各地市的数据可互不干扰的复制到省中心容灾数据库;

在某一地市发生灾难数据丢失时,可在省中心以用户的方式反向复制该地市的容灾数据,最大程度的避免了数据的损失。

同时,当某个地市系统发生严重故障而无法在短期内修复时,可利用省中心的备份数据以及省中心的备用服务器来临时接管出现故障的地市。具体过程如下:

l         将省中心复制数据库中对应用户下的数据装载到备用服务器的数据库上;

l         切换地市应用连接到省中心备用数据库上,恢复业务运行;

l         当地市系统修复后,将省中心备用数据库上的数据恢复到地市数据库上;

l         将地市应用切换回到地市服务器上。

 

数据集中共享

采用DSG RealSync容灾技术的非常明显的优势还在于省中心集中数据库一直处于open状态,可以对省中心数据库进行实时访问,系统保持生产中心和灾备中心的数据库处于双激活状态;

同时通过DSG Realsync软件将11个地市的数据都集中到了一个数据库平台上,因此比较适合对这些数据进行统一查询和使用。

第三、RealSync的复制延迟很小,从容灾数据库读取到的数据是实时最新数据,

第四、集中的数据还可以为省中心的数据仓库系统提供了ETL操作的数据源。


http://chatgpt.dhexx.cn/article/NuOqneu2.shtml

相关文章

时间同步/集群时间同步/在线/离线

目录 一、能够连接外网 二、集群不能连接外网--同步其它服务器时间 一、能够连接外网 1.介绍ntp时间协议 NTP(Network Time Protocol)网络时间协议,是用来使计算机时间同步的一种协议,它可以使计算机对其服务器或时钟源做同步…

如何实时同步数据到StarRocks

我们知道,是StarRocks基于Doris开发的,它在多表连接查询的性能方面引领OLAP市场,是一个很好用的结构化数据仓库。但是一直没有很好的工具能够实现业务数据库的数据实时同步到StarRocks分布式数据仓库集群中,本文将带领读者一起来通…

文件实时同步

rsync remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的、数据在内存缓存区完成之后还没有写入到磁盘中去、所以有时候要同步到磁盘中去的,而rsync说白了跟复制差不多、能将一个文件从一个地方复制到另外一个地方的、但是他也可以实现跨主机复…

系统间通讯实现数据信息实时同步解决方案

项目开发阶段遇到一个需求,描述大致就是同一个用户在A系统数据库保存的数据信息与在B系统数据库保存的数据信息要保持同步。当A系统用户修改了个人信息,A系统后台在将用户修改后的信息入库的同时也会向B系统发送消息,让B系统后台进行自动数据…

一文带你玩转实时数据同步方案

1、概述 1.1、目标 实时数据同步主要实现从源数据库到目标数据库的实时数据同步。源数据主要支持mysql数据库,目标数据包括mysql数据库和hbase数据库。 下面是实时数据同步的数据流转图,mysql的增量订阅数据经过canal和kafka,数据最终实时…

两台服务器同时写文件 怎么做同步,两台服务器做实时数据同步

两台服务器做实时数据同步 内容精选 换一换 DCS Memcached即将下线,部分Region已暂停售卖,建议使用Redis4.0/5.0。本章节主要描述Memcached主备实例。Memcached主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。Memcached主备实例具…

实时数据同步方案

一.Flume收集各数据库日志,准实时抽取到HDFS 安装HDP,包含Flume 方案优点: 1.配置简单,不用编程:只要在flume.conf文件中配置source、channel及sink的相关属性 2.采用普通SQL轮询的方式实现,具有通用性&…

如何实现数据自动化的实时同步?

企业在日常业务中,比如总分支机构之间、数据中心之间、不同节点之间、跨国业务之间等,都需要将文件及时的传输,以供协同使用。所以,很多企业会选择一些同步工具或软件。 谈到文件同步备份大家使用较多的可能是Rsync、同步盘等一些…

像素是什么,一个像素有多大,像素和分辨率的关系

图片的像素和分辨率 对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是大多数人都是一知半解,而更多的人却根本就不知道,白白浪费了手机里500万、800万像素的摄影头&…

屏幕尺寸、分辨率、DPI、PPI

屏幕尺寸 下面这张图是华为荣耀7的尺寸图,图上写的是5.2英寸。我们所说的这个5.2英寸是手机屏幕对角线的长度。 我们平时是不用英寸这个单位的,我们用的是毫米,厘米,米这些单位。那么英寸和毫米,厘米之间怎样的换算关…

像素(Pixel)、DPI与PPI一看就明白

像素(Pixel)、DPI与PPI 像素(Pixel)DPI 英文全写是(Dots Per Inch,每英寸点数)PPI 英文全写是(Pixels Per Inch,每英寸像素数)比喻来区分应用(这张图熟悉吗)1.分辨率啥意思&#xff…

关于像素、分辨率、PPI、DPI等概念的分析

关于影像图的比例尺和分辨率:https://blog.csdn.net/liliiii/article/details/40261953 当我们说到 像素、分辨率、DPI、PPI等专业术语的时候,一般会涉及到图像、屏幕、打印机等等。 像素(Pixel)为图像显示的基本单位,…

分辨率 PPI DPI概念定义详解

我们在开发中,涉及到UI显示时,经常会遇到的一些概念,比如分辨率,ppi,dpi等,这些概念,在百度百科中,发现都有对它们的定义,一些博客中,也有对这几个概念的对比…

DPI与PPI的区别

开发中不免会遇到分辨率、DPI、PPI和屏幕尺寸等术语,那就弄弄清楚这些概念的真正含义。 分辨率 分辨率这个词在很多地方都有,比如相机、视频、扫描仪。这里说的就是显示器的分辨率。显示器是由一个个像素点(pixel)所组成的,一般所说的显示器…

传感器尺寸、像素、DPI分辨率、英寸、毫米的关系

虽然网上有很多这种资料,但是太过于复杂,每个人的说法都不一样,看的让人云里雾里的,我总结了一下,不知道对不对! 1. 1英寸25.4mm 2. 传感器尺寸:传感器的尺寸是指传感器的大小,一般…

dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算

一、基本概念 dip : Density independent pixels ,设备无关像素。dp :就是dippx : 像素dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160&…

什么是 PPI、DPI 及 像素、分辨率的区别?

什么是 PPI、DPI 及 像素、分辨率的区别? AbstractPPIDPI像素 Pixels分辨率 Resolution Abstract 笔者通过本篇文章重点来阐明相对迷惑的PPI、DPI概念,PPI 和 DPI 是处理图像时需要深入理解的概念,两者都指的时分辨率或清晰度,但…

DPI、像素与分辨率的区别和联系

DPI(Dot Per Inch) 表示打印分辨率,指每英寸长度上的点数。DPI 又可细分为水平分辨率和垂直分辨率,例如一张 “1英寸*1英寸” (1英寸2.54cm)的图片,如果它的水平分辨率是100 dpi,垂直…

一文详解像素、DPI、分辨率之间的关系

1.像素 像素:是指在由一个数字序列表示的图像中的一个最小单位,称为像素。 像素可以用一个数表示,比如一个“0.3兆像素”数码相机,它有额定30万像素;也可以用一对数字表示,例如“640x480显示器”&#xff0…

分辨率、Dpi 的关系

概念:分辨率,指的是图像或者显示屏在长和宽上各拥有的像素个数。比如一张照片分辨率为1920x1080,意思是这张照片是由横向1920个像素点和纵向1080个像素点构成,一共包含了1920x1080个像素点。dpi是分辨率的表示单位之一。它是英文D…