不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦 > 論文大全 > 學科論文 > 計算機論文 > ETL工具在構建完整的數(shù)據(jù)倉庫體系結構中的運用探討論文

ETL工具在構建完整的數(shù)據(jù)倉庫體系結構中的運用探討論文

時間: 謝樺657 分享

ETL工具在構建完整的數(shù)據(jù)倉庫體系結構中的運用探討論文

  ETL,是英文 Extract-Transform-Load 的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽取(extract)、轉換(transform)、加載(load)至目的端的過程。ETL是構建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。以下是學習啦小編今天為大家精心準備的:ETL工具在構建完整的數(shù)據(jù)倉庫體系結構中的運用探討相關論文。內(nèi)容僅供參考,歡迎閱讀!

  ETL工具在構建完整的數(shù)據(jù)倉庫體系結構中的運用探討全文如下:

  1 數(shù)據(jù)倉庫的體系結構

  數(shù)據(jù)倉庫是面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合。它通常是指一個數(shù)據(jù)環(huán)境,通過提供當前和歷史數(shù)據(jù)來輔助決策支持。數(shù)據(jù)倉庫的組成部分有:數(shù)據(jù)倉庫數(shù)據(jù)庫、ETL 工具、元數(shù)據(jù)、訪問工具、數(shù)據(jù)集市、數(shù)據(jù)倉庫管理等。通過對多個異構數(shù)據(jù)源進行有效的集成,并按照應用主題進行數(shù)據(jù)重組和展示,就形成了數(shù)據(jù)倉庫系統(tǒng)。由此,根據(jù)應用需求的不同,數(shù)據(jù)倉庫的體系結構可以分為以下四種:

  (1)兩層結構:源數(shù)據(jù)系統(tǒng)經(jīng)過處理直接加載到數(shù)據(jù)倉庫;(2)獨立型數(shù)據(jù)集市:加工成多個獨立的數(shù)據(jù)集市來滿足多種應用需求;(3)依賴型數(shù)據(jù)集市和操作型數(shù)據(jù)存儲:完整的數(shù)據(jù)倉庫,多個源數(shù)據(jù)系統(tǒng)先集成到操作型數(shù)據(jù)存儲(ODS),再轉換、加載到數(shù)據(jù)倉庫,最后形成部門級數(shù)據(jù)集市。文章描述的就是此體系結構的構建過程。它的特點是:整合多個復雜的源數(shù)據(jù)系統(tǒng);實現(xiàn)各種復雜的數(shù)據(jù)轉換處理;提供多層次的數(shù)據(jù)訪問;滿足多部門的即獨立又交叉的應用需求;(4)邏輯型數(shù)據(jù)集市和實時數(shù)據(jù)倉庫:沒有獨立的數(shù)據(jù)集市,體現(xiàn)數(shù)據(jù)加工的實時性。

  2 數(shù)據(jù)倉庫的ETL 過程

  ETL 過程是數(shù)據(jù)加工處理過程的統(tǒng)稱,包括三個部分:抽取、轉換和加載。它的目的是為決策支持應用提供一個單一的、權威的數(shù)據(jù)源。數(shù)據(jù)倉庫的ETL 過程是整個系統(tǒng)實施的關鍵環(huán)節(jié),關系到數(shù)據(jù)倉庫的建設成效。無論從理論上還是從實踐上來說,運用ETL 工具是一個必需的、明智的選擇。文章以Oracle 公司的軟件產(chǎn)品ODI11g 來講解。

  3 ETL 的技術難點

  數(shù)據(jù)倉庫的數(shù)據(jù)存儲有四個層次,即源數(shù)據(jù)系統(tǒng)、ODS、企業(yè)級數(shù)據(jù)倉庫和數(shù)據(jù)集市。運用ETL 工具就是實現(xiàn)數(shù)據(jù)在這四個層次中逐層遞進的三級加工處理過程。雖然每一級處理都具有抽取、轉換、加載的處理,但是它們的側重點還是有區(qū)別的。

  (1)源數(shù)據(jù)系統(tǒng)到ODS 過程:將多個異構數(shù)據(jù)源集成到統(tǒng)一的數(shù)據(jù)集結區(qū)ODS,重點是抽取處理,兼有字符集轉換、數(shù)據(jù)類型轉換等處理。(2)ODS 到企業(yè)級數(shù)據(jù)倉庫過程:將操作型數(shù)據(jù)轉換成事件型數(shù)據(jù),重點是轉換處理,包含清洗、調(diào)和、導出、匹配、合并等多種復雜處理。(3)企業(yè)級數(shù)據(jù)倉庫到數(shù)據(jù)集市過程:將數(shù)據(jù)按照應用需求進行組合,重點是加載處理,還涉及到索引、更新等處理。下面,結合三級處理,從四個方面描述常見的技術難點及應對。

  3.1 數(shù)據(jù)抽取

  (1)靜態(tài)抽取:為了保證源數(shù)據(jù)的一致性和完整性,應該抽取操作型數(shù)據(jù)相關的代碼數(shù)據(jù)和編碼數(shù)據(jù)。這些數(shù)據(jù)特點是量小,變化小,可以采用全量刷新方法。ODI 工具中,編制一個接口,指定源表和目標表,確定LKM 和IKM,即可實現(xiàn)。此方法也適用于初次抽取操作型數(shù)據(jù)。(2)增量抽?。涸磾?shù)據(jù)系統(tǒng)包含大量的業(yè)務數(shù)據(jù),必須通過增量更新的方法才能做到有效的抽取。因此,增量更新問題是一個最重要、最根本的技術問題。ODI 工具內(nèi)置的變化數(shù)據(jù)捕獲機制(CDC)能有效地解決這個問題。實現(xiàn)思路如下:為源表指定日記知識模塊JKM;將源表添加到CDC 列表,并啟動日記;編制接口時,勾選日記記錄的數(shù)據(jù),并指定增量模式的IKM。此外,還可以通過編制ODI 過程代碼來利用現(xiàn)有的物化視圖實現(xiàn)增量更新。

  3.2 數(shù)據(jù)轉換

  (1)關鍵維度的統(tǒng)一:多個源數(shù)據(jù)系統(tǒng)集成后,首先面臨的問題就是關鍵維度的統(tǒng)一。不同的業(yè)務系統(tǒng)有各自不同的關鍵維度(如納稅人識別號,納稅人電子檔案號),這就必須統(tǒng)一到唯一的維度。解決這個問題,可以采用對照表的方法。實現(xiàn)思路如下:選定主要的、核心的業(yè)務系統(tǒng)的關鍵維度;以此維度為主,建立其他業(yè)務系統(tǒng)的維度對照表;ODI 工具中,編寫接口時,增加連接維度對照表,增加字段映射。

  (2)數(shù)據(jù)表的合并:業(yè)務系統(tǒng)中可能存在同一事件信息存儲于不同的數(shù)據(jù)表中的情況。ETL 過程需要將分散的數(shù)據(jù)轉換到一個數(shù)據(jù)表。雖然可以編寫多個ODI 接口實現(xiàn),但是不可避免地存在數(shù)據(jù)完整性風險,且編制繁瑣、執(zhí)行效率低下。建議采用多個源數(shù)據(jù)集來實現(xiàn),思路如下:在ODI 接口中,配置多個源數(shù)據(jù)集,并設置數(shù)據(jù)集的順序和關系;以第一順序數(shù)據(jù)集為主,分別設置目標數(shù)據(jù)項映射關系;指定帶有多數(shù)據(jù)集功能的標準LKM 和IKM。

  (3)數(shù)據(jù)表的拆分:業(yè)務系統(tǒng)的單一數(shù)據(jù)表中可能包含同一維度下的不同粒度的數(shù)據(jù),這時就需要將源表數(shù)據(jù)拆分成多個目標表。常見的情況是,納稅人財務報表數(shù)據(jù)表中同時包含月報、季報和年報。由于ODI 11G 版本中限定每一個接口只能有一個目標數(shù)據(jù)存儲,所以必須采用新的方法來處理。這里,介紹兩種方法來實現(xiàn)。a.編制多個接口,封裝在一個程序包中。步驟如下:分別編制多個接口對應多個目標表,將最后一個接口的“清除日記表”選項設置為真,其余接口該項為假;建立程序包,按順序導入這批接口。b.改造標準IKM,添加插入數(shù)據(jù)步驟。步驟如下:編制普通的ODI 接口,實現(xiàn)一個目標表的加工;模擬執(zhí)行接口,并分析執(zhí)行語句和順序;獲取與目標表相關的語句;復制IKM,并編輯,按照原目標表語句增加其余目標表的執(zhí)行步驟;指定新的IKM。此方法優(yōu)點是執(zhí)行效率高,缺點是改造IKM 需要一定的技術儲備,且增加了項目的整體復雜度。

  (4)最新有效數(shù)據(jù)的問題:分析源數(shù)據(jù)系統(tǒng)的業(yè)務規(guī)則時,會發(fā)現(xiàn)有多次記錄業(yè)務操作數(shù)據(jù)的情況,例如更正申報。這就要求在數(shù)據(jù)轉換時,應以操作時間最新或者操作序號最大的記錄作為有效數(shù)據(jù)。解決的方法有兩種:a.編寫2 個接口,利用臨時表存儲最新操作時間或最大操作序號,然后再關聯(lián)源表數(shù)據(jù),最后將2 個接口依次導入程序包。b.改造IKM 接口,增加2 個新步驟,修改1 個原步驟,具體如下:新增步驟-創(chuàng)建臨時表;新增步驟-在臨時表中插入滿足業(yè)務邏輯的最新有效憑據(jù)(時間或序號);修改步驟-在目標表中插入關聯(lián)到臨時表的源表數(shù)據(jù)。

  3.3 數(shù)據(jù)加載

  (1)創(chuàng)建目標表主鍵:雖然在接口中可以指定目標表的主鍵,但是標準的ODI 處理并不能自動生成該主鍵。為此,改造IKM 來實現(xiàn)這個重要功能:選擇適當?shù)腎KM,為其增加一個選項,并指定類型和默認值;在原IKM 步驟中,增加一個創(chuàng)建主鍵的新步驟,并在此步驟的選項欄次中勾選新增選項。

  此方法的原理是通過一個自定義選項來控制IKM 的邏輯判斷,由用戶通過配置來決定是否執(zhí)行此步驟。

  (2)實現(xiàn)增量的全量加載在企業(yè)級數(shù)據(jù)倉庫和數(shù)據(jù)集市中,常常需要對不同粒度的數(shù)據(jù)進行加載,例如將月度數(shù)據(jù)加載到年度分析中。為此,文章提出以增量的全量方式加載數(shù)據(jù),提高效率。具體思路如下:獲取增量中所有的月度;刪除目標表中包含這些月度的年度數(shù)據(jù);重新獲取源表中包含這些月度的數(shù)據(jù),并加工成年度數(shù)據(jù);加載年度數(shù)據(jù)到目標表。

  數(shù)據(jù)倉庫是包含一系列理論和技術的綜合環(huán)境,它的目的是為數(shù)據(jù)分析和決策支持提供歷史的、豐富的、可用的數(shù)據(jù)。由此,數(shù)據(jù)的存儲和處理也緊緊圍繞這一目的而展開。在這個過程中,工具軟件有著不可替代的重要作用。很多開發(fā)建設理念就集成在工具軟件的應用中。只有充分理解其基礎功能,將其不斷改造完善,才能使這些理念和規(guī)則落地,支撐起整個數(shù)據(jù)倉庫。

437537