APP下载

基于GoldenGate实现省市级气象资料的同步

2016-03-16河北省气象信息中心河北石家庄050011

电子测试 2016年16期
关键词:省局市级异构

赵 博(河北省气象信息中心,河北石家庄,050011)

基于GoldenGate实现省市级气象资料的同步

赵 博
(河北省气象信息中心,河北石家庄,050011)

通过分析省市级结构化气象资料的存储及使用特点,利用GoldenGate技术实现了一种高效可靠的异构数据库同步方案,以满足省市气象业务部门对气象资料共享访问的实际需求。

气象资料;异构数据库同步;GoldenGate

0 引言

随着我国气象业务现代化的不断发展,对气象资料的共享能力提出了更高的要求。如何有效的提供气象数据共享服务,更好的支撑省市级气象业务可靠运行,已经成为气象业务发展中亟需解决的问题。

气象资料按照存储数据结构分类,可划分为结构化数据和非结构化数据。一些常见气象资料数据例如地面、高空、大气成分等,主要是由结构化数据组成。而这些数据存储频度密集,资料查询时间跨度长,对业务单位制作临近预报、提供优良气象服务的具有决定性作用。因此需要实现一种为省市级气象业务部门提供结构化数据共享服务的有效方式,以满足两级气象业务部门的业务需求。

1 现状分析

省气象信息中心担任着为全省气象部门提供信息共享服务的职责,针对结构化数据进,主要使用关系型数据库对其进行存储与共享。目前我省使用双机搭建Oracle RAC集群数据存储环境,提供主要的信息共享服务。

现有省级使用的气象资料是通过国家局卫星下发、省际共享等多种传输方式进行收集,再经通信系统的分发,进入加工处理主机将原始传输报文进行解码并写入数据库,省市级用户通过编写sql语句的方式进行直接查询访问,但在一段业务时间运行后,发现这种访问方式存在着以下若干问题:

(1)结构化气象资料种类多,数据量大,入库写入十分频繁。同时用户访问频率高,并发数量大,写入与访问时有冲突,实际读写过程并未分离。

(2)市级开发人员更倾向使用微软体系的SQL Server产品进行编程开发。其具有市级特色的访问业务规则十分灵活,开发编写的sql语句水平不一,缺乏性能设计与优化,不定期发生占用资源过多情况,降低数据库整体性能,最终影响到其它用户的访问效率。

(3)市级业务人员在调用省局数据库的同时,希望市级独立拥有一套基于Windows操作系统,可完全控制的数据库。能够做到简单易用,免维护,同时确保与省局的数据保持一致性。

本文利用异构数据库同步方法,在市级利用SQL Server搭建与省级结构一致的数据库,再将源端省级Oracle数据实时的同步到市级目的端,能有效的解决上述问题。

2 架构设计

2.1GoldenGate介绍。GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。

GoldenGate可以根据用户的需要,应用在不同的场景:单向复制,备份或查询的场景;双向复制,灾备或双业务中心的场景;点对点复制,有三个以上多业务中心的场景;广播复制,数据分发的场景;集中复制,数据仓库或 N+1 灾备的场景;多级复制,层次化的企业数据复制。

2.2架构设计。结合气象业务分析数据库内的数据操作语言特点,绝大部分资料首次入库后的内容无需修正,以单独insert语句为主。当发生台站传输CCx更正报问,或资料审核人员进行质控修正后会进行更正码及要素修正,此时会发生少量的update语句,极少有delete操作。针对这类DML特点,可以看到采用广播复制的方式是十分适合的气象结构化资料使用的。

以省局信息中心为主节点(源端),为十一个地市级气象业务单位(目的端)提供一致的数据同步服务,从场景来说,具有广播复制的特性。同时,以往大部分利用该产品做同步的应用与方案,往往是Oracle之间的同构数据库的同步,而本文针对我省气象业务现状及特点,在省级使用Oracle,市级要求使用SQL Server的现状前提下,充分发挥了GoldenGate可进行异构数据库同步的优良特性,实现了大量数据亚秒级的实时复制。

对GoldenGate进行日常简单维护的工作内容,定期检查监控源端的进程状态,保证数据同步正确性。与此同时,同步流程搭建完毕后,市级人员只需关注自身SQL Server运行状态,由于GoldenGate软件自身非常成熟,具有十分高的可靠性,能显著减少市级人员的维护量。

3 具体实现方法

因市级数据库为全新建设,只获取同步后的数据,需提前补足之前未同步的数据。所以可将首次同步开始的时间记录为T时,在T时之前的数据定义为初始化数据,T时之后的数据定义为增量同步数据。市级SQL Server在首次同步前,需要分析Oracle源表结构及字段,动编写DDL语句生成SQL Server的表结构,这个过程中应注意确保Oracle到SQL Server异构字段可以相互转换,确保异构数据库的字段及表名的一致。目的端经一次性的获取初始化数据后,方可实时进行增量同步,以达到省-市数据完全一致。

3.1源端系统实施步骤。省局Oracle为RAC双机集群架构,基于Linux红帽操作系统,在安装GoldenGate前为防止单节点故障,利用EMC磁盘阵列提供100G共享存储空间,用以保存7-10天的队列文件。由于GoldenGate是利用归档日志机制进行数据同步,所以必需确保源端Oracle数据库已设置为归档模式。同时注意Oracle的recycle功能在开启状态下会影响同步,需要关闭回收站。

安装时可以利用oracle用户运行GoldenGate,无需建立新的操作系统用户。首先解压安装该软件,并通过ftp上传许可文件pw,在安装目录下执行./ggsci命令进入命令行界面,如能顺利进入,则证明许可有效,之后在ggsci环境下执行create subdirs创建程序所需的子目录。

以抽取省局数据源userorcl下所有表为例,向某市局投递存有国家级地面自动站资料数据的TAB_ZIDONGZHAN_DATA单表。需添加和配置一个管理进程mgr,一个抽取进程ex_zdz,一个投递进程dp_zdz。中间消息文件命名为zd。

3.2目的端系统实施步骤。市级的目的端主机均安装Windows操作系统,使用NTFS分区格式,软件安装目录预留磁盘空间应大于100G。源与目的端主机之间的时钟应保证严格一致,必须设置同一个时钟同步服务器对其精确授时。同时为保证网络畅通,GoldenGate使用的端口不被屏蔽,需关闭操作系统自带防火墙。对于省级的SQL Server数据库,还需配置相应的ODBC数据源。最后,根据Windows版本及操作系统是64或32位的实际情况,安装对应的Oracle客户端软件。

添加和配置一个管理进程mgr,在操作系统服务中设置为自动启动,最后,添加和配置一个复制进程rp_zdz完成同步流程。

4 结语

本文根据气象结构化资料存储及使用的特点,利用GoldenGate数据库同步软件,在省市两级气象部门之间,针对异构数据库进行了广播复制的尝试,经业务运行一段时间后,可以达省市级气象部门对于数据库访问时效性,准确性,便捷性的要求。

[1]戴冠平.叱诧风云:GoldenGate企业级运维实战[M].清华大学出版社.2011

[2]俞凯晟.GoldenGate软件在数据迁移中的应用[J].微型电脑应用.2014

Based on GoldenGate to achieve the provincial municipal meteorological data synchronization

Zhao Bo
(Hebei Meteorological Information Center,Shijiazhuang Hebei,050011)

Through the analysis of meteorological data for the provincial and municipal structured storage and use characteristics,using GoldenGate technology to achieve a highly efficient and reliable heterogeneous database synchronization scheme,satisfying the provincial meteorological department of meteorological data sharing access to actual needs.

meteorological data; heterogeneous database synchronization; GoldenGate

赵博(1983-),男,汉族,河北石家庄人,河北省气象信息中心,研究方向:气象资料存储与应用。

猜你喜欢

省局市级异构
试论同课异构之“同”与“异”
宝应县泾河镇创成市级“侨之家”
四级高级主办
县域经济发展市级统筹篇
市级自然资源信息化建设探讨
市级电视新闻报道中同期声使用的技巧
省局采取多种形式宣传新修订的《测绘法》
异构醇醚在超浓缩洗衣液中的应用探索
一张纸的旅程
车位