ETL工作流活动优先级的确定及并行实现(4)
发布时间:2021-06-05
发布时间:2021-06-05
工作流技术介绍
实验的方法分别是将两个数据抽取操作并行执行(这两个抽取操作不存在依赖关系),以及将这两个数据抽取操作串行执行,即一个操作结束后才启动另一个操作(以下的分析中将这两种方法简称为并行方法与串行方法)。每一组实验数据都是三次实验数据取平均值的结果。
实验场景一 数据源S1位于SQLServer数据库中,数据源S2位于Oracle数据库中,工作数据库位于SQLServer数据库中。表1是实验数据。
表1 场景一实验数据
数据元组数10005000100002000050000100000
并行方法/ms
36777896123132194353765107365
串行方法/ms
5568134112222441833104771211786
加速比1.511.701.801.911.951.97
模型主要是建立数据源与数据仓库之间的映射关系,而ETL逻辑模型则主要是确定流程中各个活动的执行优先级及其语义。本文通过一个电子商务的例子阐述了建立ETL概念模型和逻辑模型的过程,提出了一个算法,分析ETL工作流并计算工作流中各个活动的执行优先级,将优先级相同并且相互之间没有依赖关系的活动放在同一个执行阶段,通过创建多个线程并行执行这些活动,提高了ETL工作流的执行效率。实验数据表明,该算法与现有的串行算法比较在时间效率方面具有较大优势,并且随着数据量增大,加速比提高,当参与计算的数据量比较大时,加速比可以趋近于理想值。数据仓库环境中的ETL工具经常需要处理海量数据,这个算法对于ETL工具性能的提高具有较强的实用性。参考文献:
[1]STRANGEK.ETLwasthekeytothisdatawarehouse’ssuccess,
TechnicalReportCS唱15唱3143[R].2002.
[2]VASSILIADISP,SIMITSISA,SKIADOPOULOSS.Conceptualmode唱
shoponDataWarehousingandOLAP.2002:14唱21.
lingforETLprocesses[C]//Procofthe5thACMInternationalWor唱SIMITSISA,VASSILIADISP.Amethodologyfortheconceptualneering.2003:305唱316
modelingofETLprocesses[C]//ProcoftheDecisionSystemsEngi唱
实验场景二 数据源S1位于SQLServer数据库中,数据源S2位于MySQL数据库中,工作数据库位于SQLServer数据库中。表2是实验数据。
表2 场景二实验数据
数据元组数10005000100002000050000100000
并行方法/ms
38437802125632339655302112328
串行方法/ms
5416134531256342894103059209844
加速比1.411.721.831.831.861.87
[3]
[4]TRUJILLOJ,LUJAN唱MORAS.AUMLbasedapproachformodeling
ETLprocessesindatawarehouse[C]//ProcofLNCS,vol2813.2003:307唱320.
[5]VASSILIADISP,SIMITSISA,GEORGANTASP,etal.Ageneric
andcustomizableframeworkforthedesignofETLscenarios[J].In唱VASSILIADISP,SIMITSISA,SKIADOPOULOSS.ModelingETLDecisionandManagementofDataWarehouses.2002:52唱61.activitiesasgraphs[C]//Procofthe4thInternationalWorkshopon
由上面的实验数据可以看出,本文所提出的算法可以有效提高ETL工作流的执行效率。本实验中,并行执行的活动数为2,理想情况下加速比为2,实验结果显示实际加速比在1.4~2.0,当数据量增大时,加速比也随着增大。这是因为当一个活动所处理的数据量比较小时,迁移数据本身所需要的时间也比较少,而创建线程需要一定的时间开销,此时占用的比例较大;而当处理的数据量比较大时,创建线程所需要的时间占总时间的比例下降,达到了比较好的加速比。ETL工具所处理的数据量通常情况下都比较大,本文所提出的这个算法所带来时间效率的提高是比较明显的,具有很强的实用性。
formationSupportSystems,2005,30(7):492唱525.[6]
[7]SIMITSISA,VASSILIADISP.Amethodforthemappingofconcep唱
tualdesignstologicalblueprintsforETLprocesses[J].DecisionSupportSystems,2008,45(1):22唱40.
[8]张忠平,赵瑞珍.基于结构图的ETL过程建模方法[J].计算机应
用研究,2008,25(11):3354唱3356.
[9]张旭峰,孙未未,汪卫,等.增量ETL过程自动化产生方法的研究
[J].计算机研究与发展,2006,43(6):1097唱1103.
4 结束语
本文首先介绍了ETL的概念模型和逻辑模型,ETL概念
(上接第536页)
[24]BAXTERID,YAHINA,MOURALMD,etal.Clonedetection
usingabstractsyntaxtrees[C]//ProcofInternationalConference1998:368唱377.
onSoftwareMaintance.WashingtonDC:IEEEComputerSociety,
[28]LUBin,LIUFen唱lin,GEXin,etal.Asoftwarebirthmarkbasedon
manticComputing.2007:37唱44.技术,2005,28(4):36唱39.
[30]周立萍,陈平.逆向工程发展现状研究[J].计算机工程与设计,
2004,25(10):1658唱1659.
[31]KAKIMOTOT,MONDENA,KAMEIY,etal.Usingsoftwarebirth唱
markstoidentifysimilarclassesandmajorfunctionalities[C]//Proc22唱23.
ofInternationalConferenceonMiningSoftwareRepositories.2006:dynamicopcoden唱gram[C]//ProcofInternationalConferenceonSe唱
[29]杨路明,符鹤.基于系统调用的入侵检测方法研究[J].现代电子
[25]COLLBERGC,MYLESG,HUNTWORKA.SandMark:atoolfor
softwareprotectionresearch[J].IEEEMagazineofSecurityandPrivacy,2003,1(4):40唱49.
[26]DALLMEIERV,LINDIGC,ZELLERA,etal.Lightweightdefect
localizationforJava[C]//Procofthe19thEuropeanConferenceon[27]MYLESG,COLLBERGC.K唱grambasedsoftwarebirthmarks[C]//
ProcofACMSymposiumonAppliedComputing.2005:314唱318.Object唱OrientedProgramming.2005.
[32]赵长海,晏海华,金茂忠.基于编译优化和反汇编的程序相似性
检测方法[J].北京航空航天大学学报,2008,34(6):712唱715.
上一篇:安全监控系统管理制度