【摘 要】隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,人們將數(shù)據(jù)庫(kù)進(jìn)行加工,進(jìn)而形成了數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)具有其獨(dú)特的功能和作用,從數(shù)據(jù)倉(cāng)庫(kù)中可以準(zhǔn)確、安全的提取出需要數(shù)據(jù)等。數(shù)據(jù)倉(cāng)庫(kù)的核心技術(shù)是ETL技術(shù),本文針對(duì)基于數(shù)據(jù)倉(cāng)庫(kù)的ETL技術(shù)相關(guān)的內(nèi)容進(jìn)行研究分析。
【關(guān)鍵詞】數(shù)據(jù)倉(cāng)庫(kù) ETL技術(shù) 數(shù)據(jù)轉(zhuǎn)換
隨著科學(xué)技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)也在不斷的發(fā)展,人們將數(shù)據(jù)庫(kù)技術(shù)進(jìn)行再加工,進(jìn)而形成了數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)有不同的來(lái)源,進(jìn)而形成了不同來(lái)源、不同形式的數(shù)據(jù),這些數(shù)據(jù)需要對(duì)其進(jìn)行管理,并對(duì)其質(zhì)量進(jìn)行維護(hù)等,ETL技術(shù)就是對(duì)數(shù)據(jù)進(jìn)行處理管理的一種技術(shù)。本文針對(duì)基于數(shù)據(jù)倉(cāng)庫(kù)的ETL技術(shù)進(jìn)行研究分析。
一、ETL技術(shù)
ETL是數(shù)據(jù)采集的簡(jiǎn)稱(chēng),數(shù)據(jù)采集是由數(shù)據(jù)的抽取、轉(zhuǎn)換、清洗、裝載等組成的,數(shù)據(jù)采集是數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建中的重要內(nèi)容,從數(shù)據(jù)源中抽取所需要的數(shù)據(jù),然后對(duì)抽取到的數(shù)據(jù)進(jìn)行清洗,將其按照一定的數(shù)據(jù)倉(cāng)庫(kù)的模型,放到數(shù)據(jù)倉(cāng)庫(kù)中。數(shù)據(jù)采集中的數(shù)據(jù)抽取其實(shí)就是數(shù)據(jù)源接口,數(shù)據(jù)源接口從不同的系統(tǒng)中抽取所需要的數(shù)據(jù),將其作為數(shù)據(jù)倉(cāng)庫(kù)的輸入數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換是對(duì)不同系統(tǒng)中生成的數(shù)據(jù)源進(jìn)行處理,保證這些不同的數(shù)據(jù)源可以按照規(guī)定的要求輸入到數(shù)據(jù)倉(cāng)庫(kù)中。數(shù)據(jù)清洗是對(duì)所有的數(shù)據(jù)進(jìn)行處理,使得數(shù)據(jù)集中的所有數(shù)據(jù)值保持一致,并可以正確的對(duì)這些數(shù)據(jù)進(jìn)行記錄。
在一個(gè)企業(yè)的管理中,其管理人員都希望可以隨時(shí)的獲取所需要的數(shù)據(jù)和信息,所以就需要有這樣一個(gè)系統(tǒng),將這的外部數(shù)據(jù)和內(nèi)部數(shù)據(jù)進(jìn)行整理和儲(chǔ)存方便查詢(xún)。但是這些數(shù)據(jù)信息有不同的來(lái)源,具有數(shù)量、不清潔等諸多不良特點(diǎn),進(jìn)而不能直接對(duì)這些數(shù)據(jù)進(jìn)行使用,也不能直接將這些數(shù)據(jù)輸入到數(shù)據(jù)倉(cāng)庫(kù)中,所以需要對(duì)這些數(shù)據(jù)先進(jìn)行處理分析,然后再將這些數(shù)據(jù)以高質(zhì)量輸入到數(shù)據(jù)倉(cāng)庫(kù)中供用戶的使用。
ETL在數(shù)據(jù)倉(cāng)庫(kù)中具有非常重要的位置,數(shù)據(jù)倉(cāng)庫(kù)其實(shí)就是一個(gè)獨(dú)立的數(shù)據(jù)環(huán)境,它需要從不同的系統(tǒng)中抽取所需要的數(shù)據(jù),然后通過(guò)ETL將這些數(shù)據(jù)進(jìn)行處理,處理過(guò)后的數(shù)據(jù)信息才可以安全的輸入到數(shù)據(jù)倉(cāng)庫(kù)中。ETL技術(shù)主要涉及到互連、復(fù)制、轉(zhuǎn)換、監(jiān)控等方面的內(nèi)容,在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)不需要和處理系統(tǒng)中、或者其他相關(guān)系統(tǒng)中的數(shù)據(jù)保持同步,所以ETL中的數(shù)據(jù)抽取可以定時(shí)的進(jìn)行,但是ETL的成功與否,關(guān)系到數(shù)據(jù)倉(cāng)庫(kù)中信息有效性。
二、ETL系統(tǒng)的設(shè)計(jì)
數(shù)據(jù)倉(cāng)庫(kù)是為了實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、檢索以及表達(dá),例如當(dāng)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)需要從一種形式轉(zhuǎn)換成另一種形式時(shí),ETL的數(shù)據(jù)轉(zhuǎn)換就需要進(jìn)行考慮,同時(shí)ETL中的數(shù)據(jù)抽取、轉(zhuǎn)換、裝載等都需要變成轉(zhuǎn)換操作,所以對(duì)于數(shù)據(jù)倉(cāng)庫(kù)而言數(shù)據(jù)轉(zhuǎn)換是其核心部分。
我們對(duì)ETL中的數(shù)據(jù)轉(zhuǎn)換進(jìn)行分析研究,將數(shù)據(jù)的轉(zhuǎn)換看成是轉(zhuǎn)換活動(dòng),在數(shù)據(jù)轉(zhuǎn)換的過(guò)程中,將數(shù)據(jù)由一種形式轉(zhuǎn)換成另一種形式,源數(shù)據(jù)和目標(biāo)數(shù)據(jù)都是數(shù)據(jù)轉(zhuǎn)換中的元素,這些數(shù)據(jù)轉(zhuǎn)換元素可以是任何形式的數(shù)據(jù)元素,可以是圖,也可以是表,ETL的數(shù)據(jù)轉(zhuǎn)換可以是一個(gè)數(shù)據(jù)目標(biāo)由一個(gè)數(shù)據(jù)源進(jìn)行轉(zhuǎn)換,也可以是一個(gè)數(shù)據(jù)目標(biāo)由多個(gè)數(shù)據(jù)源進(jìn)行轉(zhuǎn)換,而且數(shù)據(jù)轉(zhuǎn)換也可以在其轉(zhuǎn)換過(guò)程中生成不同的臨時(shí)數(shù)據(jù)。當(dāng)ETL數(shù)據(jù)轉(zhuǎn)換在進(jìn)行一個(gè)轉(zhuǎn)換活動(dòng)時(shí),其可以按照一定的轉(zhuǎn)換步驟,將此次轉(zhuǎn)換進(jìn)行定義為確定性或者不確定性。
三、ETL技術(shù)操作
ETL技術(shù)具有非常強(qiáng)大的功能,而ETL技術(shù)的各項(xiàng)功能很大程度上是由其數(shù)據(jù)轉(zhuǎn)換規(guī)則的完整、健全決定的。經(jīng)過(guò)對(duì)ETL技術(shù)以及相關(guān)的數(shù)據(jù)進(jìn)行分析研究發(fā)現(xiàn),數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)以及其數(shù)據(jù)源都是采用數(shù)據(jù)庫(kù)的方式進(jìn)行儲(chǔ)存的,數(shù)據(jù)轉(zhuǎn)換規(guī)則均是針對(duì)和數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)源等相關(guān)的數(shù)據(jù)庫(kù)而定的,而且這些數(shù)據(jù)轉(zhuǎn)換規(guī)則采用的是開(kāi)放式的管理方法,用戶可以在這些規(guī)則的基礎(chǔ)上,對(duì)自己所需的數(shù)據(jù)進(jìn)行簡(jiǎn)單的轉(zhuǎn)換或者復(fù)雜的轉(zhuǎn)換,還可以通過(guò)轉(zhuǎn)換組合的方法,實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的目的。其中最為常見(jiàn)的ETL技術(shù)操作有:
(一)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)有效性檢查
為了將數(shù)據(jù)冗余等問(wèn)題進(jìn)行避免,在抽取的數(shù)據(jù)進(jìn)入到數(shù)據(jù)倉(cāng)庫(kù)之前,需要對(duì)其進(jìn)行有效性檢查,這項(xiàng)工作在數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)輸入中非常重要,如果沒(méi)有對(duì)這些即將輸入到數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)進(jìn)行有效性檢查,就會(huì)對(duì)整個(gè)數(shù)據(jù)倉(cāng)庫(kù)的完整性產(chǎn)生破壞,或者將其破壞的幾率大大的增加。對(duì)數(shù)據(jù)進(jìn)行有效性檢查最好的方法就是源系統(tǒng)。在源系統(tǒng)中有專(zhuān)業(yè)的和非專(zhuān)業(yè)的技術(shù)知識(shí)人員,但是數(shù)據(jù)有效性檢查是一項(xiàng)費(fèi)時(shí)又不可省略的一個(gè)環(huán)節(jié),所以可以進(jìn)行自動(dòng)化的檢查。
(二)數(shù)據(jù)的清除
ETL技術(shù)進(jìn)行的數(shù)據(jù)有效性檢查是對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)給定的過(guò)程,如果數(shù)據(jù)的給定沒(méi)有在界定的范圍之內(nèi),那么它就是需要清除的對(duì)象。數(shù)據(jù)的清除包括了在給定界限范圍之外的數(shù)據(jù),對(duì)這些數(shù)據(jù)采取一定的糾正措施。
(三)將數(shù)據(jù)格式化
我們知道數(shù)據(jù)倉(cāng)庫(kù)中的屬數(shù)據(jù)來(lái)自不同的數(shù)據(jù)源,這些數(shù)據(jù)源可能出現(xiàn)的不同的平臺(tái)上,有不同的操作系統(tǒng),所以這些數(shù)據(jù)會(huì)以不同的形式輸入到數(shù)據(jù)倉(cāng)庫(kù)中。如何將這些數(shù)據(jù)加載,是數(shù)據(jù)倉(cāng)庫(kù)建立中需要考慮的一個(gè)問(wèn)題,在進(jìn)行數(shù)據(jù)遷移的過(guò)程中,會(huì)將數(shù)據(jù)以一種適合數(shù)據(jù)倉(cāng)庫(kù)的格式轉(zhuǎn)入數(shù)據(jù)倉(cāng)庫(kù)中,這就是數(shù)據(jù)的格式化,對(duì)數(shù)據(jù)的處理是數(shù)據(jù)倉(cāng)庫(kù)成功建立的關(guān)鍵,所以在數(shù)據(jù)提取的過(guò)程中,對(duì)數(shù)據(jù)進(jìn)行格式化,從操作中實(shí)現(xiàn)數(shù)據(jù)資源的共享。
數(shù)據(jù)庫(kù)技術(shù)的發(fā)展得到延伸,在此基礎(chǔ)上進(jìn)行再加工,進(jìn)而形成了數(shù)據(jù)倉(cāng)庫(kù),但是數(shù)據(jù)從不同的系統(tǒng)進(jìn)入到數(shù)據(jù)倉(cāng)庫(kù)之前需要進(jìn)行檢查、處理,這樣才可以保證數(shù)據(jù)倉(cāng)庫(kù)的完整性和安全,ETL技術(shù)是基于數(shù)據(jù)倉(cāng)庫(kù)的一種數(shù)據(jù)處理技術(shù),在數(shù)據(jù)進(jìn)行數(shù)據(jù)倉(cāng)庫(kù)之間,進(jìn)行處理檢查,使數(shù)據(jù)的格式滿足數(shù)據(jù)倉(cāng)庫(kù)需求,雖然ETL技術(shù)還有待改進(jìn),但是其在數(shù)據(jù)倉(cāng)庫(kù)中起到的作用不可忽視。
參考文獻(xiàn):
[1]劉繁艷.基于數(shù)據(jù)倉(cāng)庫(kù)的ETL技術(shù)研究[J].軟件導(dǎo)刊. 2007(06):30-31
[2]白果,賈玉文.數(shù)據(jù)倉(cāng)庫(kù)中ETL技術(shù)的研究與改進(jìn)[J].甘肅科技.2012(10):62-63
[3]金明.企業(yè)數(shù)據(jù)倉(cāng)庫(kù)的ETL技術(shù)[J].電力信息化.2010(09):44-45