上期我們講到了高校數(shù)據(jù)中臺“要不要遷移”和“怎么遷移”的問題,因為篇幅限制,“怎么遷移”只介紹到了數(shù)據(jù)湖集成的部分。其實數(shù)據(jù)湖集成的關(guān)鍵在于梳理業(yè)務(wù)系統(tǒng)入湖的需求(范圍要求、實時性要求)和按需進(jìn)行入湖策略的設(shè)置,這部分因為在開發(fā)過程中我們就把復(fù)雜的代碼過程轉(zhuǎn)換成了可供選擇的配置項,所以操作起來難度應(yīng)該不大。
之后的標(biāo)準(zhǔn)層遷移、下行接口遷移、質(zhì)量規(guī)則遷移和A尸l接口遷移因為涉及到代碼標(biāo)準(zhǔn)&數(shù)據(jù)標(biāo)準(zhǔn)升級、集成工具替換、質(zhì)量規(guī)則優(yōu)化、無感知接口遷移等很多對標(biāo)和優(yōu)化工作,需要人工+智能化輔助工具結(jié)合的方式進(jìn)行“又快又好”雙管齊下的遷移。這期我們就來詳細(xì)聊聊這些工作怎么做。
標(biāo)準(zhǔn)層遷移
將學(xué)校原數(shù)據(jù)中心的代碼標(biāo)準(zhǔn)和數(shù)據(jù)標(biāo)準(zhǔn)模型遷移至迪塔維數(shù)據(jù)中臺4.0中,重新進(jìn)行代碼的比對、確認(rèn)、轉(zhuǎn)標(biāo),完成代碼標(biāo)準(zhǔn)的迭代升級,并以八大域數(shù)據(jù)目錄進(jìn)行數(shù)據(jù)的重新歸類。
◆ 確認(rèn)需要遷移的標(biāo)準(zhǔn)模型范圍及優(yōu)先級
◆ 數(shù)據(jù)標(biāo)準(zhǔn)模型遷移
遷移方式有批量導(dǎo)入、自動反向和人工新建三種,需注意新建時PG數(shù)據(jù)庫對大小寫敏感,需以小寫的方式進(jìn)行字段命名,并按八大域目錄進(jìn)行模型的劃分。
◆ 模型主鍵設(shè)置
◆ 集成接口的遷移
l 批量遷移
批量遷移來源可選擇ODI、DDI、KETTLE等常見的第三方工具,填寫數(shù)據(jù)庫連接信息后,按需對遷移接口進(jìn)行勾選,即可一鍵生成相應(yīng)的接口信息,再進(jìn)行人工調(diào)優(yōu)。
l 人工新建
注意以下幾點:
【多表關(guān)聯(lián)】:多表關(guān)聯(lián)集成時,需確認(rèn)好主外鍵關(guān)系及關(guān)聯(lián)方式,在數(shù)據(jù)庫中測試無誤后方可進(jìn)行配置,以防出現(xiàn)關(guān)聯(lián)后數(shù)據(jù)量不一致的情況;
【數(shù)據(jù)轉(zhuǎn)標(biāo)】:若代碼標(biāo)準(zhǔn)確認(rèn)且已完成數(shù)據(jù)對標(biāo)及映射,則可在集成時進(jìn)行轉(zhuǎn)標(biāo)操作,確保進(jìn)入到標(biāo)準(zhǔn)層數(shù)據(jù)的準(zhǔn)確性。
◆ 無主鍵接口的遷移
同數(shù)據(jù)入湖,無主鍵表需通過集成工具(或通用集成方式)進(jìn)行接口的遷移,集成工具僅支持低頻調(diào)度的方式進(jìn)行任務(wù)調(diào)度設(shè)置。
◆ 任務(wù)調(diào)度的配置
同入湖調(diào)度,分為實時流和高頻輪詢兩種模式。具體操作已在上篇說明,不再贅述。
◆ 標(biāo)準(zhǔn)層視圖的遷移
視圖的遷移是標(biāo)準(zhǔn)層遷移中的重、難點。如果新舊數(shù)據(jù)中心所使用的數(shù)據(jù)庫類型不同,將造成很多函數(shù)的不可用,人工遷移又會耗費(fèi)大量成本。別擔(dān)心,我們有聰明又高效的SQL翻譯機(jī)工具,能快速進(jìn)行異構(gòu)數(shù)據(jù)庫視圖的翻譯和遷移,極大地提升遷移效率。
下行接口遷移
完成原集成工具(如ODI)中的下行接口1:1遷移,在不影響學(xué)校第三方業(yè)務(wù)的情況下,進(jìn)行臨摹式的下發(fā)接口遷移工作。
◆ 下行ETL接口信息梳理(下發(fā)源表、目標(biāo)表信息、代理執(zhí)行時間,目標(biāo)庫連接信息)
◆ 下行ETL接口遷移
l 有中間庫
按照原有下行接口在集成工具中進(jìn)行接口制作。流程為:
l 無中間庫
需跟學(xué)校溝通,要求業(yè)務(wù)廠商提供中間庫后再進(jìn)行下發(fā)。若不能提供,則需通過新數(shù)據(jù)中臺開放中間庫用戶,再依照上述流程進(jìn)行數(shù)據(jù)下發(fā)。
注意兩個“嚴(yán)禁”:
(1)嚴(yán)禁對業(yè)務(wù)系統(tǒng)直接推送數(shù)據(jù);
(2)嚴(yán)禁業(yè)務(wù)廠商直接讀取標(biāo)準(zhǔn)層的表或視圖。
◆ 做好下行ETL接口遷移的文檔記錄和交付
質(zhì)量規(guī)則遷移
對標(biāo)準(zhǔn)層的數(shù)據(jù)質(zhì)量檢測配置進(jìn)行遷移及優(yōu)化,確保數(shù)據(jù)的準(zhǔn)確性。
◆ 原數(shù)據(jù)中心數(shù)據(jù)質(zhì)量檢測規(guī)則梳理
◆ 數(shù)據(jù)質(zhì)量檢測規(guī)則調(diào)整
需按照PG數(shù)據(jù)庫的語法要求將質(zhì)量檢測規(guī)則進(jìn)行重構(gòu)(可借助SQL翻譯機(jī))。
◆ 空數(shù)據(jù)表及空字段信息梳理
◆ 數(shù)據(jù)質(zhì)量檢測新需求收集
例如:人員相關(guān)數(shù)據(jù)的檢測一律添加過濾條件,只檢測在職教職工。
◆ 數(shù)據(jù)質(zhì)量檢測規(guī)則配置
質(zhì)量檢測在數(shù)據(jù)湖層進(jìn)行還是在標(biāo)準(zhǔn)層進(jìn)行以學(xué)校意見為主,建議在數(shù)據(jù)湖層進(jìn)行,因為這樣可以發(fā)現(xiàn)數(shù)據(jù)源頭的更多問題,而標(biāo)準(zhǔn)層是經(jīng)過清洗轉(zhuǎn)換的,不能真實表達(dá)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)質(zhì)量情況。
注意過濾條件有兩種添加方式,一種是在新建規(guī)則時將過濾條件加入到規(guī)則語句中,另一種是在字段規(guī)則配置時填寫過濾條件。前者會造成規(guī)則重復(fù)且難以區(qū)分,建議以第二種方式進(jìn)行處理。
配置規(guī)則時,需設(shè)置標(biāo)識字段,用于辨別違規(guī)數(shù)據(jù),例如人事信息的標(biāo)識字段一般設(shè)置為姓名和職工號,如下圖所示:
◆ 在線數(shù)據(jù)調(diào)試
◆ 配置任務(wù)調(diào)度周期
一般開始時間設(shè)置在標(biāo)準(zhǔn)層集成任務(wù)之后,檢測周期根據(jù)數(shù)據(jù)變化情況可選擇每日、每周或每月等。
◆ 質(zhì)量檢測報告輸出
我們會分業(yè)務(wù)系統(tǒng)輸出質(zhì)量檢測報告,對比檢測結(jié)果與學(xué)校溝通,進(jìn)一步優(yōu)化檢測規(guī)則。
◆ 質(zhì)量檢測提醒
質(zhì)量檢測報告經(jīng)優(yōu)化確認(rèn)后,可以配置質(zhì)量檢測提醒,定期發(fā)送給各業(yè)務(wù)部門進(jìn)行質(zhì)量問題確認(rèn),我們支持對接郵箱、企業(yè)微信、釘釘?shù)戎髁髑腊l(fā)送消息提醒。
API接口遷移
標(biāo)準(zhǔn)層切換完成后,將開放的API接口進(jìn)行遷移,要求在不改變域、調(diào)用地址、出入?yún)ⅰ⑦^濾方式、調(diào)用方法的前提下進(jìn)行無感知遷移。
◆ 原API接口梳理(接口名稱、接口地址、數(shù)據(jù)源、出入?yún)⒆侄?、APPID、密鑰、TOKEN、調(diào)用次數(shù)、應(yīng)用名稱、申請人等)
◆ 原API接口測試,排除僵尸接口、測試接口。
◆ API接口遷移
API接口遷移涉及復(fù)雜的接口調(diào)用、解析工作,這里我們提供一鍵遷移功能,可快速實現(xiàn)第三方接口的無感知遷移。自動化完成接口在開放平臺上的注冊、解析、申請、認(rèn)證信息對比、可調(diào)用API生成及批量測試,最后我們配合學(xué)校將開放平臺IP切換或域名指向調(diào)整,完成對第三方API接口的無感知切換。
◆ 中臺API接口測試
為保證中臺切換上線后數(shù)據(jù)交換的平穩(wěn)流暢,中臺API接口要經(jīng)過多輪嚴(yán)格的測試,包括平臺一鍵測試、外部工具測試和負(fù)載壓力測試、網(wǎng)頁端適配測試(GET方式)等,并進(jìn)行持續(xù)調(diào)優(yōu)。
注意以下幾點:
l 一輪測試需詳細(xì)梳理測試結(jié)果,并進(jìn)行分類分析和接口修復(fù)。
l 接口負(fù)載測試(壓力測試)需至少對500并發(fā)、1000并發(fā)、1500并發(fā)進(jìn)行測試,根據(jù)壓測結(jié)果及學(xué)校使用場景的需求,可對API負(fù)載節(jié)點進(jìn)行新增。
◆ 第三方廠商協(xié)助聯(lián)調(diào)
打通接口測試的“最后一公里”,可以聯(lián)系使用頻率較高的廠商進(jìn)行真實場景模擬測試。
◆ 域名切換驗證
所有測試均通過后,可與學(xué)校協(xié)調(diào)一個使用頻率相對較低的時間進(jìn)行域名的映射切換。我們會做好充分的風(fēng)險預(yù)案,并配備技術(shù)人員進(jìn)行現(xiàn)場切換保障,隨時響應(yīng)突發(fā)問題。
若切換后發(fā)現(xiàn)問題且無法在短時間內(nèi)處理完成,則會馬上將域名切換回原開放平臺服務(wù)器,待問題處理完成后再重復(fù)上述域名切換操作,直至平穩(wěn)切換。
遷移工作的總結(jié)
? 檢查與確認(rèn)
核對環(huán)境:根據(jù)實施計劃,核對各服務(wù)器的環(huán)境配置情況;
檢查部署:檢查各平臺的部署完成情況;
確認(rèn)數(shù)據(jù):確認(rèn)數(shù)據(jù)遷移的完整性,驗證數(shù)據(jù)傳輸?shù)姆€(wěn)定性;
測試驗證:測試驗證數(shù)據(jù)中臺的功能,判斷數(shù)據(jù)的使用狀況;
驗證運(yùn)行:驗證遷移后的各平臺、工具、業(yè)務(wù)的運(yùn)行情況。
? 歸檔與交接
文檔歸檔:指定負(fù)責(zé)人整理文檔,遷移完成后交付給學(xué)校留存;
知識沉淀:新知識、新經(jīng)驗更新至迪塔維知識庫,完成知識共享。
? 風(fēng)險和策略
遷移過程中可能發(fā)生的平臺、網(wǎng)絡(luò)、數(shù)據(jù)等方面故障,應(yīng)及時檢查,盡快恢復(fù)正常運(yùn)行;
對數(shù)據(jù)遷移過程中可能出現(xiàn)的數(shù)據(jù)丟失情況,應(yīng)及時做好備份,確保數(shù)據(jù)的完整;
API遷移過程中,可能因調(diào)用方式不兼容而引發(fā)故障,應(yīng)提前測試API接口的兼容性,避免出現(xiàn)事故。
特別強(qiáng)調(diào):備份預(yù)案牢記心間,遷移安全防線共建!
數(shù)據(jù)中臺“怎么遷移”的問題就介紹到這里了,不知道有沒有打消老師的一些疑慮呢?這里也請各位老師放心,我們會為每個現(xiàn)場配備技術(shù)支持,在遷移過程中出現(xiàn)任何異常情況時都可以及時響應(yīng)。遷移切換期間,我們會提前協(xié)調(diào)好開發(fā)、運(yùn)維等同事的支持,做好備份工作和回退方案,保證您的遷移工作安全無虞。