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

分享

我們可以不再使用ETL了嗎?

 天下小糧倉 2019-10-22
目前來說是不行的,ETL任然是大數(shù)據(jù)時代下數(shù)據(jù)遷移不可缺少的

首先說一下什么是ETL,ETL是英文Extract-Transform-Load的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽?。╡xtract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程。ETL一詞較常用在數(shù)據(jù)倉庫,但其對象并不限于數(shù)據(jù)倉庫。也就是說幾乎所有的數(shù)據(jù)的移動都需要ETL的參與!



目前用到的ETL工具常見的有Datastage,informatica,kettle三種,前兩者是收費(fèi)的,并且占據(jù)了大多數(shù)國內(nèi)市場,而kettle是來源免費(fèi)的!但是在大數(shù)據(jù)量下Informatica 與Datastage的處理速度是比較快的,比較穩(wěn)定。Kettle的處理速度相比之下稍慢。所以很多公司尤其是金融機(jī)構(gòu)選Informatica 與Datastage。但是kettle由于是開源的所以有很強(qiáng)的擴(kuò)展性。



數(shù)據(jù)要想有價值,就必須把它進(jìn)行分析,挖掘出來它潛藏的價值,人們?nèi)粘;顒赢a(chǎn)生的數(shù)據(jù)一般是放在業(yè)務(wù)系統(tǒng)中,而在業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)是不能直接進(jìn)行分析處理的,這個時候我就得把這些數(shù)據(jù)搬運(yùn)到一個倉庫里,再進(jìn)行分析!也就是所說的數(shù)據(jù)倉庫,在而這個數(shù)據(jù)的搬運(yùn)工就是ETL,在搬運(yùn)的過程中我們還要做一些初步的清洗,去掉一些無用的不全的數(shù)據(jù),這也是ETL的功能!最后我們那這些處理過的數(shù)據(jù)進(jìn)行商業(yè)分析!這就是一個ETL的過程。



在數(shù)據(jù)就是價值的今天我們更加離不開ETL,當(dāng)然這個過程也在不斷的改進(jìn),運(yùn)用也越來越智能越來越方便

說到ETL,很多開發(fā)伙伴可能會有些陌生,我也是在近幾年的工作過程中才接觸到ETL的,現(xiàn)在的項目是比較依賴于ETL,可以說是項目中重要的一部分。

先看一看ETL是做什么用的:ETL是將各個業(yè)務(wù)系統(tǒng)的數(shù)據(jù),通過抽取、清洗、轉(zhuǎn)換之后,加載到數(shù)據(jù)倉庫的過程;ETL可以將分散、零亂、標(biāo)準(zhǔn)不統(tǒng)一的數(shù)據(jù)整合到一起。完整的ETL功能有很多(ETL是三個三次的縮寫...),我只從我實際使用的場景出發(fā),說明我對ETL的理解和實際應(yīng)用。

我接觸過的項目,使用ETL工具的場景有這個幾種:

報表、BI系統(tǒng):

  • 在公司建設(shè)的初期,業(yè)務(wù)比較少,系統(tǒng)也比較少,一臺數(shù)據(jù)庫就搞定了;

  • 隨著公司業(yè)務(wù)的增加,業(yè)務(wù)系統(tǒng)被拆成很多系統(tǒng);

  • 隨著數(shù)據(jù)量的繼續(xù)增加,單個系統(tǒng)的數(shù)據(jù)增加到一定程度的時候,也做了分庫分表;

  • 這時候領(lǐng)導(dǎo)、業(yè)務(wù)人員在用數(shù)據(jù)做分析的時候,數(shù)據(jù)來源可能是多個系統(tǒng)的多張表,這時候企圖通過一個復(fù)雜的SQL跑出來結(jié)果就很困難了;通常公司會建立一個數(shù)據(jù)倉庫,通過ETL工具把數(shù)據(jù)抽取到數(shù)據(jù)倉庫中,再做數(shù)據(jù)的擬合和展示。

跨系統(tǒng)的數(shù)據(jù)加工或查詢:

我們現(xiàn)在所在公司,業(yè)務(wù)系統(tǒng)有幾百個,由于業(yè)務(wù)流程比較復(fù)雜,前端系統(tǒng)在做業(yè)務(wù)操作的時候,在正式提交交易之前,有很多業(yè)務(wù)校驗;比如要查詢客戶在A系統(tǒng)的交易歷史,在B系統(tǒng)的交易歷史,在C系統(tǒng)的交易歷史;那么就需要分別調(diào)用A、B、C系統(tǒng)的接口,這個對前端系統(tǒng)很不友好,那么通常的解決方案是什么?

  • 學(xué)阿里,建中臺,、把A/B/C系統(tǒng)合并成一個大中臺,對外提供服務(wù);這種方法很好,但是非常難;很多公司,別說把A/B/C合成一個系統(tǒng)了,就是A系統(tǒng)本身的重構(gòu),都非常地困難;

  • 第二種方案,在前段系統(tǒng)和A/B/C系統(tǒng)之間,增加一層,可以叫做服務(wù)中臺,它的作用是整合A/B/C系統(tǒng)的服務(wù),然后對外提供一個服務(wù)給前端系統(tǒng)調(diào)用;好處是前端系統(tǒng)只需要調(diào)用服務(wù)中臺的一個接口即可;

  • 我們現(xiàn)在采用的是第三個方案,把A/B/C系統(tǒng)的數(shù)據(jù),通過ETL抽取到一起,并通過Java把數(shù)據(jù)提前加工好,保存到MongoDB中的同一個Collection中(利用了MongoDB數(shù)據(jù)結(jié)構(gòu)的特點(diǎn));再對外提供服務(wù)的時候,相當(dāng)于做了一次單表查詢,就可以查詢到三個系統(tǒng)的數(shù)據(jù);好處是可以調(diào)一個接口查出三個系統(tǒng)的數(shù)據(jù),并且緩解了三個系統(tǒng)的查詢壓力;

  • 當(dāng)然這個方案也有著一個很大的缺陷,就是有一定的延遲,需要根據(jù)業(yè)務(wù)場景進(jìn)行評估,是否接受這個延遲。

  • ETL的工具也有不少,我們現(xiàn)在使用的是Informatica,這是收費(fèi)的,開源的只接觸過Kettle;

  • 我們現(xiàn)在是根據(jù)數(shù)據(jù)表的時間戳,做增量抽取,在我看來,比較理想的方案是業(yè)務(wù)系統(tǒng)可以把數(shù)據(jù)“吐出來”,比如業(yè)務(wù)系統(tǒng)埋點(diǎn)發(fā)送MQ、MySQL可以監(jiān)聽binlog日志,不過在我們公司都非常難以實現(xiàn);

所以,至少在我們項目,ETL是很難被替換掉的。



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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多