張明治
摘要:通過(guò)數(shù)據(jù)生命周期、數(shù)據(jù)分段處理的方式以低成本的方式解決數(shù)據(jù)倉(cāng)庫(kù)中大數(shù)據(jù)量的性能優(yōu)化和存儲(chǔ)優(yōu)化的問(wèn)題。
關(guān)鍵詞:DW;數(shù)據(jù)生命周期;分區(qū);數(shù)據(jù)抽??;存儲(chǔ)架構(gòu)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)04-0685-02
1 背景描述
伴隨隨著DW系統(tǒng)的持續(xù)運(yùn)行,業(yè)務(wù)數(shù)據(jù)量不斷的增長(zhǎng)。其中大表數(shù)據(jù)以億數(shù)據(jù)量級(jí)別為存儲(chǔ),并且每天以百萬(wàn)的速度增長(zhǎng),歷史數(shù)據(jù)隨之也不斷的積壓。隨著數(shù)據(jù)的不斷增長(zhǎng),數(shù)據(jù)量不斷增多的同時(shí)導(dǎo)致了DW抽取、查詢、分析等應(yīng)用性能下降。
1.1 對(duì)數(shù)據(jù)抽取的影響
在ETL抽取過(guò)程中,基本絕大多數(shù)情況我們都會(huì)使用時(shí)間戳增量抽取的方式,通過(guò)update/insert的方式對(duì)目標(biāo)數(shù)據(jù)進(jìn)行加載。但這個(gè)過(guò)程中如果目標(biāo)數(shù)據(jù)不斷地增多時(shí)會(huì)嚴(yán)重的影響效率。隨著單次執(zhí)行時(shí)間的提高,對(duì)數(shù)據(jù)抽取的頻率也會(huì)發(fā)生影響。數(shù)據(jù)的整合效率和時(shí)效性的降低,對(duì)最終DW中數(shù)據(jù)的時(shí)效性產(chǎn)生嚴(yán)重的影響。
1.2 對(duì)數(shù)據(jù)使用的影響
如果目標(biāo)數(shù)據(jù)在抽取過(guò)程中,隨著數(shù)據(jù)庫(kù)中鎖的產(chǎn)生和內(nèi)存的消耗,對(duì)查詢的效率也存在影響。隨著數(shù)據(jù)量的增多,對(duì)數(shù)據(jù)的全表掃描時(shí)也會(huì)產(chǎn)生效率的降低和時(shí)間的增長(zhǎng)。
2 方案設(shè)計(jì)
2.1 需求分析
根據(jù)以上對(duì)數(shù)據(jù)抽取和數(shù)據(jù)使用的分析,我們要從兩方面著手,一方面解決數(shù)據(jù)加載時(shí)目標(biāo)表過(guò)大的問(wèn)題。另一方面解決數(shù)據(jù)使用時(shí)全表掃描的問(wèn)題。
1)數(shù)據(jù)加載
在數(shù)據(jù)加載時(shí),通過(guò)二次抽取的方式來(lái)減小數(shù)據(jù)目標(biāo)表匯集的過(guò)程,來(lái)實(shí)現(xiàn)增量數(shù)據(jù)業(yè)務(wù)的實(shí)時(shí)性要求。
2)全表掃描
通過(guò)數(shù)據(jù)的生命周期確認(rèn),將數(shù)據(jù)按照生命周期方式進(jìn)行存儲(chǔ)。將生命周期內(nèi)的數(shù)據(jù)存放在快捷的存儲(chǔ)中,使其的使用效率得到大幅的提升,其實(shí)我們發(fā)現(xiàn)業(yè)務(wù)操作中的80%都只會(huì)用到生命周期內(nèi)的數(shù)據(jù)。
經(jīng)過(guò)數(shù)據(jù)的有效分析,根據(jù)數(shù)據(jù)生命周期理論,很多數(shù)據(jù)都不在數(shù)據(jù)生命周期范圍內(nèi),這些數(shù)據(jù)通過(guò)靈活的處理完全可達(dá)到全覆蓋和對(duì)性能影響最小的程度。我們結(jié)合數(shù)據(jù)生命周期的理論、數(shù)據(jù)抽取技術(shù)和分區(qū)技術(shù)的整合將數(shù)據(jù)生命周期以外的數(shù)據(jù)對(duì)性能的影響降到最低。
2.2處理流程
2.2.1 存儲(chǔ)架構(gòu)
基于業(yè)務(wù)需求,將通過(guò)當(dāng)日數(shù)據(jù)表、近三個(gè)月熱點(diǎn)表、歷史數(shù)據(jù)表共計(jì)12張表來(lái)存放生命周期內(nèi)的業(yè)務(wù)數(shù)據(jù)。具體設(shè)計(jì)如圖1。
數(shù)據(jù)在DW中的存儲(chǔ)流向主要分為以下幾個(gè)步驟:
1)增量抽取的時(shí)候使用兩張實(shí)體表交替存儲(chǔ)當(dāng)天數(shù)據(jù)
2)每天結(jié)束后根據(jù)不同的業(yè)務(wù)時(shí)間將日表數(shù)據(jù)分別插入到相應(yīng)的分區(qū)表中。當(dāng)插入結(jié)束后,清除上一日保存記錄的數(shù)據(jù)表
3)每月初根據(jù)業(yè)務(wù)時(shí)間范圍將三個(gè)月前熱點(diǎn)表數(shù)據(jù)記錄遷移至歷史記錄表中,同時(shí)刪除三個(gè)月前的分區(qū)表。
2.2.2 分區(qū)規(guī)則
為了快速的定位到數(shù)據(jù)的存儲(chǔ),不同的分區(qū)表按照不同的分區(qū)標(biāo)準(zhǔn)。分別如下:
1)歷史表:按照業(yè)務(wù)發(fā)生時(shí)間的年月(YYYYMM)列表分區(qū)。
2)熱點(diǎn)表:按照業(yè)務(wù)發(fā)生時(shí)間的日期(DD)列表分區(qū)。
3)日 表:僅存當(dāng)日數(shù)據(jù)不做分區(qū)處理。
4)全局視圖:存放所有數(shù)據(jù)的全局視圖,將所有數(shù)據(jù)通過(guò)視圖的方式將其串聯(lián)在一起。
3 總結(jié)
本文通過(guò)這種存儲(chǔ)方式的改變,我們?cè)谑褂脮r(shí)訪問(wèn)特定生命周期內(nèi)的數(shù)據(jù)可以指定特定的表和特定的區(qū)域這樣大大的增加訪問(wèn)的效率。通過(guò)二次的抽取整合和分段的存儲(chǔ)可以大大增加數(shù)據(jù)抽取的性能和數(shù)據(jù)訪問(wèn)的性能。通過(guò)數(shù)據(jù)生命周期的方式過(guò)濾掉冗余性能的消耗來(lái)增加數(shù)據(jù)的實(shí)時(shí)可用性,是DW中大數(shù)據(jù)量處理的一個(gè)低成本和便捷的方式。
參考文獻(xiàn):
[1] 王艷云,邊根慶,王瑞龍.數(shù)據(jù)遷移算法研究[J].電腦知識(shí)與技術(shù),2012(5).
[2] 盛憲鋒,孫健英,焦文彬.基于數(shù)據(jù)生命周期管理的ARP系統(tǒng)優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2011(11).
[3] 吳品才.論信息生命周期與信息管理周期——兼論信息運(yùn)動(dòng)階段與信息管理階段[J].檔案學(xué)通訊,2004(4).