




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、大型國有銀行數(shù)據(jù)平臺應(yīng)用遷移之路系統(tǒng)遷移目標(biāo)和問題分析問題與挑戰(zhàn)以O(shè)racle RAC和Teradata一體機為基礎(chǔ)的系統(tǒng)架構(gòu),缺乏彈性伸縮能力,無法快速應(yīng)對靈活多變的業(yè)務(wù)需求;系統(tǒng)架構(gòu)數(shù)據(jù)類平臺或系統(tǒng)都面臨處理能力的瓶頸,這導(dǎo)致數(shù)據(jù)處理時間窗口過長,嚴(yán)重影響了業(yè)務(wù)體驗和業(yè)務(wù)決策, 像反洗錢這樣的復(fù)雜系統(tǒng),時常發(fā)生報送延遲的情況,嚴(yán)重的時候甚至延遲到一周以上。改善時效性刻不容緩系統(tǒng)性能當(dāng)前系統(tǒng)以描述型分析為主,反映已發(fā)生的業(yè)務(wù)現(xiàn)狀,不能對將來的各種業(yè)務(wù)進(jìn)行前瞻性預(yù)測。審計合規(guī)缺乏 統(tǒng)一平臺支撐,無法滿足業(yè)務(wù)需求系統(tǒng)功能Teradata 數(shù)據(jù)倉庫一體機進(jìn)行了多次擴容,由于是專有設(shè)備,每次擴容耗費
2、了大量的人力、物力和財力,成本 居高不下系統(tǒng)成本問題與 挑戰(zhàn)2海量并行、完全無共享架構(gòu)基于開放的X86 服務(wù)器搭建集群彈性架構(gòu),可根據(jù)具體需求縮放集群規(guī)模與SAS無縫集成,支持庫內(nèi)挖掘支持海量數(shù)據(jù)并行高效處理和智能分析完備高可用性保證系統(tǒng)持續(xù)有效篩選 識別選型依據(jù)經(jīng)過充分的調(diào)研、選型測試、專家評審,最終確定新一代大數(shù)據(jù)處理產(chǎn)品采用Pivotal Greenplum在這樣的背景下,開始Teradata遷移Greenplum的“長征之旅”。系統(tǒng)選型346遷移前,需要梳理具體有哪些工作,哪些事項,再對各項工作進(jìn)行計劃安排。當(dāng)時我們梳理出主要 工作有范圍分析、環(huán)境準(zhǔn)備、數(shù)據(jù)模型遷移、數(shù)據(jù)初始化、腳本遷
3、移、調(diào)度遷移、數(shù)據(jù)一致性校驗、 應(yīng)用切換等工作。遷移總體方法步驟遷移總體工作任務(wù)階段劃分范圍分析分析遷移范圍,涉及數(shù)據(jù)區(qū)分析各數(shù)據(jù)區(qū)需遷移數(shù)據(jù)、腳本、作業(yè)、模型環(huán)境準(zhǔn)備數(shù)據(jù)模型遷移遷移工作步驟數(shù)據(jù)初始化腳本遷移調(diào)度遷移數(shù)據(jù)一致性效驗應(yīng)用切換測試環(huán)境及生產(chǎn)設(shè)備準(zhǔn)備數(shù)據(jù)庫環(huán)境、ETL環(huán)境、調(diào)度環(huán)境字段類型及建模語法差異分析,批量模型遷移工具開發(fā)、模型分析、模 型遷移初始全量及增量追數(shù)方案,特大表單獨方案、遷移路徑語法、函數(shù)等差異分析、腳本遷移工具開發(fā)、腳本遷移、測試調(diào)度關(guān)系及作業(yè)配置遷移效驗方案確定、校驗工具開發(fā),一致性差異分析應(yīng)用系統(tǒng)人員對遷移數(shù)據(jù)進(jìn)行確認(rèn)應(yīng)用系統(tǒng)由TD切換到GP范圍分析是整個遷
4、移工作的第一步,也是非常重要的一步。關(guān)于它的重要性,在第一期有過簡單的 說明。范圍分析完不完備,準(zhǔn)不準(zhǔn)確,影響到后面迭代遷移次數(shù)的多少,范圍分析相關(guān)工作做得完 備、準(zhǔn)確,那么會減少真正遷移時因模型缺失或作業(yè)缺失等范圍缺失而導(dǎo)致的返工。既然范圍分析 工作這么重要,那該如何開展呢?數(shù)據(jù)遷移的范圍分析遷移范圍分析已知范圍識別對于本案例來說就是FXQ基礎(chǔ)數(shù) 據(jù)及相關(guān)模型和作業(yè)配置等通過作業(yè)依賴關(guān)系分析出數(shù)據(jù) 倉庫的M層、P層、S層等各層 需遷移的作業(yè)范圍清單。作業(yè) 范圍分析一般可以通過作業(yè)依 賴血緣圖,逆向分析出各層需 遷移的相關(guān)作業(yè)由于作業(yè)配置與腳本有一定映射 關(guān)系,所以可以根據(jù)前面步驟得 到的需遷
5、移作業(yè)范圍清單,分析 出需遷移的腳本范圍清單。一般而言,由于各個腳本中使 用的數(shù)據(jù)模型的方式是固定, 且有限的,所以可以通過關(guān)鍵 字匹配識別出腳本中使用的所 有數(shù)據(jù)模型。因此模型范圍的 分析是通過寫腳本工具,實現(xiàn) 對上一步驟得到的需遷移腳本 范圍清單中所有腳本的批量采 集,并獲得需遷移的模型范圍 清單。作業(yè)范圍分析腳本范圍分析模型范圍分析初始化數(shù)據(jù)范圍分析這 步 會 比 較 復(fù) 雜 , 因 為 Teradata負(fù)載太高,數(shù)據(jù)遷移速 度不高,所以數(shù)據(jù)遷移范圍需 要盡可能的小,同時又要滿足 應(yīng)用加工需求。也就是說要在 滿足應(yīng)用加工需求的情況下, 獲取數(shù)據(jù)遷移范圍的最小集67數(shù)據(jù)模型遷移策略數(shù)據(jù)模型
6、遷移DDL轉(zhuǎn)換程序Greenplum DDL腳本數(shù)據(jù)字典 抽取Teradata DDL腳本8執(zhí)行建表Greemplum字段類型轉(zhuǎn)換規(guī)則Teradata字符類型 Char(n)Varchar(n)Long Varchar SmallInt Integer Dec(m,n)Float Date TimeTimestampGreenplum字符類型character (n), char(n)character varying(n), varchar(n)textsmallint, int2integer, int, int4numericfloat8, floatdatetimetime with
7、time zoneDDL數(shù)據(jù)模型轉(zhuǎn)換可以實現(xiàn)自動轉(zhuǎn)換,通過DDL轉(zhuǎn)換程序?qū)eradata 的DDL腳本批量、自動轉(zhuǎn)換為Greenplum DDL語法。Teradata分布健數(shù)據(jù)壓縮、行列存儲數(shù)據(jù)分區(qū)字段類型映射數(shù)據(jù)初始化主要是將TD上的初始化截面數(shù)據(jù)復(fù)制到GP中,作為初始化數(shù)據(jù)。 “數(shù)據(jù)同步組件”是該 行開發(fā)的數(shù)據(jù)復(fù)制組件,可實現(xiàn)全量或者增量將各類型數(shù)據(jù)庫(GP/TD/ORACLE/HD)的數(shù)據(jù)非常高 效地同步到各類型數(shù)據(jù)庫(GP/TD/ORACLE/HD)。為了適應(yīng)遷移工作的特殊性,在該組件的基礎(chǔ)上,額外做了一定的改造主要是為了數(shù)據(jù)遷移工作的 效率,去掉了該數(shù)據(jù)同步組件的自動數(shù)據(jù)校驗功能,
8、并改為由人工批量校驗方式來保證數(shù)據(jù)遷移的 準(zhǔn)確性數(shù)據(jù)初始化數(shù)據(jù)初始化-數(shù)據(jù)遷移工具TeradataGreemplumfastexportExternal table load數(shù)據(jù) 模型Insert外 部 臨 時 表數(shù)據(jù)復(fù)制 組件9初始化數(shù)據(jù)遷移工作關(guān)鍵點:數(shù)據(jù)初始化數(shù)據(jù)初始化-數(shù)據(jù)遷移工作關(guān)鍵點范圍分析分析確認(rèn)哪些表需要做數(shù)據(jù)初 始化,并且盡量精確每張表在 滿足加工用數(shù)的需求下的最小 初始化量,即確認(rèn)初始化時源 表的最精準(zhǔn)篩選條件。確定初始化截面日期,即以哪個業(yè)務(wù)日期作為初始化的截面將數(shù)據(jù)從TD數(shù)據(jù)庫復(fù)制到GP數(shù)據(jù)庫;大表容易失敗,需拆分為日期。在截面日期之前的數(shù)據(jù), 小表復(fù)制。 通過數(shù)據(jù)初始
9、化的方式,用數(shù)據(jù)遷移工具,從TD同步到GP;在初始化截面日期以后的數(shù)據(jù), 在GP上以加工跑批的方式生成。搬遷前需要做好搬遷數(shù)據(jù)備份, 以防止數(shù)據(jù)變動帶來的影響所以,需要批量進(jìn)行驗證初始 化結(jié)果、范圍是否準(zhǔn)確,主要 是確認(rèn)各張表的各個批次是否 有丟失,每個批次數(shù)據(jù)量是否 準(zhǔn)確。數(shù)據(jù)搬遷前處理數(shù)據(jù)搬遷數(shù)據(jù)驗證數(shù)據(jù)搬遷后處理10這步主要有兩個工作,其一是 拉鏈表退鏈,由于初始化截面 后的數(shù)據(jù)需要在初始化數(shù)據(jù)的 基礎(chǔ)上進(jìn)行跑批加工,所以需 要將已經(jīng)閉鏈的截面數(shù)據(jù)進(jìn)行 退鏈處理。其二是初始化數(shù)據(jù) 去有空格處理等,由于TD可以 自動去有空格,而GP無法自動 去有空格,為了保證數(shù)據(jù)加工 的一致性,需要對遷移
10、后的數(shù) 據(jù)統(tǒng)一做去有空格處理。工欲善其事必先利其器。根據(jù)范圍分析,當(dāng)時需要遷移的腳本有1000多個,用手工的方式一個腳本 一個腳本地遷移肯定能是不可行的,遷移完都不知猴年馬月,所以必須要制作出一個能批量實現(xiàn)TD 腳本到GP腳本的自動遷移工具實現(xiàn)自動轉(zhuǎn)化SQL移植是腳本遷移中最大的部分,是系統(tǒng)遷移成功與否的關(guān)鍵因素。可以通過新舊語法映射開 發(fā)”ETL腳本轉(zhuǎn)換程序“,對ETL腳本進(jìn)行批量移植,預(yù)計可完成90以上的修改,剩余再通過人工修 改,這樣可以加快移植進(jìn)度 、降低遷移工作量、提高程序規(guī)范。ETL腳本和調(diào)度遷移腳本轉(zhuǎn)換和遷移ETL腳本轉(zhuǎn)換程序Teradata ETL腳本Greenplum ETL
11、腳本V2Perl腳本登錄、密碼驗證、管道調(diào)用批量修改Teradata函數(shù),如日期函數(shù)、字符處理函數(shù)、 CHAR,NULLIFZERO等需要做相應(yīng)轉(zhuǎn)換Teradata事務(wù),BT/ET語法需要修改成標(biāo)準(zhǔn)ANSII語法Teradata創(chuàng)建臨時語法需要修改日期FOARMAT手工修改字段別名、子查詢別名Teradata的OLAP語法,如rank,qualify,csum等需要轉(zhuǎn)換 為Greemplum的OLAP語法。Greenplum ETL腳本V1空跑測試帶數(shù)驗證11雖然TD和GP都是采用的是標(biāo)準(zhǔn)SQL,但實際差異還是很大的,而且有些差異是不會報錯體現(xiàn)的,只 是體現(xiàn)數(shù)據(jù)加工結(jié)果的差異上,所以這種差異往
12、往只能在數(shù)據(jù)校驗階段才能發(fā)現(xiàn),那么無疑糾錯成 本就非常大,對整個遷移工作的影響也是非常不利地。根據(jù)遷移經(jīng)驗,總結(jié)了遷移過程中遇到的10 個影響最大的語法差異:12ETL腳本和調(diào)度遷移腳本遷移-語法差異序號差異項TDGP影響度影響范圍1字段值長度超過字段定義長度自動截取報錯退出特別嚴(yán)重特別廣2大小寫敏感不敏感敏感特別嚴(yán)重特別廣3自動去空格會不會特別嚴(yán)重特別廣4S層加載自動去重會不會嚴(yán)重廣5數(shù)據(jù)存儲字符集(漢字存儲截?。〨BKUTF8嚴(yán)重廣6TO_DATE(日期類型字段,YYYYMMDD)正確錯誤特別嚴(yán)重廣7亂碼自動替換為?保留原編碼嚴(yán)重廣8MAX取值嚴(yán)重特別廣9ROW_NUMBER隨機取值10浮
13、點數(shù)0存儲不一致.000.00一般一般腳本遷移方面還有一個很重要的工作就是遷移后腳本的性能優(yōu)化,做過遷移的都清楚,所謂自動化 的遷移,很大程度上只能做到功能上的遷移,非功能的遷移很多時候還是需要人工去分析、優(yōu)化。 根據(jù)我們的遷移經(jīng)驗中,遷移腳本的性能優(yōu)化可以分為數(shù)據(jù)庫級、模型級、SQL級的優(yōu)化。舉例如 下:NOT IN 關(guān)聯(lián)改成 NOT EXISTSGP對于使用NOT IN執(zhí)行量表關(guān)聯(lián)時,內(nèi)部使用的算法效率低,一般都會在子查詢中對大數(shù)據(jù)集做broadcast motion。優(yōu)化前:相關(guān)SQL執(zhí)行時間超過5000秒; 優(yōu)化后:相關(guān)SQL執(zhí)行時間為630秒。鎖等待問題如果一張目標(biāo)表有多個數(shù)據(jù)源,且
14、多個數(shù)據(jù)源的數(shù)據(jù)差不多時間到,就會存在對同一張表并行update/delete/insert等操作,這些操作對同一張來說,是互斥鎖,會引 起鎖等待。以我們遷移的某張表T舉例,表T有39個來源系統(tǒng),我們對表T的優(yōu)化操作是:各個來源系統(tǒng)的處理腳本的目標(biāo)表優(yōu)化為分區(qū)表,并且新增分區(qū)字段,按來 源系統(tǒng)特征劃分分區(qū),操作時針對分區(qū)表操作。優(yōu)化前:表T所有源系統(tǒng)加工完成大概需要35小時; 優(yōu)化后:表T所有源系統(tǒng)加工完成大概需要0.5小時。13ETL腳本和調(diào)度遷移腳本遷移-性能調(diào)優(yōu)15應(yīng)用遷移的數(shù)據(jù)校驗,一般是以遷移之前跑批產(chǎn)生的數(shù)據(jù)作為標(biāo)準(zhǔn),比對遷移后跑批產(chǎn)生的數(shù)據(jù), 如果能比對上,兩邊數(shù)據(jù)一致,則認(rèn)為數(shù)
15、據(jù)校驗成功。在我們的案例里,是以Teradata上跑批生成 數(shù)據(jù)為標(biāo)準(zhǔn),校驗遷移后Greenplum跑批生成的數(shù)據(jù)。數(shù)據(jù)一致性校驗數(shù)據(jù)一致性校驗研發(fā)出數(shù)據(jù)一致性校驗工具后,差異識別環(huán)節(jié)并不需要花費太 多的時間、精力。所以,事實上數(shù)據(jù)校驗的時間主要是消耗在 怎么分析出差異的原因,也就是差異分析環(huán)節(jié)。從配置表中獲取表所需檢查的類型信息結(jié)果采集記錄數(shù)采集抽樣比對求和采集求和比對記錄數(shù)比對結(jié)構(gòu)比對數(shù)據(jù)一致性校驗工具15序號差異項TDGP差異處理1字段值長度超過字段定義長度自動截取報錯退出對GP模型及加工腳本中臨時表字段擴 長,保證數(shù)據(jù)完整性2大小寫敏感不敏感敏感1、數(shù)據(jù)優(yōu)化:對數(shù)據(jù)做UPPER處理2、
16、腳本優(yōu)化:關(guān)聯(lián)條件UPPER處理3自動去空格會不會1、存量數(shù)據(jù)去右空格處理2、關(guān)聯(lián)條件RTRIM4S層加載自動去重會不會對可能重復(fù)的表做去重處理5數(shù)據(jù)存儲字符集(漢字存儲截?。〨BKUTF8SUBSTR時,調(diào)整長度6TO_DATE(日期類型字段,YYYYMMDD)正確錯誤TO_DATE(TO_CHAR(日期類型字 段,YYYYMMDD),YYYYMMDD)7亂碼自動替換為?保留原編碼忽略8MAX取值忽略9ROW_NUMBER隨機取值忽略10浮點數(shù)0存儲不一致.000.00忽略16序號差異原因差異處理1跑數(shù)時點不一致當(dāng)前表跑批時點不一致,導(dǎo)致數(shù)據(jù)核對不上2腳本轉(zhuǎn)換問題轉(zhuǎn)換規(guī)則缺失,導(dǎo)致腳本轉(zhuǎn)換失
17、真,跑出數(shù)據(jù)錯誤3遷移范圍存在缺失范圍有遺漏,導(dǎo)致遷移結(jié)果數(shù)據(jù)缺失或錯誤4作業(yè)依賴錯誤作業(yè)依賴錯誤,導(dǎo)致依賴數(shù)據(jù)尚未就緒就開始加工數(shù)據(jù),導(dǎo)致結(jié) 果數(shù)據(jù)錯誤5空值和NULL的不一致在比對SQL中,空值和NULL被識別不一致該行的數(shù)據(jù)平臺從Teradata遷移到Pivotal Greenplum(現(xiàn)VMware Greenplum)挺早之前就開始了, 本文所說的就是Teradata遷移到Greenplum第一期,從2016年的12月開始籌劃,2017年3月算是正式 開始,2017年9月遷移完成,2017年11月上層應(yīng)用系統(tǒng)正式切換。遷移成果總結(jié)遷移成果經(jīng)過半年多的努力,最終成功遷移了300T左右的初始化數(shù)據(jù)遷移,1000多個 物理表,1500多個作業(yè),1200多個腳本,遷移系統(tǒng)至今穩(wěn)定運行。對遷移系統(tǒng)影響:反洗錢系統(tǒng)切換到我們遷移后的Greenplum倉庫數(shù)據(jù)后,這兩年甚少聽到報送延遲問題, 這與遷移之前時常報送延遲一周以上的情況對比,效果是非常明顯的。而且切換后,整 個反洗錢日常報送時效性提升了78小時,月末提升23天(2018年1月統(tǒng)計數(shù)字)。對Teradata影響:反洗錢系統(tǒng)切換到Greenplum以后,正常運行了一段時間后,Teradata下線了一些不再需要加工的作業(yè),并且減少了原本反洗錢每天需要從Teradat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025車輛買賣合同范本
- 2025簡約裝修房合同示范文本
- 2025保密協(xié)議合同書范文
- 2025年商業(yè)店鋪續(xù)租協(xié)議合同范本
- 2025汽車租賃合同范本3
- 《消化道異物附件》課件
- 《全球重要國家角色》課件
- 《腹部CT分型》課件
- 《南京商業(yè)概要》課件
- 《知名人士生平》課件
- 加裝電梯項目安全、文明施工措施
- 《健康體檢介紹》課件
- 項目驗收意見書
- 交通運輸?shù)墓?jié)能與環(huán)保措施
- 游艇會服務(wù)流程
- 高壓帶電顯示器說明書全解
- 數(shù)據(jù)中心基礎(chǔ)設(shè)施管理系統(tǒng)DCIM技術(shù)方案
- 企業(yè)網(wǎng)絡(luò)安全與數(shù)據(jù)保護(hù)策略
- 2024屆高考英語語法填空專項課件
- 第五課滴答滴答下雨了課件
- 新教師崗前培訓(xùn)講座中小學(xué)教學(xué)常規(guī)PPT
評論
0/150
提交評論