數(shù)據(jù)倉(cāng)庫(kù)同步策略概述
應(yīng)用系統(tǒng)所產(chǎn)生的業(yè)務(wù)數(shù)據(jù)是數(shù)據(jù)倉(cāng)庫(kù)的重要數(shù)據(jù)來(lái)源,我們需要每日定時(shí)從業(yè)務(wù)數(shù)據(jù)庫(kù)中抽取數(shù)據(jù),傳輸?shù)綌?shù)據(jù)倉(cāng)庫(kù)中,之后再對(duì)數(shù)據(jù)進(jìn)行分析統(tǒng)計(jì)。
為了方便上層指標(biāo)的統(tǒng)計(jì),數(shù)據(jù)的同步策略有全量同步和增量同步。
同步方式是針對(duì)對(duì)應(yīng)的表而言的!
為什么要做數(shù)據(jù)同步?
數(shù)據(jù)倉(cāng)庫(kù)的目的是對(duì)歷史數(shù)據(jù)做分析,并對(duì)外提供數(shù)據(jù)服務(wù),業(yè)務(wù)數(shù)據(jù)庫(kù)不能很好的存儲(chǔ)大量的歷史數(shù)據(jù),并且在根據(jù)業(yè)務(wù)數(shù)據(jù)進(jìn)行分析時(shí),業(yè)務(wù)數(shù)據(jù)不能很好的承受分析帶來(lái)的性能消耗,因此我們需要將數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫(kù)中,使用數(shù)據(jù)倉(cāng)庫(kù)作為指標(biāo)分析的數(shù)據(jù)源。
一、數(shù)據(jù)的全量同步
全量同步,就是每天都將業(yè)務(wù)數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)同步一份到數(shù)據(jù)倉(cāng)庫(kù),這是保證兩側(cè)數(shù)據(jù)同步的最簡(jiǎn)單的方式。
以下是2022-06-08到2022-06-10的數(shù)倉(cāng)和業(yè)務(wù)數(shù)據(jù)庫(kù)的全量同步過程簡(jiǎn)介:
假設(shè)2022-06-08是數(shù)倉(cāng)創(chuàng)建的首日,那么數(shù)倉(cāng)需要把業(yè)務(wù)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)進(jìn)行一次全量同步,保證從這天開始,兩側(cè)的數(shù)據(jù)是一致的。
2022-06-09的數(shù)據(jù)同步如下圖,同步的3條數(shù)據(jù)中,前2條屬于前一日的數(shù)據(jù),即新增的數(shù)據(jù)只有一條,這種同步方式存在著大量的冗余。
優(yōu)點(diǎn) | 缺點(diǎn) |
---|---|
操作邏輯簡(jiǎn)單 | 在某些情況下效率較低。例如某張表數(shù)據(jù)量較大,但是每天數(shù)據(jù)的變化比例很低,若對(duì)其采用每日全量同步,則會(huì)重復(fù)同步和存儲(chǔ)大量相同的數(shù)據(jù)。 |
二、數(shù)據(jù)的增量同步
增量同步,就是每天只將業(yè)務(wù)數(shù)據(jù)中的新增及變化數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫(kù)。采用每日增量同步的表,通常需要在首日先進(jìn)行一次全量同步。
以下是2022-06-08到2022-06-10的數(shù)倉(cāng)和業(yè)務(wù)數(shù)據(jù)庫(kù)的增量同步過程簡(jiǎn)介:
假設(shè)2022-06-08是數(shù)倉(cāng)創(chuàng)建的首日,那么數(shù)倉(cāng)需要把業(yè)務(wù)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)進(jìn)行一次全量同步,保證從這天開始,兩側(cè)的數(shù)據(jù)是一致的。
從2022-06-09開始,增量同步的表只同步對(duì)應(yīng)日期的新增和變更數(shù)據(jù),利用分區(qū)表將不同日期的新增變化數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的位置。
優(yōu)點(diǎn) | 缺點(diǎn) |
---|---|
效率高,無(wú)需同步和存儲(chǔ)重復(fù)數(shù)據(jù) | 邏輯復(fù)雜,需要將每日的新增及變化數(shù)據(jù)同原來(lái)的數(shù)據(jù)進(jìn)行整合,才能使用,但在一些指標(biāo)下尤為好用。 |
三、數(shù)據(jù)同步策略的選擇
通常情況,業(yè)務(wù)表數(shù)據(jù)量比較大,優(yōu)先考慮增量,數(shù)據(jù)量比較小,優(yōu)先考慮全量;
關(guān)于一張業(yè)務(wù)表是需要使用全量同步還是增量同步,通??梢?strong>根據(jù)上層的指標(biāo)進(jìn)行抉擇,某些指標(biāo),例如每日新增指標(biāo),對(duì)增量同步的表而已,解決這個(gè)指標(biāo)比使用全量同步來(lái)得更容易;
一張表的同步策略不一定非全量即增量
一張業(yè)務(wù)表的數(shù)據(jù)量很大,并且變化程度高,每日的變化量占全表的70%,那么增量和全量所同步的數(shù)據(jù)量相差不多。
一張表的數(shù)據(jù)同步方式的可以根據(jù)數(shù)據(jù)量大小和數(shù)據(jù)變化量進(jìn)行抉擇。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-797552.html
數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建目的上是為了指標(biāo)的產(chǎn)出,所以同步方式原則上應(yīng)該是為了方便上層指標(biāo)的產(chǎn)出而進(jìn)行選擇,具體情況具體分析,因此- 具體選擇由數(shù)倉(cāng)模型決定。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-797552.html
到了這里,關(guān)于離線數(shù)據(jù)倉(cāng)庫(kù)-關(guān)于增量和全量的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!