一种支持在线分析统计的实时查询库设计方法技术

技术编号:32020248 阅读:20 留言:0更新日期:2022-01-22 18:38
一种支持在线分析统计的实时查询库设计方法,包括:步骤1,在源端Oracle业务库中部署数据复制软件进行日志收集;步骤2,使用插件对收集到的日志进行解析,得到增量日志数据;步骤3,对增量日志数据进行离线归档;步骤4,增量日志数据实时写入目标端查询库中;步骤5,历史数据从离线数据库中离线同步到目标端查询库中。将Oracle业务库中的数据通过OGG+datahub+Blink的传输链路同步至查询库,正常通讯延迟在30s到1分钟左右,查询库数据与业务库既能保证实时同步,也具有数据一致性,实现了查询库具有在线分析的能力,解决了查询库只能是同构数据库的限制,为系统后续提供在线数据服务奠定了基础。定了基础。定了基础。

【技术实现步骤摘要】
一种支持在线分析统计的实时查询库设计方法


[0001]本专利技术涉及数据查询
,更具体地,涉及一种支持在线分析统计的实时查询库设计方法。

技术介绍

[0002]现今大型企业都有多个部门和多种应用系统,很多数据都分布在不同业务部门不同业务库下的,这些应用系统并不是建立在统一平台之上,数据库系统也是相互独立,甚至是异构系统,每个系统之间的数据不能相互连通,构成了信息孤岛,由于电力营销业务的划分更加细致,随着数据规模的不断扩大,传统的关系数据库管理系统RDBMS(Relational Database Management System)难以满足联机分析处理OLAP(Online Analytical Processing)的需求,要让数据发挥辅助决策的作用,具备实时查询和在线统计分析的需求越来越突出,例如电力销售情况简表的需求,涉及复杂统计和实时响应的要求,传统建立数据仓库的解决方案偏向于离线批处理,虽然满足复杂查询的需求,但实时性很大程度上受制于组件和硬件制约,查询开销大。
[0003]因此,需要提出一种支持在线分析统计的实时查询库设计方法,满足营销业务系统的在线统计分析,同时具有外提供实时查询服务的能力,形成常态化的数据监测和数据分析体系,提升企业经营和数据服务能力。

技术实现思路

[0004]为解决现有技术中存在的不足,本专利技术的目的在于,提供一种支持在线分析统计的实时查询库设计方法,将Oracle的数据实时同步到查询库当中,达到低延时、高性能,满足查询库数据与业务库数据一致性要求。
[0005]本专利技术采用如下的技术方案。
[0006]一种支持在线分析统计的实时查询库设计方法,包括:步骤1,在源端Oracle业务库中部署数据复制软件进行日志收集;步骤2,使用插件对收集到的日志进行解析,得到增量日志数据;步骤3,对增量日志数据进行离线归档;步骤4,增量日志数据实时写入目标端查询库中;步骤5,历史数据从离线数据库中离线同步到目标端查询库中。
[0007]优选地,步骤1包括:步骤1.1,对源端Oracle业务库进行参数设置,使得Oracle业务库处于归档模式;步骤1.2,在Oracle业务库中,部署基于日志的结构化数据复制软件OGG,并建立OGG用户;步骤1.3,将OGG划分为源端和目标端,其中,在源端部署Manager进程、Extract进程和Pump进程,在目标端部署Collector进程和Replicat进程;步骤1.4,利用OGG将源端Oracle业务库的日志同步到目标端,实现日志收集。
[0008]进一步,步骤1.1中,当设置复制使能参数Enable_Goldengate_replication为True时,Oracle业务库开启强制写日志,即Oracle业务库开启全列日志;当设置复制使能参数Enable_Goldengate_replication不为True时,Oracle业务库不开启强制写日志,即Oracle业务库不开启全列日志,则在发生修改或删除操作时,OGG将只会同步更新字段,其他未变更字段除主键外全部为Null。
[0009]进一步,步骤1.2中,建立OGG用户包括:创建OGG用户表空间、授权OGG用户、创建OGG相关的子目录。
[0010]进一步,步骤1.3中,Manager进程,负责管理其他进程的启停和监控;Extract进程,负责从源端业务库表或者事务日志中抽取数据;其中,Extract进程采用增量同步配置模式;Pump进程,负责将源端Trail文件的数据投递到目标端;Collector进程,负责接收来自源端的数据,在目标端生成Trail文件。
[0011]进一步,步骤1.4包括:步骤1.4.1,由Extract进程分析源端业务库日志,从源端抽取变动的数据;步骤1.4.2,将变动的数据记录在源端Trail文件中;步骤1.4.3,Pump进程将源端Trail文件中的数据投递到目标端;步骤1.4.4,Collector进程在目标端接收来自源端Trail文件中的数据,生成目标端Trail文件用于存储来自源端Trail文件中的数据;步骤1.4.5,Replicat进程读取目标端Trail文件后,转化为数据定义语言和数据操作语言后在目标端数据库中使用,实现数据同步;其中,在目标端数据库中,数据定义语言用在定义或改变表的结构、数据类型、表之间的链接和约束的初始化工作上;数据操作语言用在对数据库中的数据进行操作,包括新增、修改和删除。
[0012]优选地,步骤2中,使用云流数据处理平台Datahub对目标端Trail文件进行解析,将得到的增量日志数据实时订阅到Datahub中;其中,Oracle业务库中的每一张表Table均对应Datahub中一个独立主题Topic。
[0013]优选地,步骤3中,通过配置Datahub的目标数据归档源,将Datahub中的增量日志数据归档到大数据计算服务Maxcompute中进行全量存储和批量分析计算。
[0014]进一步,数据从Datahub到Maxcompute的归档采用非准实时归档,配置为每5分钟,数据从Datahub到Maxcompute归档一次,同时Datahub缓存最近7天的数据。
[0015]优选地,步骤4包括:步骤4.1,使用实时计算平台Blink实时订阅Datahub中的Topic,将Datahub中的增量日志数据实时订阅到Blink缓存;其中,设置Blink任务并发度与Topic的碎片数一致;步骤4.2,通过Blink将订阅到的增量日志数据转换成目标端查询库的结构化查询语言后,按照设定的顺序写入目标端查询库。
[0016]进一步,步骤4.2中,设定的顺序是根据Topic中每条数据的业务主键id进行分组排序获得的,排序的依据是数据产生的先后顺序,先产生的数据先消费,后产生的数据后消费。
[0017]优选地,步骤5中,离线同步的方式包括:对于基于云原生数据库ADB的目标端查询
库,使用数据工场Dataworks的数据集成DI工具进行离线同步;对于基于交互式分析Hologres的目标端查询库,使用外表的方式直接访问离线数据库中的数据表,使用SQL语句将历史数据复制到目标端查询库的内部表中。
[0018]优选地,步骤1还包括在所述云外数据中心部署Oracle业务库;Oracle业务库,用于提供事务处理,事务处理包括增删改查、流程处理、缴费记账。
[0019]优选地,步骤4还包括,查询库部署在云平台;采用云原生数据库和交互式分析分别作为在线服务分析层的查询库;查询库,用于提供实时查询、在线分析统计。
[0020]优选地,步骤5还包括,离线数据库均署在云平台;离线数据库,是全部数据的历史存储中心,用于离线的数据批处理、统计分析,数据分析计算,T+1的报表统计。
[0021]本专利技术的有益效果在于,与现有技术相比,本专利技术使用的数据传输链路是Oracle通过OGG+datahub+Blink的方式同步至查询库,正常通讯延迟在30s到1分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持在线分析统计的实时查询库设计方法,其特征在于,所述方法包括:步骤1,在源端Oracle业务库中部署数据复制软件进行日志收集;步骤2,使用插件对收集到的日志进行解析,得到增量日志数据;步骤3,对增量日志数据进行离线归档;步骤4,增量日志数据实时写入目标端查询库中;步骤5,历史数据从离线数据库中离线同步到目标端查询库中。2.根据权利要求1所述的一种支持在线分析统计的实时查询库设计方法,其特征在于,步骤1包括:步骤1.1,对源端Oracle业务库进行参数设置,使得Oracle业务库处于归档模式;步骤1.2,在Oracle业务库中,部署基于日志的结构化数据复制软件OGG,并建立OGG用户;步骤1.3,将OGG划分为源端和目标端,其中,在源端部署Manager进程、Extract进程和Pump进程,在目标端部署Collector进程和Replicat进程;步骤1.4,利用OGG将源端Oracle业务库的日志同步到目标端,实现日志收集。3.根据权利要求2所述的一种支持在线分析统计的实时查询库设计方法,其特征在于,步骤1.1中,当设置复制使能参数Enable_Goldengate_replication为True时,Oracle业务库开启强制写日志,即Oracle业务库开启全列日志;当设置复制使能参数Enable_Goldengate_replication不为True时,Oracle业务库不开启强制写日志,即Oracle业务库不开启全列日志,则在发生修改或删除操作时,OGG将只会同步更新字段,其他未变更字段除主键外全部为Null。4.根据权利要求2所述的一种支持在线分析统计的实时查询库设计方法,其特征在于,步骤1.2中,建立OGG用户包括:创建OGG用户表空间、授权OGG用户、创建OGG相关的子目录。5.根据权利要求2所述的一种支持在线分析统计的实时查询库设计方法,其特征在于,步骤1.3中,所述Manager进程,负责管理其他进程的启停和监控;所述Extract进程,负责从源端业务库表或者事务日志中抽取数据;其中,Extract进程采用增量同步配置模式;所述Pump进程,负责将源端Trail文件的数据投递到目标端;所述Collector进程,负责接收来自源端的数据,在目标端生成Trail文件。6.根据权利要求5所述的一种支持在线分析统计的实时查询库设计方法,其特征在于,步骤1.4包括:步骤1.4.1,由Extract进程分析源端业务库日志,从源端抽取变动的数据;步骤1.4.2,将变动的数据记录在源端Trail文件中;步骤1.4.3,Pump进程将源端Trail文件中的数据投递到目标端;步骤1.4.4,Collector进程在目标端接收来自源端Trail文件中的数据,生成目标端Trail文件用于存储来自源端Trail文件中的数据;步骤1.4.5,Replicat进程读取目标端Trail文件后,转化为数据定义语言和数据操作语言后在目标端数据库中使用,实现数据同步;
其中,在目标端数据库中,数据定义语言用在定义或改变表的结构、数据类型、...

【专利技术属性】
技术研发人员:丁晓唐文升左强方学民许道强刘章王锦志郑海雁周红勇李叶飞殷勇邓君华李志新赵双双孙雨婷
申请(专利权)人:江苏方天电力技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1