在之前的ETL介绍中我们介绍了数据抽取,包括了全量数据抽取和增量数据抽取。今天给大家做一下增量和全量的差异介绍。
全量增量用于数据采集的差异:
全量抽取简单,但是数据量大;
增量抽取,相对复杂,要求对数据差异准确性高,对业务系统的性能不能有太大压力。
增量与全量用于数据同步的差异:
全量,就是每天定时(一般是夜里,避开业务高峰期)或者周期性全量把数据从一个地方拷贝到另外一个地方;可以采用直接用新数据全部覆盖旧数据的方式;或者覆盖前判断下如果新旧不一致就更新,如果不一致则不更新;这里面有一个隐藏的问题:如果采用异步写,数据源物理删除了,怎么直接通过全量数据同步?这就需要借助一些中间操作日志文件,或者其他手段,把这些“看不到”的数据记录起来。
全量同步一般不会造成数据的不一致情况,但随着数据量的增大,全量数据到最后往往会非常大造成生成和处理都有点不太可能;
增量同步,主要是生产方和接收方生成和处理数据逻辑都不会很简单,时间一长,很容易造成数据的不一致;
增量构建和全量构建的差异:
全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。
全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结果,查询性能会受影响。
全量构建不需要对后续的Segment合并,增量构建累计一定量的Segment后需要进行合并。全量构建适合小数据量或全表更新的Cube,增量构建适合大数据量的Cube。
两种方式用于数据备份的差异:
全量备份慢,但是备份恢复快,要求的磁盘空间多;增量备份速度相对快,但是恢复速度慢,磁盘空间要求少。另外还有一种差异备份,就是将新旧数据差异部分记录下来,这种备份方式备份速度、恢复速度、空间要求都是折中的选择。
领取专属 10元无门槛券
私享最新 技术干货