1. 程式人生 > >ETL 抽取方案

ETL 抽取方案

  •     資料抽取
    資料抽取是從資料來源中抽取資料的過程。實際應用中,資料來源較多采用的是關係資料庫。
    從資料庫中抽取資料一般有以下幾種方式:
    2.1.1 全量抽取
    全量抽取類似於資料遷移或資料複製,它將資料來源中的表或檢視的資料原封不動的從數
    據庫中抽取出來,並轉換成自己的ETL 工具可以識別的格式。全量抽取比較簡單。
    2.1.2 增量抽取
    增量抽取只抽取自上次抽取以來資料庫中要抽取的表中新增或修改的資料。在ETL 使
    用過程中,增量抽取較全量抽取應用更廣。如何捕獲變化的資料是增量抽取的關鍵。對捕獲
    方法一般有兩點要求:準確性,能夠將業務系統中的變化資料按一定的頻率準確地捕獲到;
    效能,不能對業務系統造成太大的壓力,影響現有業務。目前增量資料抽取中常用的捕獲變
    化資料的方法有:
    2.1.2.1 觸發器方式(又稱快照式):
    在要抽取的表上建立需要的觸發器,一般要建立插入、修改、刪除三個觸發器,每當源
    表中的資料發生變化,就被相應的觸發器將變化的資料寫入一個臨時表,抽取執行緒從臨時表
    中抽取資料,臨時表中抽取過的資料被標記或刪除。
    優點:資料抽取的效能高,ETL 載入規則簡單,速度快,不需要修改業務系統表結構,
    可以實現資料的遞增載入。
    缺點:要求業務表建立觸發器,對業務系統有一定的影響。
    2.1.2.2 時間戳方式:
    它是一種基於快照比較的變化資料捕獲方式,在源表上增加一個時間戳欄位,系統中更
    新修改表資料的時候,同時修改時間戳欄位的值。當進行資料抽取時,通過比較系統時間與
    時間戳欄位的值來決定抽取哪些資料。有的資料庫的時間戳支援自動更新,即表的其它欄位
    的資料發生改變時,自動更新時間戳欄位的值。有的資料庫不支援時間戳的自動更新,這就
    要求業務系統在更新業務資料時,手工更新時間戳欄位。
    優點:同觸發器方式一樣,時間戳方式的效能也比較好,ETL 系統設計清晰,源資料抽
    取相對清楚簡單,可以實現資料的遞增載入。
    缺點:時間戳維護需要由業務系統完成,對業務系統也有很大的傾入性(加入額外的時
    間戳欄位),特別是對不支援時間戳的自動更新的資料庫,還要求業務系統進行額外的更新
    時間戳操作,工作量大,改動面大,風險大;另外,無法捕獲對時間戳以前資料的delete
    和update 操作,在資料準確性上受到了一定的限制。
    2.1.2.3 全表刪除插入方式
    每次ETL 操作均刪除目標表資料,由ETL 全新載入資料。
    優點:ETL 載入規則簡單,速度快。
    缺點:對於維表加代理鍵不適應,當業務系統產生刪除資料操作時,綜合資料庫將不會
    記錄到所刪除的歷史資料,不可以實現資料的遞增載入;同時對於目標表所建立的關聯關係,
    需要重新進行建立。
    2.1.2.4 全表比對方式:
    全表比對的方式是採用MD5 校驗碼,ETL 工具事先為要抽取的表建立一個結構類似的
    MD5 臨時表,該臨時表記錄源表主鍵以及根據所有欄位的資料計算出來的MD5 校驗碼,
    每次進行資料抽取時,對源表和MD5 臨時表進行MD5 校驗碼的比對,如有不同,進行
    Update 操作,如目標表沒有存在該主鍵值,表示該記錄還沒有,即進行Insert 操作。
    優點:對已有系統表結構不產生影響,不需要修改業務操作程式,所有抽取規則由ETL
    完成,管理維護統一,可以實現資料的遞增載入,沒有風險。。
    缺點:ETL 比對較複雜,設計較為複雜,速度較慢。與觸發器和時間戳方式中的主動通
    知不同,全表比對方式是被動的進行全表資料的比對,效能較差。當表中沒有主鍵或唯一列
    且含有重複記錄時,全表比對方式的準確性較差。
    2.1.2.5 日誌表方式
    在業務系統中新增系統日誌表,當業務資料發生變化時,更新維護日誌表內容,當作
    ETL 載入時,通過讀日誌表資料決定載入那些資料及如何載入。
    優點:不需要修改業務系統表結構,源資料抽取清楚,速度較快。可以實現資料的遞增
    載入。
    缺點:日誌表維護需要由業務系統完成,需要對業務系統業務操作程式作修改,記錄日
    志資訊。日誌表維護較為麻煩,對原有系統有較大影響。工作量較大,改動較大,有一定風
    險。
    2.1.2.6 Oracle 變化資料捕捉(CDC 方式):
    通過分析資料庫自身的日誌來判斷變化的資料。Oracle 的改變資料捕獲(CDC,
    Changed Data Capture)技術是這方面的代表。CDC 特性是在Oracle9i 資料庫中引入
    的。CDC 能夠幫助你識別從上次抽取之後發生變化的資料。利用CDC,在對源表進行
    insert、update 或 delete 等操作的同時就可以提取資料,並且變化的資料被儲存在資料
    庫的變化表中。這樣就可以捕獲發生變化的資料,然後利用資料庫檢視以一種可控的方式提
    供給目標系統。CDC 體系結構基於釋出者/訂閱者模型。釋出者捕捉變化資料並提供給訂閱
    者。訂閱者使用從釋出者那裡獲得的變化資料。通常,CDC 系統擁有一個釋出者和多個訂
    閱者。釋出者首先需要識別捕獲變化資料所需的源表。然後,它捕捉變化的資料並將其儲存
    在特別建立的變化表中。它還使訂閱者能夠控制對變化資料的訪問。訂閱者需要清楚自己感
    興趣的是哪些變化資料。一個訂閱者可能不會對釋出者釋出的所有資料都感興趣。訂閱者需
    要建立一個訂閱者檢視來訪問經發布者授權可以訪問的變化資料。CDC 分為同步模式和異
    步模式,同步模式實時的捕獲變化資料並存儲到變化表中,釋出者與訂閱都位於同一資料庫
    中;非同步模式則是基於Oracle 的流複製技術。
    優點:提供了易於使用的API 來設定CDC 環境,縮短ETL 的時間。不需要修改業務系統
    表結構,可以實現資料的遞增載入。
    缺點:業務系統資料庫版本與產品不統一,難以統一實現,實現過程相對複雜,並且需
    深入研究方能實現,CDC 產品推出時間短,難免存在BUG。
  • 相關推薦

    ETL 抽取方案

        資料抽取 資料抽取是從資料來源中抽取資料的過程。實際應用中,資料來源較多采用的是關係資料庫。 從資料庫中抽取資料一般有以下幾種方式: 2.1.1 全量抽取 全量抽取類似於資料遷移或資料複製,它將資料來源中的表或檢視的資料原封不動的從數 據庫中抽取出來,並

    Oracle BI基礎之ETL資料增量抽取方案

    一篇好文見百度文庫: 一、 ETL 簡介 資料整合是把不同來源、格式和特點的資料在邏輯上或物理上有機地集中,從而提供全面的資料共享,是企業商務智慧、資料倉庫系統的重要組成部分。ETL 是企業資料整合的主要解決方案。 隨著資訊化建設的發展,巨大的投資為公安行業建立

    ETL增量抽取方案

    一、.ETL體系結構     資料庫--->抽取---> 轉換--->載入--->目的資料來源 二、ETL抽取方案    1).全量抽取         全量抽取類似於資料遷移或資料複製,它將資料來源中的表或檢視的資料原封不動的從資料庫中抽

    ETL抽取工具informatica powercenter designer例項(一)

    一、           安裝配置 安裝好Informatica 首先,需配置一下修改配置檔案路徑為 地址:C:\Windows\System32\drivers\etc 將“10.10.23.112 BIEE”複製到後面。 (注:第二個ip地址哪裡,要在hots檔案加

    ETL抽取工具informatica powercenter designer例項(二)

    一、           建立任務Task 1.        建立一個任務(session).下圖命名有誤應該為S_ 而非WF_。 點選“W”圖示,進入任務定義。 任務中Sessions命名:S_分省標識_表名。 任務中WorkFlows命名: WF_表格 9.1:建立

    Pentaho Kettle解決方案:使用PDI構建開源ETL解決方案pdf

    第一部分:開始 第1章 ETL入門............................................ 2 1.1 OLTP和資料倉庫對比 ..................................... 2 1.2 ETL是什麼 .......................

    Kettle解決方案: 第一章ETL入門

    目標 和數 連接 商業智能 data- 克隆 敏捷方法 變更 用戶 第一章ETL入門1.1 OLPT和數據倉庫對比普通的事務系統和商業智能系統(BI)有什麽區別?1個獨立的普通事務系統也被稱為在線事務處理系統(OLTP)商業智能系統也常被稱為決策支持系統(DSS)OLTP和

    ETL工具kettle怎麽進行增量數據抽取:一、通過標誌位

    text term ESS log 繼續 需要 roc 默認值 RoCE 在平時的操作過程中可能大家需要經常進行增量的數據抽取,方法有很多種,接下來幾天講給大家介紹幾種我本人經常使用的幾種方式;首先給大家介紹我最喜歡的一種,就是通過標誌位;操縱方法如下,在源表中增加一個標識

    ETL工具kettle怎麽實現增量數據抽取:二 時間戳

    字段 ima 數據抽取 最好 工具 water 增量 -o ket 再進行增量數據抽取的時候,通過標誌位來進行之外,還可以通過時間戳,所謂的時間戳就是某個時間字段,最好每條記錄的該字段都是非空的;這種方法很簡單,就是在輸入的時候增加where條件;where條件語句就是一個

    1.使用spoon進行資料轉換,抽取過程如下,,,,大資料元件之ETL

    轉換過程如下: 2018/11/19 17:03:43 - Spoon - Using legacy execution engine 2018/11/19 17:03:43 - areacheckdaily - 轉換已經從資源庫預先載入. 2018/11/19 17:03:43 - Sp

    一個較為詳細的ETL系統實現方案

    1 ETL流程及排程設計(ETL Schedule)(PSP) 1. ETL排程的目標 快速見效系統要抽取39家分行四個系統的資料進行加工處理,資料從下傳檔案到ODS庫,ODS庫到LDM,再計算PI值和彙總PI,整個ETL處理過程需按一定步驟和滿足某些條件進行,某些關鍵的檔案

    Android中實現「類方法指令抽取方式」加固方案原理解析

    一、前言Android中加固方案一直在進步,因為新的加固方案出來就會被人無情的破解脫殼了,從第一代加固方案落地加密dex檔案,第二代加固方案不落地加密dex檔案,在到第三代加固方案類方法抽取,以後後面的

    ETL(kettle)實戰三:資料抽取規範

    寫在前面:上一篇談到的規則及這一篇談到的規範都是本人的經驗總結,不代表一定正確。 kettle開發規範: 1. 對於會發生變化的因素要用變數替換,不能寫死。根據需求嚴格區分在未來哪些有可能變化的,哪些一定會變化的及哪些是不變的,如做增量資料抽取時,增量的時間範圍未來就是有

    《BI專案筆記》增量ETL資料抽取的策略及方法

    增量抽取 增量抽取只抽取自上次抽取以來資料庫中要抽取的表中新增或修改的資料。在ETL使用過程中。增量抽取較全量抽取應用更廣。如何捕獲變化的資料是增量抽取的關鍵。對捕獲方法一般有兩點要求:準確性,能夠將業務系統中的變化資料按一定的頻率準確地捕獲到;效能,不能對業務系統造成太大的壓力,影響現有業務。目前增量資料抽

    豌豆莢應用市場上傳時提示“抽取icon失敗”解決方案

    轉載請註明出處 http://blog.csdn.net/u014513456/article/details/53646034 背景:APP開發完畢後,渠道包給運營同學,在上傳豌豆莢市場時報錯“您的應用抽取Icon失敗,請技術人員確認Icon

    Flume抽取SQL Server設計方案具體實現(二)觸發器

    上一篇將瞭如何使用Flume收集SQL server Board中的新增資料進行處理,如下針對更新的資料進行分析需求:對Board表更新的資料進行處理1.建立一個存更新資料的表Tri_Board_Update,表結構基本和原表機構一樣,但需要新增Update_id(唯一標識列

    增量ETL資料抽取的策略及方法

    這是很久以前在處理增量時的老文章,近年實施大量專案中的經驗處理方式是往往不得已時才採取增量處理的方式。而更多采用的方式是嚴格控制操作資料視窗,在滿足業務限制及分析需求的前提下力求資料更新視窗最小化,這種最簡單的策略反而被證明是一種簡單、快速、高效的做法。以下是舊文: 增

    TDH大數據平臺數據入庫方案

    ins 驅動 dbm 上傳 sql 不同的 ext 服務 oracl 一、數據入庫方式 目前批量數據入庫TDH大數據平臺主要有如下幾種方式 1、手工入錄 一些靜態表手工維護的數據,可以直接采用insert導入,或者使用waterdrop客戶端工具導入,只適用少數據量的導入

    端口占用解決方案大全,最方便快速的解除端口被占用,強制解除占用端口

    強制解除端口占用 切換mysql windows 綠色環境搭建 解除端口占用 強制解除端口占用可以使用我最新開發的新版本PHPWAMP8.8.8.8(截止目前最新版)PHPWAMP最新版支持自定義Mysql版本和自定義PHP版本,是目前唯一集成了VC運行庫的真正純綠色軟件。最新版PHPWA

    動態規劃背包問題 洛谷P1064 金明的預算方案

    輸出 ret 設計 div 輸入輸出 style 乘號 輸入輸出格式 sin P1064 金明的預算方案 題目描述 金明今天很開心,家裏購置的新房就要領鑰匙了,新房裏有一間金明自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說:“你的房間需要購買哪些物品,怎麽布置,你