小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ETL增量抽取方案

 少年潤(rùn)土 2015-01-12

一、.ETL體系結(jié)構(gòu)

    數(shù)據(jù)庫(kù)--->抽取---> 轉(zhuǎn)換--->加載--->目的數(shù)據(jù)源

二、ETL抽取方案

   1).全量抽取

        全量抽取類似于數(shù)據(jù)遷移或數(shù)據(jù)復(fù)制,它將數(shù)據(jù)源中的表或視圖的數(shù)據(jù)原封不動(dòng)的從數(shù)據(jù)庫(kù)中抽取出來(lái),并轉(zhuǎn)換成自己的ETL工具可以識(shí)別的格式,全量抽取比較簡(jiǎn)單。全量抽取一般只在系統(tǒng)初始化時(shí)使用,全量一次后,就要每天采用增量抽取。

   2).增量抽取

        增量抽取只抽取自上次抽取以來(lái)數(shù)據(jù)庫(kù)中要抽取的表中新增或者修改的數(shù)據(jù)。在ETL使用中,增量抽取使用更加廣泛。

        怎樣獲取變化的數(shù)據(jù)是增量抽取的關(guān)鍵。對(duì)于捕獲方法的要求一般有:準(zhǔn)確性,一致性,完整性,性能。

        準(zhǔn)確性:能夠?qū)I(yè)務(wù)系統(tǒng)中的變化數(shù)據(jù)按一定的規(guī)則準(zhǔn)確的捕獲到。

        一致性:源表和目標(biāo)表中數(shù)據(jù)的一致。不能有字段的不一致。

        完整性:要求源表中應(yīng)該放入到目標(biāo)表中的數(shù)據(jù)均被放入到目標(biāo)表中。

        性能:因?yàn)橐粋€(gè)公司晚上一般有大量的跑批,像我們公司,從凌晨12點(diǎn)開始,N個(gè)系統(tǒng)排隊(duì)跑批,一般排到早上七八點(diǎn)鐘。所以這就要求性能一定要優(yōu)。不能對(duì)業(yè)務(wù)系統(tǒng)造成太大的壓力,影響現(xiàn)有業(yè)務(wù)。

 

目前增量數(shù)據(jù)抽取中常用的捕獲變化數(shù)據(jù)的方法有:

1.時(shí)間戳

    在源表上增加一個(gè)時(shí)間戳字段,當(dāng)系統(tǒng)中更新修改表數(shù)據(jù)的時(shí)候,同時(shí)修改時(shí)間戳字段。當(dāng)進(jìn)行數(shù)據(jù)抽取的時(shí)候,通過(guò)時(shí)間戳來(lái)抽取增量數(shù)據(jù)。

     優(yōu)點(diǎn):性能比較好。ETL系統(tǒng)設(shè)計(jì)清晰,源數(shù)據(jù)抽取相對(duì)清楚簡(jiǎn)單,可以實(shí)現(xiàn)數(shù)據(jù)的遞增加載。

      缺點(diǎn):對(duì)業(yè)務(wù)系統(tǒng)要求較高,需要添加時(shí)間戳字段。

                   無(wú)法獲取到時(shí)間戳以前數(shù)據(jù)的delete操作和update操作,在數(shù)據(jù)準(zhǔn)確性上受到了一定的限制。

2.觸發(fā)器方式(又稱快照式)

      在抽取表上建立需要的觸發(fā)器,一般需要建立插入、修改、刪除三個(gè)觸發(fā)器,每當(dāng)表中的數(shù)據(jù)發(fā)生變化時(shí),就被相應(yīng)的觸發(fā)器將變化寫入一個(gè)臨時(shí)表,抽取線程從臨時(shí)表中抽取數(shù)據(jù),臨時(shí)表中抽取過(guò)的數(shù)據(jù)被標(biāo)記或刪除。

       優(yōu)點(diǎn):數(shù)據(jù)抽取性能高,ETL加載規(guī)則簡(jiǎn)單,速度快,不需要修改業(yè)務(wù)系統(tǒng)表結(jié)構(gòu),可以實(shí)現(xiàn)數(shù)據(jù)的遞增加載。

       缺點(diǎn):要求業(yè)務(wù)表建立觸發(fā)器,對(duì)業(yè)務(wù)系統(tǒng)有一定的影響。

3.全量刪除插入方式

     每次先清空目標(biāo)表數(shù)據(jù),然后全量加載數(shù)據(jù)。

        優(yōu)點(diǎn):加載規(guī)則簡(jiǎn)單,速度快。

        缺點(diǎn):出現(xiàn)問(wèn)題不容易查詢,性能慢

4.全表比對(duì)方式

5.日志表方式

      在業(yè)務(wù)系統(tǒng)中添加系統(tǒng)日志表,當(dāng)業(yè)務(wù)數(shù)據(jù)發(fā)生變化時(shí),更新維護(hù)日志表內(nèi)容,當(dāng)作ETL加載時(shí),通過(guò)讀日志表數(shù)據(jù)決定加載哪些數(shù)據(jù)及如何加載。

        優(yōu)點(diǎn):不需要修改業(yè)務(wù)系統(tǒng)表結(jié)構(gòu),源數(shù)據(jù)抽取清楚,速度較快??梢詫?shí)現(xiàn)數(shù)據(jù)的遞增加載。

        缺點(diǎn):日志表維護(hù)需要由業(yè)務(wù)系統(tǒng)完成,需要對(duì)業(yè)務(wù)系統(tǒng)業(yè)務(wù)操作程序作修改,記錄日志信息。日志表維護(hù)較為麻煩,對(duì)原有系統(tǒng)有較大影響。工作量較大,改動(dòng)較大,有一定風(fēng)險(xiǎn)。

目前我們用的就是時(shí)間戳方式,采取T+1取數(shù)方式,即今天凌晨獲取昨天的業(yè)務(wù)數(shù)據(jù),然后將昨天的業(yè)務(wù)數(shù)據(jù)的增量抽取過(guò)來(lái)。

這種方式性能比較好,但是delete和update操作時(shí),不容易獲取,因此出現(xiàn)過(guò)幾個(gè)錯(cuò)誤。再就是,對(duì)于時(shí)效性來(lái)說(shuō),一定要保證時(shí)間戳的抽取正確。

 

三、目前常用的加載策略有如下幾種:
1) trunctae and insert.直接清空目標(biāo)表,然后把新的數(shù)據(jù)加載進(jìn)去。(日全量規(guī)則經(jīng)常采用此方法)
2) deldte and insert.先根據(jù)規(guī)則清除當(dāng)天的記錄,然后把當(dāng)天的新數(shù)據(jù)追加進(jìn)去。(日增量規(guī)則經(jīng)常采用此方法)
3) update and insert.用新數(shù)據(jù)與目標(biāo)表中的歷史數(shù)據(jù)進(jìn)行比較,有變化的則更新,新記錄則直接插入到目標(biāo)表中。(暫時(shí)沒有用到)
4) keep history change.保持歷史的變化,通常是拉鏈記歷史的方式實(shí)現(xiàn)。(暫時(shí)沒有用過(guò))

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多