1. 程式人生 > >資料實時同步或抽取上收的技術分析

資料實時同步或抽取上收的技術分析

1           實現資料集中的技術手段分析比較

根據業界提供資料同步或抽取的解決方案來看,主要包括以下幾大類:

l         儲存複製技術

l         資料庫複製技術

l         ETL抽取技術

1.1         儲存複製技術

實現原理

儲存複製技術主要由磁碟陣列複製技術、主機卷複製技術以及一些檔案複製技術。

儲存複製方案的技術核心是利用儲存陣列自身的盤陣對盤陣的資料塊複製技術實現對生產資料的遠端拷貝,從而實現生產資料的災難保護。在主資料中心發生災難時,可以利用災備中心的資料在災備中心建立運營支撐環境,為業務繼續運營提供IT支援。同時,也可以利用災備中心的資料恢復主資料中心的業務系統,從而能夠讓企業的業務運營快速回復到災難發生前的正常運營狀態。

基於儲存的複製方案有兩種方式:同步方式和非同步方式,說明如下: 同步方式,可以做到主/備中心磁碟陣列同步地進行資料更新,應用系統的I/O寫入主磁碟陣列後(寫入Cache中),主磁碟陣列將利用自身的機制(如EMC的SRDF/S)同時將寫I/O寫入後備磁碟陣列,後備磁碟陣列確認後,主中心磁碟陣列才返回應用的寫操作完成資訊。 非同步方式,是在應用系統的I/O寫入主磁碟陣列後(寫入Cache中),主磁碟陣列立即返回給主機應用系統“寫完成”資訊,主機應用可以繼續進行讀、寫I/O操作。同時,主中心磁碟陣列將利用自身的機制(如EMC的SRDF/A)將寫I/O寫入後備磁碟陣列,實現資料保護。 採用同步方式,使得後備磁碟陣列中的資料總是與生產系統資料同步,因此當生產資料中心發生災難事件時,不會造成資料丟失。為避免對生產系統性能的影響,同步方式通常在近距離範圍內(FC連線通常是200KM範圍內,實際使用者部署多在35KM左右)。 而採用非同步方式應用程式不必等待遠端更新的完成,因此遠端資料備份的效能的影響通常較小,所以一般可以到100KM左右。

採用基於儲存資料複製技術建設複製方案的必要前提是:

l         通常必須採用同一廠家的儲存平臺,通常也必須是同一系列的儲存產品,給使用者的儲存平臺選擇帶來一定的限制。

l         複製中心的主機平臺也需要和生產中心為相同型別。

l         採用同步方式可能對生產系統性能產生影響,而且對通訊鏈路要求較高,有距離限制,通常在近距離範圍內實現(同城複製或園區複製方案)

因此,採用基於儲存的資料複製技術建設複製系統是目前金融電信企業採用較多的複製方案,因為這些行業具有很好的網路頻寬資源,而且其資料量非常龐大,第三就是這些資料複製的主要目的就是災難恢復,而重點不在於資料的再利用。

優缺點分析

儲存複製技術的優點:

l         支援所有資料型別複製。

l         可支援同步方式複製

儲存複製技術的缺點:

l         目標端資料不可用:目標端資料庫在複製過程中不能被開啟,造成大量投資浪費;

l         必需同構:源和目標必需要求相同的磁碟陣列、相同的作業系統、相同的資料庫版本;

l         只能全庫複製:複製的物件是整個資料庫

l         不能實現資料整合和資料分發;

l         頻寬高:要求獨佔的光纖網路,動輒需要上GB的頻寬。

l         距離有限制,不適合於全省範圍的多對一容災。

1.2         資料庫複製技術

資料庫複製技術是通過資料庫的日誌或者交易方式來進行資料同步的,代表性的產品例如DSG Realsync,QUEST Shareplex以及ORACLE DataGuard。

實現原理

資料庫複製技術的工作原理大都與oracle log相關,例如DSG Realsync資料庫複製產品就是通過對Oracle Log日誌進行分析獲取跟蹤源系統的交易指令,然後將交易指令傳到目標端進行重新執行的方式來實現資料複製的。

複製系統包括兩個部分組成:

- DS: Data Source端,即源系統端;

- DT:Data Target端,即目標系統端。

 

系統由安裝在Data Source端和Data Target上的Agent程序組成,Source端的Agent程序對ORACLE日誌進行監控,發現改變及時對目標資料庫進行更新。

當應用系統在Data Source端向資料庫進行任何操作時時,這些資訊都將在Redo Log中儲存,RealSync Agent通過對實時獲取的Log日誌進行分析,獲得本次操作的交易指令和交易資料,然後將這些交易指令和交易資料經過格式轉化生成xf1資料格式,並實時通過網路傳送到Data Target系統。

Data Target系統的RealSync Agent接收資料庫包,經過校驗碼檢查,確認正確的資料庫包後,呼叫Oracle函式按照交易的先後順序在Data Target系統中執行該交易。

優缺點分析

資料庫複製技術的優點:

l         異構系統複製:源端系統和目標端系統可以採用異構的作業系統平臺、儲存平臺;

l         支援選擇性複製:支援只複製指定的user、指定的Table、指定的行和列。節省儲存空間,提高應用靈活性;

l         支援1對多,多對1的複製結構:能夠將多個數據庫中的資料複製到一個數據庫中;能夠將一個數據庫中的不同資料分發到不同的資料庫中。

l         目標端資料可用:目標端資料庫在複製過程中出於可用狀態,可用作資料查詢、報表、資料抽取等任務分擔;

l         節約頻寬和網路資源:所需頻寬一般在幾Mbps,幾十Mbps。

l         實時性好:一般資料延遲可在秒鐘級;

資料庫複製技術的缺點:

l         只支援ORACLE資料庫系統。

l         只支援非同步複製,不支援同步方式。

1.3         ETL抽取技術

實現原理及定位

ETL即資料抽取(Extract)、轉換(Transform)、裝載(Load)的過程。它是構建資料倉庫的重要環節。資料倉庫是面向主題的、整合的、穩定的且隨時間不斷變化的資料集合,用以支援經營管理中的決策制定過程。

ETL工具實質上仍為一類資料轉換器,提供一種從源到目標系統轉換資料的方法。即從操作型系統提取、清洗並轉換資料,然後將資料載入決策支援系統的操作型資料儲存、資料倉庫或資料集市中。具體功能針對不同的資料來源編寫不同的資料抽取、轉換和載入程式處理,這完成了資料整合的大部分工作。總的來說,ETL工具提供了一種資料處理的通用解決方案。

優缺點分析

雖然ETL工具在一定程度上可實現資料的集中抽取,表面上看起來和資料複製軟體有些類似。但是該軟體的定位和重點和前兩類技術完全不同的:

首先,ETL的定位是在資料倉庫和業務系統之間搭建起一座橋樑,確保新的業務資料來源源不斷地進入資料倉庫;

其次,ELT工具的最複雜點在於其涉及到大量的業務邏輯和異構環境,因此在一般的資料倉庫專案中ETL部分往往也是牽扯精力最多的,因此其主要的難點在於資料的清晰轉換功能:欄位對映;對映的自動匹配;欄位的拆分;多欄位的混合運算;跨異構資料庫的關聯;自定義函式;多資料型別支援;複雜條件過濾;支援髒讀;資料的批量裝載;時間型別的轉換;對各種碼錶的支援;環境變數是否可以動態修改;去重複記錄;抽取斷點;記錄間合併或計算;記錄拆分;抽取的欄位是否可以動態修改;行、列變換;排序;統計;度量衡等常用的轉換函式;代理主鍵的生成;除錯功能;抽取遠端資料;增量抽取的處理方式;製造樣品資料;在轉換過程中是否支援資料比較的功能;資料預覽;效能監控;資料清洗及標準化;按行、按列的分組聚合等。

第三:ETL抽取的效能較低,因為該工具是通過資料庫的SQL介面來獲取資料的,因此其效能比較低。例如在某證券行業(對於1GB的資料,每天完成一次抽取需要幾個小時,而當時用DSG Realsync作一次同步只需要3-5分鐘)。

1.4         複製技術的推薦

經過上面的分析,我們可以看出幾種資料複製工具各有自己適合的場合:

l         儲存級複製技術:適合單純的資料容災,但不適合低頻寬,遠距離,以及不適合在備份中心實現資料的再利用;

l         資料庫複製技術:適合oracle資料庫的資料複製,可用於資料庫系統的備份、以及備份資料的再利用,在備份系統上開發新的業務模組。但是該技術以來於資料庫,所以一般都支援ORACLE資料庫;

l         ETL工具:適合於資料倉庫系統,尤其適合於資料抽取中需要進行資料清晰、轉換和運算的情況。但抽取的資料不適合作備份使用。

所以,為了滿足某省的備份和資料再利用雙重需求,我們建議選擇資料庫複製技術,DSG Realsync就是一款不錯的資料庫複製軟體。

2           DSG Realsync如何實現資料集中

2.1         系統結構

 

在11個地市的(財政、稅務徵管、社保、電力營銷、綜合警務)系統資料庫伺服器上(RAC環境下只安裝在一個伺服器上)安裝DSG RealSync代理程式,該程式對ORACLE資料庫產生的redo log進行實時分析,生成sql語句。並將sql語句通過IP網路傳輸到區中心。

在區中心上,需要配備資料庫伺服器,必要時再加上其他的應用伺服器(例如全省資料共享伺服器、災備切換接管伺服器等)。

在省中心,安裝一個ORACLE資料庫,建立11個使用者,每個使用者對應一個地市的系統,這樣就將11個地市的系統集中容災到一個數據庫上,只不過在集中資料庫上以不同的使用者存在。

省集中的資料查詢可通過建立聯合view的方式來完成,在省中心資料庫上再建立一個專門用於查詢的使用者,在該使用者下建立若干檢視(view),這些view的資料就來源於13個使用者下的表。

2.2         集中資料庫的功能

集中的資料庫可實現兩個功能:集中容災備份和資料集中共享。

集中容災備份

在本方案中採用DSG RealSync實現了多對一的容災結構,各地市將資料統一複製到省資料中心的一臺容災資料庫,每個地市在資料庫中對應一個使用者;

正常情況下各地市的資料可互不干擾的複製到省中心容災資料庫;

在某一地市發生災難資料丟失時,可在省中心以使用者的方式反向複製該地市的容災資料,最大程度的避免了資料的損失。

同時,當某個地市系統發生嚴重故障而無法在短期內修復時,可利用省中心的備份資料以及省中心的備用伺服器來臨時接管出現故障的地市。具體過程如下:

l         將省中心複製資料庫中對應使用者下的資料裝載到備用伺服器的資料庫上;

l         切換地市應用連線到省中心備用資料庫上,恢復業務執行;

l         當地市系統修復後,將省中心備用資料庫上的資料恢復到地市資料庫上;

l         將地市應用切換回到地市伺服器上。

資料集中共享

採用DSG RealSync容災技術的非常明顯的優勢還在於省中心集中資料庫一直處於open狀態,可以對省中心資料庫進行實時訪問,系統保持生產中心和災備中心的資料庫處於雙啟用狀態;

同時通過DSG Realsync軟體將11個地市的資料都集中到了一個數據庫平臺上,因此比較適合對這些資料進行統一查詢和使用。

第三、RealSync的複製延遲很小,從容災資料庫讀取到的資料是實時最新資料,

第四、集中的資料還可以為省中心的資料倉庫系統提供了ETL操作的資料來源。