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

基于javaPoet的緩存key優(yōu)化實踐

使用LMP90100連續(xù)工作2、3分鐘后,每片LMP90100返回的數(shù)據(jù)都是某個固定通道的數(shù)據(jù),為什么?
緩存對大數(shù)據(jù)處理的影響分析
信號板上面的ADS1255開機不到1分鐘就發(fā)燙,為什么?
C2000?第2代至第3代MCU功能安全使能器遷移指南

評論