CN111078777A - 一种基于关系型数据库动态增量加载数据的方法 - Google Patents

一种基于关系型数据库动态增量加载数据的方法 Download PDF

Info

Publication number
CN111078777A
CN111078777A CN201911282976.1A CN201911282976A CN111078777A CN 111078777 A CN111078777 A CN 111078777A CN 201911282976 A CN201911282976 A CN 201911282976A CN 111078777 A CN111078777 A CN 111078777A
Authority
CN
China
Prior art keywords
data
configuration template
configuration
database
data source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911282976.1A
Other languages
English (en)
Inventor
史叶强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unicloud Nanjing Digital Technology Co Ltd
Original Assignee
Unicloud Nanjing Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unicloud Nanjing Digital Technology Co Ltd filed Critical Unicloud Nanjing Digital Technology Co Ltd
Priority to CN201911282976.1A priority Critical patent/CN111078777A/zh
Publication of CN111078777A publication Critical patent/CN111078777A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于关系型数据库动态增量加载数据的方法,涉及数据库技术领域。本发明包括建立数据源配置模板表;建立动态增量抽取配置模板表,将所有ETL配置归总成固定成若干项;创建存储过程;在目标数据库通过数据库SQL语言创建定时调度任务;将ODS表的数据源配置按照配置模板录入数据源配置模板表;将ODS表的ETL配置按照配置模板录入动态增量抽取配置模板表;启动定时调度任务,定时动态增量抽取数据。本发明通过建立数据源配置模板表以及动态增量抽取配置模板;减少了ODS表创建ETL流程和任务的工作量,ETL配置化的方式管理了所有ODS表,减少了维护难度。

Description

一种基于关系型数据库动态增量加载数据的方法
技术领域
本发明属于数据库技术领域,特别是涉及一种基于关系型数据库动态增量加载数据的方法。
背景技术
数据仓库是面向决策分析的中央存储库。数据仓库建立方式是:定期将来自于事务系统、关系数据库等其他来源的数据,根据不同的主题进行抽取、转换操作,最后将清洗好的数据装载到中央存储库,为决策者提供决策的依据。
目前,数据仓库的建立过程需要依赖C、Java、Python、SQL等多种语言的组合开发;并且数据仓库需要将多数据源的数据抽取流程拆分成多个单数据源的数据抽取流程,导致建仓过程非常繁琐;另外,在源数据结构发生变化和数据仓库业务升级后,数据仓库需要进行重新建立,这就造成了数据仓库的运维成本变高。
现有的技术方案是为数据仓库的ODS层的每张表配置一套完整的ETL流程,然后给ODS层的每张表创建一个任务来完成数据抽取、转换、装载工作。当数据仓库进行业务升级后,需要再继续创建新的ETL流程和新的任务来完成新增ODS表的数据抽取、转换、装载工作。当ODS表的抽取、转换逻辑发生变动,需要删除ODS表旧的ETL配置流程,然后重新配置一套完整的ETL流程。
现有技术一的缺点:1、需要为每张ODS表配置一套ETL流程和任务,ODS表的数量过多,会增加配置ETL流程的工作量,ODS表的数量与配置ELT流程工作量成正比;2、配置的ETL流程和任务过多,会增加管理和维护的难度,配置ETL流程和任务的数量与管理和维护难度成正比;3、配置的任务过多,会增加服务器的使用开销,配置任务的数量与服务器开销成正比;4、配置ETL流程和任务依赖C、Java、Python、SQL等多种语言,增加了开发难度和学习成本。
发明内容
本发明的目的在于提供一种基于关系型数据库动态增量加载数据的方法,通过建立数据源配置模板表以及动态增量抽取配置模板;减少了ODS表创建ETL流程和任务的工作量,ETL配置化的方式管理了所有ODS表,减少了维护难度,解决了现有的数据转换效率低以及管理复杂的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种基于关系型数据库动态增量加载数据的方法,包括如下步骤:
A00:建立数据源配置模板表;
A01:建立动态增量抽取配置模板表,将所有ETL配置归总成固定成若干项;
A02:创建存储过程,通过读取数据源配置表和动态增量抽取配置表,实现对数据的抽取、过滤、转换以及装载;
A03:在目标数据库通过数据库SQL语言创建定时调度任务,调度任务定时执行A02步骤中创建好的存储过程,完成定期抽取源数据的功能;
A04:将ODS表的数据源配置按照配置模板录入数据源配置模板表;
A05:将ODS表的ETL配置按照配置模板录入动态增量抽取配置模板表;
A06:启动定时调度任务,定时动态增量抽取数据。
优选地,所述数据源配置模板表结构如下:
字段名 字段类型 字段描述
id int 数据源id
connect_name varchar 数据源的连接名称,用于区分多数据源
sdb_ip varchar 数据源的数据库ip
sdb_port int 数据源的数据库端口号
sdb_name varchar 数据源的数据库名称
sdb_username varchar 数据源的数据库登录用户名
sbd_password varchar 数据源的数据库登录密码
优选地,所述动态增量抽取配置模板表结构如下:
Figure BDA0002317261700000031
Figure BDA0002317261700000041
优选地,A02中数据的抽取、过滤、转换以及装载过程如下:
B00:获取所述数据源配置模板表中的配置;
B01:将远程源数据表映射到目标数据库本地;
B02:在所述目标数据库上建立目标数据表;
B03:根据所述动态增量抽取配置模板表对源数据进行动态增量抽取、转换,然后装载到所述目标数据表;
B04:更新所述动态增量抽取配置模板的增量标记点,为下次增量抽取数据做准备。
本发明具有以下有益效果:
1、本发明通过一套数据源配置模板表和一套基于数据库SQL语言的数据抽取、转换、装载的流程,完成多数据源场景下的数据仓库建立的工作;提高了效率;
2、本发明通过配置化的方式管理了所有ODS层表,减少了数据仓库的运维难度;
3、本发明通过动态增量抽取配置模板表实现了数据仓库所有ODS层表的抽取、转换、装载,无需在基于每张ODS层表建立一套ETL流程;减少了ODS表创建ETL流程和任务的工作量,ETL配置化的方式管理了所有ODS表,减少了维护难度;
4、本发明通过数据源配置模板表、动态增量抽取配置模板和数据ETL流程仅依赖数据库SQL语言,降低了数据仓库管理员的学习使用难度。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于关系型数据库动态增量加载数据的方法的流程图;
图2为本发明中数据的抽取、过滤、转换以及装载过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种基于关系型数据库动态增量加载数据的方法,包括如下步骤:
A00:建立数据源配置模板表,用于解决多数据源场景下的数据仓库建立问题;
数据源配置模板表结构如下:
字段名 字段类型 字段描述
id int 数据源id
connect_name varchar 数据源的连接名称,用于区分多数据源
sdb_ip varchar 数据源的数据库ip
sdb_port int 数据源的数据库端口号
sdb_name varchar 数据源的数据库名称
sdb_username varchar 数据源的数据库登录用户名
sbd_password varchar 数据源的数据库登录密码
A01:建立动态增量抽取配置模板表,将所有ETL配置归总成固定成若干项;
其中,动态增量抽取配置模板表结构如下:
Figure BDA0002317261700000061
Figure BDA0002317261700000071
A02:创建存储过程,通过读取数据源配置表和动态增量抽取配置表,实现对数据的抽取、过滤、转换以及装载;通过一套数据源配置模板表和一套基于数据库SQL语言的数据抽取、转换、装载的流程,完成多数据源场景下的数据仓库建立的工作;提高了效率;
A03:在目标数据库通过数据库SQL语言创建定时调度任务,调度任务定时执行A02步骤中创建好的存储过程,完成定期抽取源数据的功能;
A04:将ODS表的数据源配置按照配置模板录入数据源配置模板表,减少了数据仓库的运维难度;
A05:将ODS表的ETL配置按照配置模板录入动态增量抽取配置模板表,通过动态增量抽取配置模板表实现了数据仓库所有ODS层表的抽取、转换、装载,无需在基于每张ODS层表建立一套ETL流程;减少了ODS表创建ETL流程和任务的工作量,ETL配置化的方式管理了所有ODS表,减少了维护难度;
A06:启动定时调度任务,定时动态增量抽取数据,实际使用过程中,A00-A06均在目标数据库中实现。
具体的,A02中数据的抽取、过滤、转换以及装载过程如下:
B00:获取数据源配置模板表中的配置;
B01:将远程源数据表映射到目标数据库本地;
B02:在目标数据库上建立目标数据表;
B03:根据动态增量抽取配置模板表对源数据进行动态增量抽取、转换,然后装载到目标数据表;
B04:更新动态增量抽取配置模板的增量标记点,为下次增量抽取数据做准备。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (4)

1.一种基于关系型数据库动态增量加载数据的方法,其特征在于,包括如下步骤:
A00:建立数据源配置模板表;
A01:建立动态增量抽取配置模板表,将所有ETL配置归总成固定成若干项;
A02:创建存储过程,通过读取数据源配置表和动态增量抽取配置表,实现对数据的抽取、过滤、转换以及装载;
A03:在目标数据库通过数据库SQL语言创建定时调度任务,调度任务定时执行A02步骤中创建好的存储过程,完成定期抽取源数据的功能;
A04:将ODS表的数据源配置按照配置模板录入数据源配置模板表;
A05:将ODS表的ETL配置按照配置模板录入动态增量抽取配置模板表;
A06:启动定时调度任务,定时动态增量抽取数据。
2.根据权利要求1所述的一种基于关系型数据库动态增量加载数据的方法,其特征在于,所述数据源配置模板表结构如下:
字段名 字段类型 字段描述 id int 数据源id connect_name varchar 数据源的连接名称,用于区分多数据源 sdb_ip varchar 数据源的数据库ip sdb_port int 数据源的数据库端口号 sdb_name varchar 数据源的数据库名称 sdb_username varchar 数据源的数据库登录用户名 sbd_password varchar 数据源的数据库登录密码
3.根据权利要求1所述的一种基于关系型数据库动态增量加载数据的方法,其特征在于,所述动态增量抽取配置模板表结构如下:
Figure FDA0002317261690000021
4.根据权利要求1所述的一种基于关系型数据库动态增量加载数据的方法,其特征在于,A02中数据的抽取、过滤、转换以及装载过程如下:
B00:获取所述数据源配置模板表中的配置;
B01:将远程源数据表映射到目标数据库本地;
B02:在所述目标数据库上建立目标数据表;
B03:根据所述动态增量抽取配置模板表对源数据进行动态增量抽取、转换,然后装载到所述目标数据表;
B04:更新所述动态增量抽取配置模板的增量标记点,为下次增量抽取数据做准备。
CN201911282976.1A 2019-12-13 2019-12-13 一种基于关系型数据库动态增量加载数据的方法 Pending CN111078777A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911282976.1A CN111078777A (zh) 2019-12-13 2019-12-13 一种基于关系型数据库动态增量加载数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911282976.1A CN111078777A (zh) 2019-12-13 2019-12-13 一种基于关系型数据库动态增量加载数据的方法

Publications (1)

Publication Number Publication Date
CN111078777A true CN111078777A (zh) 2020-04-28

Family

ID=70314403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911282976.1A Pending CN111078777A (zh) 2019-12-13 2019-12-13 一种基于关系型数据库动态增量加载数据的方法

Country Status (1)

Country Link
CN (1) CN111078777A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563090A (zh) * 2020-05-09 2020-08-21 中国银行股份有限公司 多批量系统加载同源数据的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375891A (zh) * 2011-11-15 2012-03-14 山东浪潮金融信息系统有限公司 一种增量数据卸载和装载的实施工具
CN106250467A (zh) * 2016-07-28 2016-12-21 北京中电普华信息技术有限公司 一种实现动态抽取指标的方法及装置
CN106709269A (zh) * 2017-03-13 2017-05-24 山东众阳软件有限公司 一种医疗大数据仓库的创建方法及系统
CN109960708A (zh) * 2019-03-22 2019-07-02 蔷薇智慧科技有限公司 数据处理方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375891A (zh) * 2011-11-15 2012-03-14 山东浪潮金融信息系统有限公司 一种增量数据卸载和装载的实施工具
CN106250467A (zh) * 2016-07-28 2016-12-21 北京中电普华信息技术有限公司 一种实现动态抽取指标的方法及装置
CN106709269A (zh) * 2017-03-13 2017-05-24 山东众阳软件有限公司 一种医疗大数据仓库的创建方法及系统
CN109960708A (zh) * 2019-03-22 2019-07-02 蔷薇智慧科技有限公司 数据处理方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563090A (zh) * 2020-05-09 2020-08-21 中国银行股份有限公司 多批量系统加载同源数据的方法及装置
CN111563090B (zh) * 2020-05-09 2023-11-21 中国银行股份有限公司 多批量系统加载同源数据的方法及装置

Similar Documents

Publication Publication Date Title
CN106649378B (zh) 一种数据同步方法及装置
CN108052681B (zh) 一种关系型数据库间结构化数据的同步方法及系统
CN103914526B (zh) 一种用于sap erp系统与oracle erp系统的接口方法和装置
CN110674154B (zh) 一种基于Spark的对Hive中数据进行插入、更新和删除的方法
CN101082970A (zh) 政务审批工作流引擎系统的实现方法
CN108009258B (zh) 一种可在线配置的数据采集与分析平台
CN104599032A (zh) 一种面向资源管理的分布式内存电网构建方法及系统
CN104572895A (zh) MPP数据库与Hadoop集群数据互通方法、工具及实现方法
CN109299083A (zh) 一种数据治理系统
CN115374102A (zh) 数据处理方法及系统
CN111324648B (zh) 一种时序数据的处理方法及装置
CN111737355A (zh) 基于MongoDB元数据管理的异构数据源同步的方法及系统
CN105608126A (zh) 一种建立海量数据库二级索引的方法和装置
CN111078777A (zh) 一种基于关系型数据库动态增量加载数据的方法
CN103678591A (zh) 自动执行多业务单据统计处理的装置和方法
CN110704442A (zh) 一种大数据的实时获取方法及装置
CN114491492A (zh) 一种企业级信息系统权限重构的方法和系统
CN107153679B (zh) 一种针对半结构化大数据的提取统计方法及系统
CN104778253B (zh) 一种提供数据的方法和装置
CN106408182B (zh) 一种核电设计项目工作量统计系统和方法
CN111428950A (zh) 排班方法和装置
CN112685485B (zh) 数据获取方法、装置、电子设备、存储介质及程序产品
CN114610803A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN107947971A (zh) 一种信息的配置方法、装置及服务器
CN110737445A (zh) 一种基于智能规划安装大数据软件的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200428

WD01 Invention patent application deemed withdrawn after publication