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