1. 程式人生 > >資料倉庫增量資料獲取方式解決方案

資料倉庫增量資料獲取方式解決方案

我們通常所說的增量資料,其實更確切的說,應該是變數資料,包括對資料的增加、修改和刪除。特別是當有些系統存在物理刪除資料的情況時,這一點尤為重要。

    從各源系統獲取增量資料,是DW/BI類相關應用所必需的環節,那麼從源系統獲取增量資料的方式究竟有哪些呢?哪些又是我們經常使用的呢?下面我們就來簡單介紹介紹:

    這第一種可以是由源系統在資料處理過程當中由應用程式直接記錄增量資料,產生增量資料檔案。這種做法對源系統的效率會有較大影響,需要改造源系統的應用(植入獲取增量資料的程式)所以如果源系統方比較強硬的話不同意植入,甚至源系統與DW系統不是一家單位的那就更無法讓你植入了。

      第二種

由源系統在日終時按照資料的邏輯規則(如業務日期)識別增量資料,產生增量資料檔案。這種做法不影響源系統的日間處理效率,需要開發新的增量資料解除安裝應用,能夠比較有效的識別源系統中的增量資料。這是目前採取的比較多的方式。但是如果存在不經過應用而物理刪除資料的情況,則無法識別(日積月累將導致資料倉庫出現歷史髒資料)

         第三  利用資料庫系統的機制,在源系統中增加設定(如trigger,mvcdc),在日間資料處理過程中由資料庫系統識別增量資料,然後再通過應用加工得到增量檔案。這種方式對日間處理的效率會有一定的影響,但通常都可以接受,對增量的識別會非常全面,但識別出來的增量資料往往含有大量的過程資料,特別是當同一資料被多次修改時,會產生大量的冗餘資料,這是這種方式的一個缺點,需要通過應用加以合併取得該資料的最終狀態。這種方式的一個優點,是可以識別出繞過應用直接對資料庫所作的修改,包括直接物理刪除的內容,這是前一種方式難以做到的。這種方式也是目前比較常見的一種方式,但需要對相關的設定和使用方法非常熟悉。

         第四  資料比對。將源系統當日的資料與昨日的資料進行比較,識別出差異部分作為增量資料,如果需要識別出被物理刪除的資料,由於不同的實現方式這種比對可能需要執行兩次,一次是找出源系統當日增加和修改了的資料,另一次是找出源系統中當日被刪除的資料。這種比對需要首先將源系統的全量資料解除安裝,然後進行全量資料的比對,效率是一個主要的問題。這種方式據說也有采用,但好像不多。

         第五 資料複製。如果目標資料庫與源資料庫是同構的,還可以利用資料庫系統的複製機制直接獲得增量資料並應用到目標資料庫中。不同資料庫廠商的複製機制不盡相同,對源系統效率的影響通常都可以接受,但複製本身的效率是需要特別關注的,而且還需要考察複製機制下的中斷恢復能力。據說目前這種做法在某些領域也有應用。

    第六 依賴RDBMS的日誌,對事務資料庫的日誌檔案進行分析,這種辦法的成本太高並且要求也比較專業,一般不太適用。

相關推薦

資料倉庫增量資料獲取方式解決方案

我們通常所說的增量資料,其實更確切的說,應該是變數資料,包括對資料的增加、修改和刪除。特別是當有些系統存在物理刪除資料的情況時,這一點尤為重要。     從各源系統獲取增量資料,是DW/BI類相關應

TortoiseSVN資料夾沒有綠色對號(√)的解決方案

配置好TortoiseSVN之後,從SVN上面check out程式碼之後,發現檢出的專案上沒有綠色的對號(√)標識,這是為什麼呢??? 如下圖所示,我們點選不顯示對號的專案,右鍵----tortoiseSVN----settings 然後點選進入,可以看到icon set,圖示集,然

vue陣列中資料變化但是檢視沒有更新解決方案

原文連結:http://www.cnblogs.com/sufubo/p/6906261.html#undefined 問題:在vue專案中,我更改陣列中的某一條資料,直接arr[i]=newVal ,發現頁面上陣列沒有實時重新整理; 檢視官網發現: 陣列更新檢測 變異方法 Vue 包含一組觀察陣列

【運維心得】查得到資料頁面卻不顯示的解決方案

今天工作中碰到一個詭異的問題,如下圖,明明查出來是有31條資料,但是頁面上缺沒有顯示? 一開始認為是js的問題,前臺介面程式碼過濾了一遍,結果發現很簡單,沒有發現什麼問題,如下: sortOrder: 'desc', pagination: true, pageNum

webservice介面實現資料共享的實現的初步解決方案(更新、刪除)

一、伺服器A和伺服器B為對方設定專門的資料庫查詢介面,通過SOAP或者HTTP協議形成相互通訊的功能。 資料編輯操作實現伺服器相互通訊的功能示例(伺服器A和伺服器B):伺服器A為伺服器提B供web service專用服務介面,在使用者進行資料編輯(伺服器A端的訊息)操作動作訊息的時候,伺服器

android 資料變化時notifyDataSetChanged 無效的解決方案

之所以這樣做是因為adapter初始化時就綁定了資料集合的地址,所以adapter只關心原地址所指向的資料有沒有改變,只有原地址所指向的資料發生變化,呼叫notifyDataSetChanged 才有效。

雲端資料儲存---Ceph是統一儲存解決方案

Ceph是統一儲存解決方案 從儲存供應商的角度來看,統一儲存被定義為從單一平臺訪問基於檔案的網路連線儲存(NAS)和基於塊的儲存區域網路(SAN)。 NAS和SAN技術在20世紀90年代末和2000年初開始流行,但是當我們展望未來時,我們確信傳統的專有NAS和SAN技術可以在50年後管理儲存

mysql大資料分庫和分表 php解決方案

當Mysql資料量過大時,就會面臨壓力分解,這時分庫分表是一個不錯的解決方案,現在我們就來談談Mysql如何分庫分表比較理想,然後再用php如何呼叫。1,主從複製,讀寫分離對主庫修改資料,查詢使用從庫。一主多從,來降低資料庫讀取壓力。2,分庫分表根據實體業務來分

表單提交資料到控制器出現亂碼的解決方案

1、當前端頁面使用get的提交方式提交資料時,引數轉化為URL中的引數,即:“?paramName1=paramvalue1&paramName2=paramVlaue2”。此時在控制器中使用request.getParameter()方法獲取資料時出現亂碼是因為在客戶端進行編碼時使

AJAX傳輸資料的中文亂碼之完全解決方案

[解決方法一] 以前我曾經貼過一篇用XMLHTTP Post Form 的帖子,那裡的程式碼中我Post E文的Value毫無問題,但是後來發現Post含有中文的表單時會出現亂碼,原因當然是UTF-8 和GB2312 之間的轉換問題了!TNND,打倒GB2312!大家都

R語言之資料處理難題的一套解決方案

用R進行資料處理 來源:現在有這樣一些資料:期末考試結束後,學生各科成績出來了,如何對學生進行評級並將評級結果排序展示?通過以下用R來實現的解決方案,不僅可以學習到R語法相關知識,還能學習到資料處理的思路,而後者明顯讓我們受益更多。下面轉入正題: 第一步:給

智慧機場大資料視覺化分析系統建設解決方案

智慧機場建設是智慧社會和交通強國建設的交會點,機場建設少不了各種資料分析,智慧機場大資料視覺化分析系統尤為重要。建設機場資料分析系統,將實現對資料的最優管理,服務更優,運營更佳。 機場的資料資訊資源包括航班保障資料、旅客資料、面部識別資訊、APP、GIS、流量入口、RFID行李追蹤資料等。智慧機場大資料視覺

利用Python進行資料分析 中的問題與解決方案彙總

</pre><span style="font-size:18px">1.<span style="color:rgb(85,85,85); font-family:'microsoft yahei'; line-height:35px"&g

SVN資料夾圖示不正常顯示解決方案(win10)android studio

在使用Android Studio提交程式碼時發現svn圖示莫名其妙的不顯示,其他操作都正常。在網上搜了一堆資料都有各種說法,結合了操作,一步步來試終於給我找到了,在這我自己總結一下,一部分也是拷貝別的圖片,寫一篇清楚文章好希望能幫助和我遇到這種問題的人。以下步驟:解決方法一(失敗):1.升級最新版本,我的本

springboot配置多種型別多資料來源(mysql+postgresql+presto(資料倉庫))yml方式整合分頁

宣告:此處示例為mysql和postgresql資料庫和presto 三種類型資料庫源mysql與postgresql都屬於資料庫所以這裡簡寫只配置postgresql庫presto是資料倉庫在配置資料來源測試時會遇到很多坑,等下詳細描述首先宣告:我專案的springboot

使用torchvision下載外網資料集mnist沒有進度的解決方案

我試著使用torchvison下載mnist資料集,但是由於是外國的站點,相信不只是mnist資料集,其他的資料集也可能遇到下載不了或者下載速度很慢的情況。 但是呢,很多人已經從外國的網站下載過了,你再下載它們共享的資源就可以下載成功,接下來你可以手工的把下載好的資料集放到

filebeat採集資料的幾個痛點的解決方案

1.行轉列 filebeat採集多行日誌的時候會把日誌分開來採集,這樣傳遞到logstash的時候就無法正確解析了,所以用把多行日誌統一採集。 這時候可以使用:multiline配置選項。 multiline:適用於日誌中每一條日誌佔據多行的情況,比如各

ORA-03113: 通訊通道的檔案結尾以及用備份的資料檔案恢復原資料庫的解決方案

環境:win 2003 + oracle 10g 情景: 2013年4月7號晚上20點30分左右,資料庫伺服器莫名down了,開發人員嘗試啟動instance,報錯ORA-01034: ORACLE not availableORA-27101: shared memor

一個真實資料集的完整機器學習解決方案(上)

更多精彩內容,歡迎關注公眾號:數量技術宅。想要獲取本期分享的完整策略程式碼,請加技術宅微信:sljsz01 引言 我們到底應該怎麼學會、靈活使用機器學習的方法?技術宅做過小小的調研,許多同學會選擇一本機器學習的書籍,或是一門機器學習的課程來系統性地學習。而在學完書本、課程後,並不清楚如何將這些理論、技術應

Android實現推送方式解決方案

都是 device andro broker dev 常見 剛才 設置 互聯網  本文介紹在Android中實現推送方式的基礎知識及相關解決方案。推送功能在手機開發中應用的場景是越來起來了,不說別的,就我們手機上的新聞客戶端就時不j時的推送過來新的消息,很方便的閱讀最新的新