Teradata遷移到GBase 8a解決方案
近日,Teradata宣布退出中國市場,這必將給國內數據庫倉庫市場帶來一定的機遇,國產數據倉庫的領先企業GBASE南大通用自主研發的GBase 8a MPP (GBase UP LDW)分布式邏輯數據倉庫,已經完成了100+用戶TeraData等國外數據庫替換遷移。通過眾多項目的PoC及后續簽約的實施,在替換Teradata產品方面,GBase 8a積累了豐富的實施經驗,形成了一套完整的遷移實施方案,可快速復制推廣,實現由teradata到GBase 8a的高精準遷移。
下面根據GBase 8a的遷移經驗,從上到下對遷移方案進行闡述:
一、先看一個項目遷移后的實施效果
搭建兩套A(7節點)、B(14節點)集群承載主要業務
SGA、ODS、F、DW、DM各層整體數據量200+TB
完成1000+個程序遷移工作
日增量基礎數據每日 7:00 前完成
月度報表在每月 3 日前完成數據發布
整體性能提升 2~10 倍
二、項目遷移流程是遷移工作的指導框架,可有效組織遷移工作的有序開展,主要流程步驟如下圖:
三、項目遷移前期調研及遷移方案設計,主要進行遷移前的調研評估,以及用來進行指導遷移落地執行的遷移方案形成。內容包括如下幾點:
1、遷移前期調研內容及要點
調研的重點是了解客戶需求和當前的痛點,遷移后要有針對性的給客戶提供改善的方案!
遷移實施調研
遷移實施調研是遷移項目的重要工作環節,此部分為項目實施不可省略環節
遷移實施調研根據項目售前階段的推進情況可能在簽約前進行也可以在簽約后進行
遷移實施調研的目標
了解項目遷移實施范圍
評估遷移工作量、實施工期、人員數量及能力要求
評估遷移技術難點、項目主要風險
遷移實施調研的內容
遷移系統現狀:架構、配置、上下游情況、倉庫邏輯設計
系統運行狀況:應用場景、作業類型、負載情況、ETL加工整體流程、作業數、并發情況、加工時間
系統指標要求:不同類型作業的指標要求,如跑批業務的時間窗口要求、即席查詢的響應時間要求、并發能力要求等
接口情況:上游入庫方式、下游供數方式、第三方工具支持要求
2、遷移方案設計
遷移方案是根據遷移調研的結果,并針對客戶當前的需求和痛點制定的項目實施方案,主要包括:
遷移系統的硬件配置和部署方案
針對客戶需求和痛點提供的針對性解決方案
遷移實施的步驟和工作內容
工作計劃
3、硬件資源評估
替換TD的GBase 8a集群的硬件配置評估方式采用倒推的方法,即首先需要獲取TD的詳細配置信息,之后再根據TD一體機的CPU整體核數、內存容量、磁盤容量倒推GBase 8a集群單臺服務器的配置以及配置服務器的臺數。原則上GBase 8a集群所有服務器的CPU整體核數、內存容量和磁盤容量及盤片數量上應不得小于TD一體機配置的2倍。
四、數據及業務的遷移,主要進行全量、增量數據的遷移、ETL追跑、遷移前后數據的比對方式等技術難點進行提前規劃,數據流程的遷移流程如下所示。
1、全量數據遷移方案評估方案及要點
遷移全量數據,其遷移的時間窗口很大程度的決定全量遷移是一次性還是分批遷移。主要有以下幾個方面的因素影響,需要重點考慮:
源數據庫遷移數據量【需要實測以評估源庫內數據的壓縮比】
業務允許的停機時間窗口【此過程中源庫需要處于只讀狀態,且負載要輕,往往是硬約束條件】
源數據庫數據導出性能【需要實測已確定能力】
加載文件服務器臺數、IO性能、與8a集群網絡帶寬【遷移環境制約因素】
8a集群節點的加載性能【IO性能和網絡帶寬綜合考慮】
增量業務的類型append only/IDU/拉鏈表/每次都全量 【決定增量追跑的方式,是否支持分批遷移】
倉庫設計上是否支持分層、是否支持數據加工冪等性 【決定遷移是否可以按業務或者層次進行縱向或橫向的分批】
對于遷移時間窗口的預估,需按照如下的公式進行估算:
遷移整體時間 = TD導出時間 + GBase 8a加載時間
TD導出時間 = TD存儲數據量(單位GB) / TD并行導出性能(GB/小時)
GBase 8a加載時間 = TD導出數據量(單位GB) / GBase 8a并行加載性能(GB/小時)
GBase 8a并行加載性能 = 加載機臺數 * 1000MB/s * 1/2 *3600
數據遷移需要注意的點有:
TD存儲數據量要轉化為導出庫外平面文件的數據量,因此要評估壓縮比
TD并行導出的性能需要實測,并考慮導出時TD的負載情況
GBase 8a并行加載性能需要實測,推算時刻參考公式4
評估萬兆帶寬的使用率時要給出一定的冗余度,一般計算需要乘以1/2系數
整體時間窗口按照導出和加載串行方式評估,而不采用流水線方式評估,保證一定冗余度應對突發情況,而實際執行時可以按照pipeline方式設計遷移的實際執行方式。
以下是設計出的三種不同復雜度的全量數據遷移方案:
1)簡單遷移方案
2)縱向按業務遷移方案
3)橫向按倉庫層次遷移方案
4)縱橫混合方式遷移方案
2、增量數據遷移
增量數據一般來源于上游,最常見的是時間戳的方式,通過時間戳來區分增量數據,每次同步時間戳迭代的數據,達到增量同步的目的。
時間戳方式(對各種數據庫):它是一種基于快照比較的變化數據捕獲方式,在源表上增加一個時間戳字段,系統中更新修改表數據的時候,同時修改時間戳字段的值。當進行增量數據抽取時,通過比較系統時間與時間戳字段的值來決定抽取哪些數據。
優點:同觸發器方式一樣,時間戳方式的性能也比較好,ETL 系統設計清晰,源數據抽取相對清楚簡單,可以實現數據的遞增加載。
缺點:時間戳維護需要由業務系統完成,對業務系統也有很大的侵入性(加入額外的時間戳字段),需要對業務系統的數據表的模型設計有一定的修改。
五、最后一步是數據準確性,數據稽核
數據稽核的最終目的是檢驗遷移的腳本和程序的正確性,采用的方法是通過比對原系統和遷移系統對相同數據的加工結果,通過結果是否一致來推斷過程是否遷移的正確。
數據準確不等于完全相同,數據準確是指對比數據的結果在預期可接受的誤差范圍之內,在遷移項目中做到100%的運算結果完全相同有時是無法做到的,其可能原因包括:抽取前端數據的業務時間不同,不同數據庫對計算結果的舍入和截取的規則不同,不同數據庫對相同排序列值數據的排列順序不一致,不同數據庫對加載文件中的少量臟數據的處理機制不同等原因造成。
1、常用的稽核思路
自頂向下的稽核順序:上層指標核對通過則可暫時不考慮底層的不一致問題
自底向上的錯誤排查順序:出現不一致的上層指標需要利用血緣關系圖從底層開始排查
2、數據稽核常用方法
總量稽核:count值、sum值、avg值對比
分量稽核:對表內各維度進行group by后對這個維度的一個指標值進行count、sum、avg核對
錯誤對比:在發現不一致的表時,將對比的表拉到一個環境上進行詳細分析,如進行minus運算,找出差數據再進一步分析
稽核報告:稽核報告是稽核工作輸出物,對數據一致性問題進行記錄和分析,對之前解決的問題進行追溯,形成數據稽核工作常見問題的知識體系
關于GBASE南大通用
天津南大通用數據技術股份有限公司(簡稱:GBASE)成立于2004年,現有員工650人,公司自成立以來始終堅持自主創新,產品的核心技術及底層代碼自主可控,構建了覆蓋數據管理全生命周期,包括分析型、事務型、分布式事務型、云原生數據倉庫等全技術棧的數據產品體系及服務解決方案。目前,GBASE已經成為國內少有的專注于數據庫產品研發,并且在金融、電信行業得到規模化應用的獨立數據庫服務商。自主研發的GBase系列數據庫產品及服務范圍覆蓋全國32個省級行政區域。為金融、電信、政務、能源、交通、國防軍工等百余個行業上萬家用戶提供產品和服務,建立節點超過30000個,管理數據總量超過300PB。并遠銷美國、巴西、墨西哥等三十余個國家及地區。
關于GBase 8a
GBase 8a是南大通用自主研發的,面向海量數據查詢分析應用領域的一款高性能國產分布式邏輯數據倉庫,用于滿足各個數據密集型行業日益增大的數據查詢、數據統計、數據分析、數據挖掘和數據備份等數據存儲、管理和處理需求,可用做數據倉庫系統、BI系統和決策支持系統的承載數據庫。產品主要應用在金融、電信、政企、能源、安全等擁有海量業務數據的行業。