GBase新聞
GBASE遷移之異構(gòu)OLTP數(shù)據(jù)庫(kù)遷移方案
當(dāng)前,以O(shè)racle、DB2等為代表的國(guó)際主流數(shù)據(jù)庫(kù)軟件產(chǎn)品,已經(jīng)長(zhǎng)期、廣泛應(yīng)用于國(guó)內(nèi)各行業(yè)的核心業(yè)務(wù)系統(tǒng)中。當(dāng)用戶業(yè)務(wù)系統(tǒng)面臨替換改造時(shí),需要解決異構(gòu)數(shù)據(jù)庫(kù)在整個(gè)切換過(guò)程中數(shù)據(jù)遷移、應(yīng)用兼容、新系統(tǒng)穩(wěn)定性等各種問(wèn)題,以降低用戶進(jìn)行數(shù)據(jù)庫(kù)管理系統(tǒng)架構(gòu)遷移的風(fēng)險(xiǎn)。
日前,在工信部國(guó)家工業(yè)信息安全發(fā)展研究中心組織的數(shù)據(jù)庫(kù)產(chǎn)品應(yīng)用遷移能力評(píng)測(cè)中,南大通用基于共享存儲(chǔ)的數(shù)據(jù)庫(kù)集群GBase 8s成功通過(guò)評(píng)測(cè),在同/異構(gòu)數(shù)據(jù)庫(kù)兼容、遷移評(píng)估、遷移實(shí)施、軟硬件兼容、遷移效率、性能優(yōu)化、數(shù)據(jù)校驗(yàn)等維度表現(xiàn)優(yōu)異,全方位驗(yàn)證了處理實(shí)際應(yīng)用的遷移能力。
下面就異構(gòu)OLTP數(shù)據(jù)庫(kù)遷移到GBase 8s的遷移方案做簡(jiǎn)要介紹:
項(xiàng)目遷移流程
遷移流程是整個(gè)遷移工作的指導(dǎo)框架,可有效組織遷移工作的有序開(kāi)展,主要流程步驟如下圖:
調(diào)研及方案設(shè)計(jì)
本階段主要進(jìn)行遷移前的調(diào)研評(píng)估,以及用來(lái)指導(dǎo)形成遷移落地執(zhí)行的方案。內(nèi)容包括如下幾點(diǎn):
1、遷移前期調(diào)研內(nèi)容及要點(diǎn)
調(diào)研的重點(diǎn)是了解客戶需求和當(dāng)前的痛點(diǎn),遷移后要有針對(duì)性地提供改善方案。遷移前期調(diào)研是遷移項(xiàng)目的重要工作環(huán)節(jié),此部分為項(xiàng)目實(shí)施不可省略環(huán)節(jié)。
1.1遷移前期調(diào)研的目標(biāo)
了解項(xiàng)目遷移實(shí)施范圍
評(píng)估遷移工作量、實(shí)施工期、人員數(shù)量及能力要求
評(píng)估遷移技術(shù)難點(diǎn)、項(xiàng)目主要風(fēng)險(xiǎn)
1.2遷移前期調(diào)研的內(nèi)容
遷移系統(tǒng)現(xiàn)狀:原數(shù)據(jù)庫(kù)系統(tǒng)架構(gòu)拓?fù)鋱D、相關(guān)配置、上下游情況、原庫(kù)版本
系統(tǒng)運(yùn)行狀況:應(yīng)用場(chǎng)景、重要性級(jí)別評(píng)估、應(yīng)用部署架構(gòu)、業(yè)務(wù)類(lèi)型、業(yè)務(wù)場(chǎng)景中增刪改查各占的大致比例、并發(fā)情況、業(yè)務(wù)系統(tǒng)總用戶數(shù)
系統(tǒng)指標(biāo)要求:業(yè)務(wù)高峰時(shí)期的響應(yīng)時(shí)延要求,批處理并發(fā)數(shù),處理數(shù)據(jù)量、處理耗時(shí)、業(yè)務(wù)數(shù)據(jù)生命周期等
接口情況:應(yīng)用開(kāi)發(fā)語(yǔ)言,開(kāi)發(fā)環(huán)境ORM框架版本信息、訪問(wèn)數(shù)據(jù)庫(kù)接口協(xié)議、連接池配置、長(zhǎng)連接/短連接等、第三方工具支持要求
2、遷移方案設(shè)計(jì)
遷移方案需根據(jù)遷移前期調(diào)研結(jié)果,并針對(duì)客戶對(duì)該系統(tǒng)使用需求和痛點(diǎn)制定項(xiàng)目替換改造實(shí)施方案,主要包括:
遷移系統(tǒng)的硬件配置和部署方案;
針對(duì)客戶需求和痛點(diǎn)提供的針對(duì)性解決方案;
遷移實(shí)施的步驟和工作內(nèi)容;
實(shí)施計(jì)劃和里程碑。
3、硬件資源評(píng)估
GBase 8s集群的硬件配置評(píng)估方式采用倒推的方法,即首先需要獲取原庫(kù)的詳細(xì)配置信息,之后再根據(jù)CPU整體核數(shù)、內(nèi)存容量、磁盤(pán)容量并結(jié)合業(yè)務(wù)數(shù)據(jù)量趨勢(shì)評(píng)估GBase 8s集群?jiǎn)闻_(tái)服務(wù)器的配置以及配置服務(wù)器的臺(tái)數(shù)。原則上GBase 8s集群所有服務(wù)器的CPU整體核數(shù)、內(nèi)存容量和磁盤(pán)容量及盤(pán)片數(shù)量應(yīng)不得小于原庫(kù)配置。對(duì)于倒推法不適應(yīng)的場(chǎng)景,也可以參考GBase 8s集群推薦的硬件配置。
數(shù)據(jù)及業(yè)務(wù)遷移
GBase 8s提供平滑遷移整體解決方案,可使替換過(guò)程中GBase 8s數(shù)據(jù)庫(kù)應(yīng)用上線過(guò)程風(fēng)險(xiǎn)總體可控、系統(tǒng)運(yùn)行平滑。整個(gè)過(guò)程分為三個(gè)階段:在第一階段,需要在完成全量備份恢復(fù)的基礎(chǔ)上,通過(guò)數(shù)據(jù)同步工具實(shí)現(xiàn)當(dāng)前主源數(shù)據(jù)庫(kù)向備用GBase 8s數(shù)據(jù)庫(kù)的實(shí)時(shí)數(shù)據(jù)同步;第一階段平穩(wěn)運(yùn)行一段時(shí)間后,數(shù)據(jù)庫(kù)側(cè)進(jìn)行主、備份角色互換后進(jìn)入第二階段:由GBase 8s集群數(shù)據(jù)庫(kù)支撐業(yè)務(wù)系統(tǒng)運(yùn)行,業(yè)務(wù)數(shù)據(jù)實(shí)時(shí)向源數(shù)據(jù)庫(kù)同步;最后階段,原數(shù)據(jù)庫(kù)系統(tǒng)割接下線,完成平滑遷移過(guò)程。
接下來(lái)需要通過(guò)對(duì)全量、增量數(shù)據(jù)的遷移、遷移前后數(shù)據(jù)的比對(duì)方式等技術(shù)難點(diǎn)進(jìn)行提前規(guī)劃。
全量數(shù)據(jù)遷移方案評(píng)估及要點(diǎn)
遷移全量數(shù)據(jù),其遷移的時(shí)間窗口很大程度決定于全量遷移是一次性還是分批遷移。主要有以下幾個(gè)方面的因素影響,需要重點(diǎn)考慮:
源數(shù)據(jù)庫(kù)遷移數(shù)據(jù)量【需要實(shí)測(cè)以評(píng)估源庫(kù)內(nèi)數(shù)據(jù)的壓縮比】;
業(yè)務(wù)允許的停機(jī)時(shí)間窗口【此過(guò)程中源庫(kù)需要處于只讀狀態(tài),且負(fù)載要輕,往往是硬約束條件】;
源數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出性能【需要實(shí)測(cè)已確定能力】;
遷移工具服務(wù)器臺(tái)數(shù)、IO性能、與8s集群網(wǎng)絡(luò)帶寬【遷移環(huán)境制約因素】;
8s集群節(jié)點(diǎn)的加載性能【IO性能和網(wǎng)絡(luò)帶寬綜合考慮】。
對(duì)于遷移時(shí)間窗口的預(yù)估,需按照如下的公式進(jìn)行估算:
遷移整體時(shí)間 = 源庫(kù)導(dǎo)出時(shí)間 + GBase 8s加載時(shí)間 + 數(shù)據(jù)校驗(yàn)時(shí)間
數(shù)據(jù)遷移需要還需要注意:
源庫(kù)數(shù)據(jù)導(dǎo)出的性能需要實(shí)測(cè);
評(píng)估萬(wàn)兆帶寬的使用率時(shí)要給出一定的冗余度,一般計(jì)算需要乘以1/2系數(shù);
整體時(shí)間窗口按照導(dǎo)出和加載串行方式評(píng)估,保證一定冗余度應(yīng)對(duì)突發(fā)情況,而實(shí)際執(zhí)行時(shí)可以按照多并發(fā)方式設(shè)計(jì)遷移的實(shí)際執(zhí)行方式。
數(shù)據(jù)校驗(yàn)
數(shù)據(jù)校對(duì)采用的方法是通過(guò)比對(duì)原系統(tǒng)和遷移系統(tǒng)對(duì)相同數(shù)據(jù)的加工結(jié)果,通過(guò)結(jié)果是否一致來(lái)推斷過(guò)程是否遷移的正確。
數(shù)據(jù)校對(duì)常用方法:
總量校對(duì):count值、sum值、avg值對(duì)比;
分量校對(duì):對(duì)表內(nèi)各維度進(jìn)行g(shù)roup by后對(duì)這個(gè)維度的一個(gè)指標(biāo)值進(jìn)行count、sum、avg核對(duì);
錯(cuò)誤對(duì)比:在發(fā)現(xiàn)不一致的表時(shí),將對(duì)比的表拉到一個(gè)環(huán)境上進(jìn)行詳細(xì)分析,如進(jìn)行minus運(yùn)算,找出差數(shù)據(jù)再進(jìn)一步分析;
校對(duì)報(bào)告:校對(duì)報(bào)告是校對(duì)工作輸出物,對(duì)數(shù)據(jù)一致性問(wèn)題進(jìn)行記錄和分析,對(duì)之前解決的問(wèn)題進(jìn)行追溯,形成數(shù)據(jù)校對(duì)工作常見(jiàn)問(wèn)題的知識(shí)體系。