數(shù)據(jù)遷移有哪些方法?以下列舉5種常用的數(shù)據(jù)遷移方法:
數(shù)據(jù)遷移的方法1:將表結(jié)構(gòu)和數(shù)據(jù),直接導(dǎo)出成sql,去目標(biāo)庫(kù)中執(zhí)行要求:如果源庫(kù)和目標(biāo)庫(kù)類(lèi)型不同,就需要做一些調(diào)整變更,否則一旦表多了后,整個(gè)處理流程會(huì)比較麻煩做法:需要停掉源庫(kù),保證在數(shù)據(jù)同步過(guò)程中的數(shù)據(jù)一致性
數(shù)據(jù)遷移的方法2:使用備份/還原要求:源庫(kù)和目標(biāo)庫(kù)是同構(gòu)數(shù)據(jù)庫(kù),即同種類(lèi)型的數(shù)據(jù),例如mysql——mysql
數(shù)據(jù)遷移的方法3:使用開(kāi)源etl工具:以最常用的開(kāi)源etl工具為例:由于是全量備份,數(shù)據(jù)量會(huì)很大,一般需要較長(zhǎng)的備份時(shí)長(zhǎng),備份過(guò)程可能會(huì)出現(xiàn)數(shù)據(jù)庫(kù)報(bào)錯(cuò)或者連接數(shù)不足等非意料中的異常,且insert/update會(huì)占用大量的CPU資源做法:一次性 or 實(shí)時(shí)增量
數(shù)據(jù)遷移的方法4:使用代碼etl工具實(shí)現(xiàn),可以是數(shù)據(jù)級(jí)別的,也可以考慮更底層的,比如mysql走binlog, sqlserver走cdc要求:對(duì)技術(shù)要求較高,可使用數(shù)據(jù)集成工具,比如FineDataLink,從數(shù)據(jù)級(jí)別入手,基于日志增量技術(shù)進(jìn)行的數(shù)據(jù)同步,采用無(wú)侵入式的模式,對(duì)數(shù)據(jù)庫(kù)的性能影響較小。做法:實(shí)時(shí)增量。
數(shù)據(jù)遷移的方法5:如果使用云數(shù)據(jù)庫(kù),一般云廠商會(huì)有自己的一套工具實(shí)現(xiàn),比如阿里云上的dts做法:實(shí)時(shí)增量