• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于MGO的數(shù)據(jù)倉庫ETL過程構(gòu)建方法

      2014-12-14 07:08:28余肖生吳西燕王東娟王緩緩
      關(guān)鍵詞:數(shù)據(jù)倉庫工具服務(wù)器

      余肖生,吳西燕,王東娟,王緩緩,蔣 彬

      (三峽大學(xué)計算機與信息學(xué)院,湖北宜昌 443002)

      在數(shù)據(jù)倉庫構(gòu)建過程中,作業(yè)量最大、日常運行中出現(xiàn)問題最多的是從業(yè)務(wù)數(shù)據(jù)庫向數(shù)據(jù)倉庫抽取、變換、集成數(shù)據(jù)的作業(yè),即 ETL[1]。ETL 過程在數(shù)據(jù)倉庫的建設(shè)與維護中占據(jù)了相當(dāng)重要的位置[2]。ETL過程設(shè)計的優(yōu)劣已經(jīng)成為數(shù)據(jù)倉庫建設(shè)中降低維護成本、提高ETL過程執(zhí)行效率的關(guān)鍵。本文首先對現(xiàn)有ETL過程的構(gòu)建方法及其發(fā)展進行分析比較,并指出其不足;在此基礎(chǔ)上,介紹基于MGO(通用操作符)的ETL過程的構(gòu)建方法,并將其與現(xiàn)有ETL過程的構(gòu)建方法進行比較;最后以一個通用操作符(平面文件加載器)的實現(xiàn)為例,描述通用操作符的實現(xiàn)流程。

      1 現(xiàn)有ETL比較

      1.1 手工ELT

      在數(shù)據(jù)倉庫概念提出之前,決策支持系統(tǒng)概念已經(jīng)被人們廣為接受。當(dāng)時,由于沒有專門工具用來構(gòu)建收集、整合、存儲、分析操作數(shù)據(jù)的信息平臺,故主要采用手工方式。手工ELT的工作流程如圖1所示[3],其中數(shù)據(jù)采用自然的方法處理:

      1)抽取:相關(guān)操作數(shù)據(jù)以某種方式從操作應(yīng)用程序中抽取并直接轉(zhuǎn)移到信息平臺或信息平臺的一個投影系統(tǒng)上。

      2)加載:利用相應(yīng)DBMS提供的加載工具,將數(shù)據(jù)庫中的這些數(shù)據(jù)加載到該信息平臺上。

      3)轉(zhuǎn)換:為接下來的查詢和分析,使用SQL程序轉(zhuǎn)換這些數(shù)據(jù)并存儲在這個信息平臺的數(shù)據(jù)庫中。

      該方法的主要優(yōu)勢在于它的高性能,尤其是在信息平臺的轉(zhuǎn)換階段;其不足之處在于生產(chǎn)率低、質(zhì)量低、管理繁瑣、文檔質(zhì)量無法達到滿意的效果。

      圖1 手工ELT的工作流程

      1.2 工具輔助的ETL

      為了提高生產(chǎn)率和程序質(zhì)量,促進管理,在近十余年里,研究人員開發(fā)了許多數(shù)據(jù)倉庫工具,大多數(shù)工具具有以下的相似點:

      1)圖形用戶界面

      2)運行時系統(tǒng)基本以一種離散的方式工作[4-5]:

      抽取(extract)從數(shù)據(jù)源(如平面文件或數(shù)據(jù)庫表)抽取數(shù)據(jù),并將它們送到ETL服務(wù)器,而不是直接進入信息平臺,在ETL服務(wù)器中使用工具處理和轉(zhuǎn)換數(shù)據(jù)。

      轉(zhuǎn)換(transform)根據(jù)具體要求,逐行轉(zhuǎn)換ETL服務(wù)器中的數(shù)據(jù)。

      加載(load)為了后續(xù)的查詢和分析,將已轉(zhuǎn)換的數(shù)據(jù)加載到信息平臺的目標數(shù)據(jù)庫表中。

      這些功能復(fù)雜的工具可以按照獨立于復(fù)雜信息平臺系統(tǒng)的不同需求設(shè)計。此類ETL體系的結(jié)構(gòu)如圖2所示。該方法存在以下不足[3,7]:

      1)配置弱??紤]到處理能力,相對于數(shù)據(jù)庫服務(wù)器而言,ETL服務(wù)器的配置要弱一些。

      2)不適合的技術(shù)。ETL服務(wù)器采用的典型逐行處理模式效率不高,尤其是在需要處理的數(shù)據(jù)量很大時。然而,在數(shù)據(jù)倉庫實踐中,大數(shù)據(jù)量處理是數(shù)據(jù)倉庫的特色。有效處理大數(shù)據(jù)量是用于承載數(shù)據(jù)倉庫的專業(yè)數(shù)據(jù)庫管理系統(tǒng)的主要需求之一。

      3)繁忙的數(shù)據(jù)轉(zhuǎn)換。待處理的數(shù)據(jù)通過網(wǎng)絡(luò)連接來回傳輸至整個系統(tǒng)邊界,在一些情況下,這些連接并非足夠強,一定程度上降低了處理性能。

      圖2 工具輔助的ETL流程

      1.3 工具輔助的ELT

      近幾年,為了提高系統(tǒng)的性能,研究人員對現(xiàn)有數(shù)據(jù)倉庫工具進行了根本性的修改,并加快了新工具的開發(fā)速度。許多現(xiàn)有的有代表性的數(shù)據(jù)倉庫工具被移植到以下修改的ELT目錄中,如圖3 所示[6-8]。

      圖3 工具輔助的ELT流程

      1)在數(shù)據(jù)倉庫工具的控制下,從操作應(yīng)用中抽取有關(guān)操作數(shù)據(jù)并直接轉(zhuǎn)移到信息平臺或信息平臺的投影系統(tǒng)中。

      2)在數(shù)據(jù)倉庫工具的控制下,這些數(shù)據(jù)被加載到信息平臺的數(shù)據(jù)庫中。

      3)為了后續(xù)的查詢和分析,在數(shù)據(jù)倉庫工具的控制下,在信息平臺轉(zhuǎn)換并在信息平臺的數(shù)據(jù)庫中存儲這些數(shù)據(jù)。

      該方式保留了圖形用戶界面,性能也得到了一定改善。

      1.4 3種構(gòu)建方法的比較

      通過前面的分析,筆者將以上3種方法在性能、生產(chǎn)率、軟件質(zhì)量、管理程序、文檔質(zhì)量等5方面進行比較。比較時,采用A、B兩個等級(A優(yōu)于B),每個等級用后綴(+、-)表示其程度,如表1所示。

      表1 3種構(gòu)建方法的比較

      2 基于MGO的數(shù)據(jù)倉庫ETL構(gòu)建方法

      通過表1可以看出:上述3種構(gòu)建方法均存在不足之處,尤其是其中許多活動是重復(fù)的。為了克服這些不足,本文提出構(gòu)建數(shù)據(jù)倉庫ETL的新方法,即基于元數(shù)據(jù)驅(qū)動的通用操作符(metadata-driven generic operator,MGO)的構(gòu)建方法。該方法的中心思想是:在ETL過程中,考慮到有些活動是重復(fù)的,而有些不是,故將重復(fù)的和不重復(fù)的活動區(qū)分開,讓重復(fù)的活動僅執(zhí)行一次。為了區(qū)分這些活動,將數(shù)據(jù)倉庫里的活動分為通用知識和特定對象的元數(shù)據(jù)(object-specific metadata)。所謂通用知識,是指在感興趣領(lǐng)域里具有普適性的知識,有時也稱領(lǐng)域通用知識(domain-generic knowledge)。例如,SQL語法中的所有 CREATE、DELETE 語句,編輯操作中的 copy、paste、search、replace等。特定對象的元數(shù)據(jù)是指具有專指性的知識。元數(shù)據(jù)主要分為描述性元數(shù)據(jù)(descriptive metadata)和操作元數(shù)據(jù)(operative metadata)。描述性元數(shù)據(jù)目標是描述相應(yīng)的主題,如加載程序的文檔等;而操作元數(shù)據(jù)定義了系統(tǒng)中的操作/系統(tǒng)對象和它們之間的關(guān)系,確定了系統(tǒng)的行為或隨后的狀態(tài)。例如,一個表的列或者從一個源表到目標表的列映射都是操作元數(shù)據(jù)。前者通常存儲在系統(tǒng)目錄中,由系統(tǒng)自動維護;而后者存儲在用戶/工具定義的目錄中,由系統(tǒng)構(gòu)造器手動維護。在數(shù)據(jù)倉庫ETL構(gòu)建中,領(lǐng)域通用知識是重復(fù)的,而特定對象的元數(shù)據(jù)則不能重復(fù)。因此,對每個具體的對象(如表或映射),它必須單獨、專門地對待。事實上,每個表有自己的定義元數(shù)據(jù),每個列有自己指定的元數(shù)據(jù),每個目標列則有自己來自相應(yīng)的源應(yīng)用的列的映射。

      本文構(gòu)建新方法的工作流如圖4所示,與前述工具輔助的ELT方法類似,但沒有輔助工具。事實上,在生產(chǎn)率、軟件質(zhì)量、文檔質(zhì)量、管理程序和性能等關(guān)鍵方面,本文方法優(yōu)于現(xiàn)代專業(yè)的數(shù)據(jù)倉庫工具使用的方法,且成本并未因此增加。具體步驟如下:

      1)數(shù)據(jù)源。主要從源應(yīng)用的表中抽取數(shù)據(jù),并將它們轉(zhuǎn)移到數(shù)據(jù)倉庫的平面數(shù)據(jù)文件區(qū);

      2)MGO。此方法主要依靠12個基本操作符完成數(shù)據(jù)源到數(shù)據(jù)倉庫的轉(zhuǎn)換與加載。

      3)數(shù)據(jù)庫服務(wù)器。按照存儲格式要求,將通過MGO轉(zhuǎn)換過來的數(shù)據(jù)存儲于此。

      3 實例研究

      從圖4可以看出:基于元數(shù)據(jù)驅(qū)動的通用操作符的構(gòu)建是此類新方法的核心。圖5給出了平面文件加載器(12個基本操作符之一)的構(gòu)建和實現(xiàn)流程。其核心任務(wù)是:將平面數(shù)據(jù)文件通過控制文件轉(zhuǎn)換為數(shù)據(jù)倉庫中的表。為了實現(xiàn)這一過程,首先要利用存儲過程,按照控制文件的格式將元數(shù)據(jù)中的字段抽取出來,每一個字段寫成一個控制文件。實現(xiàn)過程如下:

      (此處?為通配符,根據(jù)實際情況替換成相應(yīng)的字符):

      SQL*PLUS

      SPOOL‘控制文件名’

      SELECT Text FROM WT

      ORDER BY No

      SPOOL OFF

      Sql_str= ’??????’

      Echo‘USER_ID=???,PW=???,CONTROL=’控制文件名’>f.pmf

      Sqlldr PARFILE=f.pmf

      這種方法實現(xiàn)了應(yīng)用系統(tǒng)中的批量平面數(shù)據(jù)文件到數(shù)據(jù)倉庫對應(yīng)表的自動導(dǎo)入,大大降低了數(shù)據(jù)倉庫ETL過程的復(fù)雜度。蔣彬等將這一方法應(yīng)用于銀行、保險等類型企業(yè)數(shù)據(jù)倉庫ETL過程構(gòu)建,并取得了良好的效果。

      圖4 基于MGO的數(shù)據(jù)倉庫ETL構(gòu)建流程

      圖5 平面文件加載器的構(gòu)建和實現(xiàn)流程

      4 結(jié)束語

      從實用角度來看,本文提出的方法使得構(gòu)建一個復(fù)雜體系結(jié)構(gòu)的數(shù)據(jù)倉庫過程得到簡化,從而即使在非常不利的數(shù)據(jù)源情況下,依然可以得到高質(zhì)量數(shù)據(jù)。從技術(shù)角度來看,這種方法代表了一種數(shù)據(jù)倉庫建設(shè)的全新范式,它將使數(shù)據(jù)倉庫的構(gòu)建不再是一個復(fù)雜的問題。

      [1]張寧,賈自艷,史忠植.數(shù)據(jù)倉庫中ETL技術(shù)的研究[J].計算機工程與應(yīng)用,2002(24):213-216.

      [2]張旭峰.ETL若干關(guān)鍵技術(shù)研究[D].上海:復(fù)旦大學(xué),2006:1-15.

      [3]Jiang Bin.Constructing Data Warehouses With Metadatadriven Generic Operators,and more[M].Niederglatt:DBJ Publishing,2011:14-21.

      [4]Thammasak Rujirayanyong A,Jonathan J Shi.A projectoriented data warehouse for construction[J].Automation in Construction,2006(15):800-807.

      [5]Joe Celko.Joe Celko's Analytics and OLAP in SQL[M].San Fransisco:Morgan Kaufmann Publishers,2006:38.

      [6]Vikas Ranjan.A Comparative Study between ETL(Extract-Transform-Load)and E-LT(Extract-Load-Transform)approach for loading data into a Data Warehouse[D].Chico:California State University,2009:2-6.

      [7]Robert J Davenport.ETL vs.ELT:A Subjective View[EB/OL].[2012-10-05].http://www.dataacademy.com/files/ETL-vs-ELT-White-Paper.pdf.

      [8]Sabir Asadullaev.Data warehouse architectures and development strategy[EB/OL].[2012-10-05].https://www.ibm.com/developerworks/mydeveloperworks/blogs/Sabir/resource/DWarchitecturesanddevelopmentstrategy.Guidebook.pdf?lang=en.

      猜你喜歡
      數(shù)據(jù)倉庫工具服務(wù)器
      波比的工具
      波比的工具
      通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
      基于數(shù)據(jù)倉庫的住房城鄉(xiāng)建設(shè)信息系統(tǒng)整合研究
      “巧用”工具
      讀者(2017年18期)2017-08-29 21:22:03
      分布式存儲系統(tǒng)在液晶面板制造數(shù)據(jù)倉庫中的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:15
      得形忘意的服務(wù)器標準
      探析電力系統(tǒng)調(diào)度中數(shù)據(jù)倉庫技術(shù)的應(yīng)用
      計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      基于數(shù)據(jù)倉庫的數(shù)據(jù)分析探索與實踐
      浮梁县| 临泽县| 舟曲县| 云南省| 麻江县| 松潘县| 公安县| 阿巴嘎旗| 玉门市| 东山县| 南安市| 仙游县| 神农架林区| 靖宇县| 晋中市| 屯昌县| 和静县| 宁德市| 鄂托克旗| 山东| 登封市| 峨边| 新兴县| 彩票| 来宾市| 名山县| 德保县| 洮南市| 海伦市| 商水县| 吐鲁番市| 江孜县| 黔东| 岑溪市| 乐亭县| 海兴县| 灌阳县| 黔江区| 花莲市| 平陆县| 砀山县|