PostgreSQL 是一種備受開發(fā)者和企業(yè)青睞的關(guān)系型數(shù)據(jù)庫(kù),其豐富的數(shù)據(jù)類型、地理空間負(fù)載和強(qiáng)大的擴(kuò)展能力等特性使其備受歡迎。然而,在企業(yè)使用 PostgreSQL 承載應(yīng)用的過程中,由于業(yè)務(wù)需要上云、跨云、下云、跨機(jī)房遷移、跨地域遷移、數(shù)據(jù)庫(kù)版本升級(jí)、擴(kuò)縮容等場(chǎng)景的普遍存在,因此需要進(jìn)行 PostgreSQL 的遷移。
在 PostgreSQL 遷移過程中,遷移時(shí)間、數(shù)據(jù)準(zhǔn)確性和業(yè)務(wù)停機(jī)要求是影響遷移成功的關(guān)鍵因素。因此,選擇合適的遷移工具至關(guān)重要,以提供高效、安全、準(zhǔn)確的遷移能力。
1. 傳統(tǒng)的遷移方案
當(dāng)前,常見的 PostgreSQL 遷移方案為備份恢復(fù)、pg_dump/pg_restore,這兩種遷移方案普遍存在如下的問題:
停機(jī)時(shí)間長(zhǎng),上述方案通常要求,在數(shù)據(jù)庫(kù)遷移期間,業(yè)務(wù)停止服務(wù),停服時(shí)間通常高達(dá)數(shù)小時(shí)/上天,對(duì)業(yè)務(wù)的挑戰(zhàn)極大。特別當(dāng)遷移難度較高時(shí),通常反復(fù)多次遷移,業(yè)務(wù)停服時(shí)間更不可控。
可靠性不高,客戶端工具不提供遷移過程的觀測(cè)、診斷與修復(fù)能力,很容易出錯(cuò)。
數(shù)據(jù)準(zhǔn)確性難保障,此類工具因不提供對(duì)應(yīng)的質(zhì)量檢測(cè)能力,所以遷移的數(shù)據(jù)質(zhì)量一般難以保障。
大數(shù)據(jù)量遷移挑戰(zhàn),因其性能及容災(zāi)能力不足,不能很好支撐大數(shù)據(jù)量、大表的遷移。
2. 業(yè)務(wù)不停機(jī)遷移方案
為了解決用戶在 PostgreSQL 遷移過程中可能面臨的問題,玖章算術(shù)旗下的云原生智能數(shù)據(jù)管理平臺(tái) NineData 推出了 PostgreSQL 業(yè)務(wù)不停服數(shù)據(jù)遷移能力。NineData 實(shí)現(xiàn)了完全自動(dòng)化的結(jié)構(gòu)遷移和全量數(shù)據(jù)遷移,并且還提供了變更數(shù)據(jù)的遷移能力。這種能力可以實(shí)時(shí)監(jiān)聽源 PostgreSQL 中的變更數(shù)據(jù),在完成全量遷移后將變更數(shù)據(jù)實(shí)時(shí)復(fù)制到目標(biāo) PostgreSQL,從而實(shí)現(xiàn)源/目標(biāo) PostgreSQL 的動(dòng)態(tài)復(fù)制。在 PostgreSQL 數(shù)據(jù)遷移過程中,業(yè)務(wù)可以正常提供服務(wù),無需停服。最終,業(yè)務(wù)可以根據(jù)需求選擇對(duì)應(yīng)的時(shí)間點(diǎn)切換到目標(biāo) PostgreSQL。具體流程請(qǐng)參見下圖。
PostgreSQL數(shù)據(jù)遷移過程|NineData
除了提供業(yè)務(wù)不停服的遷移能力外,NineData 提供的 PostgreSQL 還具有如下能力:
大數(shù)據(jù)量或大表的遷移能力,基于智能分片、動(dòng)態(tài)攢批、并發(fā)遷移、表級(jí)斷點(diǎn)續(xù)傳等多種技術(shù)能力,提供強(qiáng)勁遷移能力。
結(jié)構(gòu)及數(shù)據(jù)一致性對(duì)比,NineData 提供了 PostgreSQL 的結(jié)構(gòu)對(duì)比及數(shù)據(jù)對(duì)比能力,能夠進(jìn)行高效的一致性對(duì)比,快速識(shí)別差異對(duì)象或數(shù)據(jù),并提供對(duì)應(yīng)的訂正 SQL,快速訂正修復(fù)差異內(nèi)容,有效保障遷移數(shù)據(jù)質(zhì)量。
可觀測(cè)可干預(yù)能力,NineData 提供詳細(xì)的遷移狀態(tài)、進(jìn)展及詳情信息,當(dāng)出現(xiàn)遷移異常時(shí),會(huì)提供多種診斷修復(fù)能力,幫助您保障任務(wù)穩(wěn)定性。同時(shí),提供遷移限流能力,您可根據(jù)業(yè)務(wù)需要,自定義遷移速度,保障 PostgreSQL 的穩(wěn)定性。
3. 一分鐘啟動(dòng)全自動(dòng)化遷移
雖然提供了比較強(qiáng)大的 PostgreSQL 的遷移能力,但是 NineData 使用起來非常簡(jiǎn)單,只需要花 1 分鐘時(shí)間完成任務(wù)配置,即可以完全自動(dòng)化完成數(shù)據(jù)的遷移過程。下面我們來看下整個(gè)任務(wù)的配置過程:
1. 配置復(fù)制任務(wù)
基于上述操作即可輕松、可靠得完成 PostgreSQL 的數(shù)據(jù)遷移。完成 PostgreSQL 任務(wù)配置后,NineData 會(huì)自動(dòng)進(jìn)行結(jié)構(gòu)遷移、全量數(shù)據(jù)遷移及增量數(shù)據(jù)復(fù)制。
當(dāng)數(shù)據(jù)遷移完成后,也可以配置對(duì)應(yīng)的結(jié)構(gòu)對(duì)比、數(shù)據(jù)對(duì)比進(jìn)行結(jié)構(gòu)一致性及數(shù)據(jù)一致性的校驗(yàn)。下面會(huì)進(jìn)行對(duì)比任務(wù)的配置演示。
2. 結(jié)構(gòu)對(duì)比
3. 全量數(shù)據(jù)對(duì)比
4. 寫在最后
除了 PostgreSQL,NineData 還支持?jǐn)?shù)十種常見數(shù)據(jù)庫(kù)的遷移和復(fù)制。除了 SAAS 模式,NineData 還提供企業(yè)專屬集群模式,以滿足企業(yè)對(duì)于數(shù)據(jù)安全和合規(guī)性的最高要求。目前,NineData 已在運(yùn)營(yíng)商、金融、制造業(yè)、地產(chǎn)、電商等多個(gè)行業(yè)完成大規(guī)模應(yīng)用實(shí)踐。
審核編輯 黃宇
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3752瀏覽量
64229 -
數(shù)據(jù)遷移
+關(guān)注
關(guān)注
0文章
67瀏覽量
6932 -
postgresql
+關(guān)注
關(guān)注
0文章
19瀏覽量
206
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論