Redis是目前最流行的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù),憑借高性能和豐富的數(shù)據(jù)類型的特性,不僅可以作為緩存,還可以作為一個(gè)可持久化的數(shù)據(jù)庫(kù)存儲(chǔ)。隨著業(yè)務(wù)的發(fā)展和版本的迭代,必然會(huì)遇到內(nèi)存不足、集群節(jié)點(diǎn)不夠和BUG等一系列問(wèn)題。為了防止這些問(wèn)題導(dǎo)致的系統(tǒng)故障,常常會(huì)把對(duì)內(nèi)存、集群節(jié)點(diǎn)擴(kuò)縮容和版本升級(jí)等操作作為工作考核的重要一項(xiàng)。這些操作都涉及了數(shù)據(jù)的遷移,所以,提供高效、安全的不停機(jī)數(shù)據(jù)遷移方案是非常有必要的。
現(xiàn)在,NineData 在支持業(yè)務(wù)不中斷的前提下,實(shí)現(xiàn)了配置簡(jiǎn)單、穩(wěn)定、高效、安全的數(shù)據(jù)遷移服務(wù),很好地滿足版本升級(jí)、擴(kuò)容、縮容等場(chǎng)景下對(duì)數(shù)據(jù)遷移和同步的需求。經(jīng)實(shí)測(cè),NineData 可在 2分鐘內(nèi)完成2000萬(wàn)個(gè) key(5GB)數(shù)據(jù)的遷移,平均 遷移速度為 164398 個(gè)key/秒,性能是開(kāi)源工具的2倍多。
1、傳統(tǒng)的遷移方案
目前,數(shù)據(jù)遷移主要的方式有:使用 RDB 遷移,或一些開(kāi)源工具進(jìn)行數(shù)據(jù)遷移。對(duì)于這些方式的遷移,會(huì)存在一些問(wèn)題:
需要停機(jī),對(duì)于拷貝 RDB 文件方式的遷移,不能保障在線業(yè)務(wù),并且也不能兼容大版本升級(jí)。
準(zhǔn)確性難保障,不支持?jǐn)?shù)據(jù)檢測(cè)能力,遷移后的數(shù)據(jù)質(zhì)量難以保障。
可靠性差,對(duì)于開(kāi)源工具,遷移異常后,進(jìn)程直接退出。
運(yùn)維性差,不能進(jìn)行暫停、限流、告警等操作。
2、高性能的遷移方案
NineData 提供的數(shù)據(jù)復(fù)制同時(shí)包含了數(shù)據(jù)遷移和數(shù)據(jù)同步的能力,在不影響業(yè)務(wù)的前提下,提供了高效、穩(wěn)定、安全的遷移能力。相較于傳統(tǒng)遷移比,NineData 的 Redis 數(shù)據(jù)遷移能力有如下優(yōu)勢(shì):
?? 簡(jiǎn)單易用
一分鐘即可完成任務(wù)配置,并全自動(dòng)化完成任務(wù)遷移。
?? 強(qiáng)勁性能
通過(guò)動(dòng)態(tài)攢批、隊(duì)列優(yōu)化、流式內(nèi)存管理等核心技術(shù),遷移性能達(dá)到16萬(wàn)key/秒,性能是開(kāi)源遷移工具的2倍,有效保障遷移效率。
?? 高可靠
結(jié)合新型斷點(diǎn)、異常診斷及豐富的修復(fù)手段,對(duì)于遷移過(guò)程中可能出現(xiàn)軟硬件故障,提供完善的容災(zāi)能力,大大提高了遷移的成功率。
通過(guò)上述優(yōu)勢(shì),保證了 NineData 在 Redis 遷移場(chǎng)景下的領(lǐng)先性。另外,NineData 還提供了對(duì)比功能,包含全量、快速和不一致復(fù)檢的對(duì)比方式,并且也支持不同的對(duì)比頻率。在遷移或復(fù)制結(jié)束后,通過(guò)對(duì)比,有效地保障數(shù)據(jù)的質(zhì)量。
3、操作使用
NineData 在提供強(qiáng)大遷移能力的同時(shí),也保證了使用的簡(jiǎn)單性,只需1分鐘就能完成遷移任務(wù)的配置,實(shí)現(xiàn)完全自動(dòng)化的數(shù)據(jù)遷移過(guò)程。下面我們來(lái)看下整個(gè)任務(wù)的配置過(guò)程:
3.1 遷移鏈路的配置
遷移鏈路的配置
1. 配置任務(wù)名稱,選擇要遷移的源和目標(biāo)實(shí)例。
2. 選擇復(fù)制類型,數(shù)據(jù)遷移選擇結(jié)構(gòu)和全量復(fù)制(數(shù)據(jù)遷移)。
3. 根據(jù)需要,選擇合適的沖突處理策略。
3.2 選擇遷移對(duì)象
選擇遷移對(duì)象
選擇遷移對(duì)象:可選擇不同 DB 進(jìn)行遷移。
3.3 配置映射對(duì)象
配置映射對(duì)象
配置映射:可以把源實(shí)例的多個(gè)數(shù)據(jù)庫(kù)(0~15)映射到目標(biāo)實(shí)例的指定1個(gè)或多個(gè)數(shù)據(jù)庫(kù),通過(guò)該映射能力可以實(shí)現(xiàn)類似于 MySQL 多源復(fù)制的場(chǎng)景。
3.4 預(yù)檢查
預(yù)檢查
通過(guò)完善的檢查項(xiàng),保證了遷移任務(wù)的穩(wěn)定性。到此,我們就完成了一個(gè)高效、安全的 Redis 遷移任務(wù)的配置,當(dāng)完成配置并啟動(dòng)任務(wù)后,NineData 會(huì)自動(dòng)啟動(dòng)全量復(fù)制及增量復(fù)制過(guò)程,實(shí)現(xiàn)全自動(dòng)化的數(shù)據(jù)遷移。
同時(shí),為了提供更好的遷移體驗(yàn),NineData 針對(duì)遷移過(guò)程提供了完善的觀測(cè)、干預(yù)能力。其不但提供對(duì)象遷移的詳細(xì)狀態(tài)、進(jìn)展、詳情,還通過(guò)監(jiān)控和日志透露后臺(tái)線程的內(nèi)部執(zhí)行情況,幫助用戶全方位追蹤遷移進(jìn)展。同時(shí),還針對(duì)運(yùn)行過(guò)程中可能出現(xiàn)的異常情況,提供基礎(chǔ)診斷和遷移限流能力,讓用戶能夠自主快速地診斷并修復(fù)鏈路,保障遷移穩(wěn)定性。遷移期間的信息:
NineData針對(duì)遷移過(guò)程提供了完善的觀測(cè)能力
NineData提供完善的可干預(yù)能力
NineData提供基礎(chǔ)診斷和遷移限流能力
4、總結(jié)
NineData 基于全量復(fù)制、增量日志復(fù)制技術(shù),提供了高效、安全可靠的 Redis 不停機(jī)遷移方案。當(dāng)然,除了 Redis,NineData 已經(jīng)支持?jǐn)?shù)十種常見(jiàn)數(shù)據(jù)庫(kù)的遷移復(fù)制,實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移、數(shù)據(jù)容災(zāi)、數(shù)據(jù)雙活、數(shù)據(jù)倉(cāng)庫(kù)實(shí)時(shí)集成等業(yè)務(wù)場(chǎng)景。同時(shí),除了 SAAS 模式外,還提供了企業(yè)專屬集群模式,滿足企業(yè)最高的數(shù)據(jù)安全合規(guī)要求。目前,NineData已在運(yùn)營(yíng)商、金融、制造業(yè)、地產(chǎn)、電商等多個(gè)行業(yè)完成大規(guī)模應(yīng)用實(shí)踐。
審核編輯 黃宇
-
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
1792瀏覽量
64410 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3215瀏覽量
42327 -
Redis
+關(guān)注
關(guān)注
0文章
370瀏覽量
10830
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論