敏捷開發案例:用白板解決專案管理和團隊溝通

gudesheng發表於2008-01-03

資料抽取技術:

1 靜態資料捕獲
  用於一、資料倉儲初時化時,二、需要完全修改的資料

2 增量資料捕獲

    (1)# 通過交易日誌,或資料庫日誌,包括諸如Oracle的Flashback query等日誌捕獲。可以使用 diff 工具幫助分析差異
    (2) 從資料庫觸發器中捕獲:觸發器將資訊寫在一張增量資料變化表內(包括刪除的資訊)。其它整合元件定期讀取該表。
    (3) 基於日期和時間標記的捕獲 / 類似的包括基於絕對自增id的捕獲:無法解決刪除問題
        Oracle 10g以上版本和MS-SQLServer類似,有一個rowVersion,也可做類似的時間標記
        如果某些源資料沒有這些欄位,那可以考慮再不破壞原有表的基礎上增加一些上述的標記欄位。可以先諮詢源系統開發商。
    (4) 對於擁有集合運算函式資料庫例如oracle擁有minus,可以根據一些主鍵做集合運算,將差異結果存到單獨的表中供其它程式讀取。
    (5)# 通過全表掃描比較來捕獲:比較源資料的兩個快照。當資料特別大時,效能成為問題。這是對於沒有(3)中欄位,且其它方法都不可

用時候的最差選擇。可以充分利用各種分段掃描演算法。
    (6)# 從源應用程式中捕獲:修改源應用程式碼

   (7)定製自己的jdbc驅動程式:法一,直接修改或重寫驅動程式。法二,使用AOP技術對現有的驅動程式的介面進行weaver,對捕獲的SQL進行分析處理。

#表示通常很少使用

 

歡迎大家補充。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1431871


相關文章