背景
如果数据要存储多份的时候,为了保证数据的准备性,我们需要保证数据更新的同步性
同步方式
1.全量同步:就是每天定时(避开业务高峰期)或者周期性全部把数据从一个地方拷贝到另一地方。(全部的数据)
2.增量同步:只需要去同步那些改动过,需要跟新的数据。增量的基础是全量,首先需要将全量数据拷贝过来,然后再采用增量方式同步更新。增量会抓取某个时刻(更新时间)或者检查点(checkpoint)以后的数据来同步。这里有个关键性的前提:副本一端要记录或知道(通过查询更新日志或者订阅更新)哪些数据更新了
各自的优缺点
增量:生成和接受方生成和处理数据逻辑复杂,时间一长容易造成数据不一致问题
1⃣️数据提供方,制作增量包很麻烦,所有的改动都要记录,稍微记错就全部完了
2⃣️数据接收方,更加增量包来实施更新的逻辑比较麻烦
3⃣️中间过程出现问题是很难定位的
全量:
1⃣️数据量太大,没有改动的数据也要同步
2⃣️生成方和消费方的逻辑比较简单,固定某一时刻导出重新生成所有的数据。于是对于全面性和准确方面需要很高的要求。
例如:使用全量的方式同步白名单,但是某天数据同步时,丢失了数据,那么这个系统或者数据会产生崩溃的现象。那么如何防止或者检查这种现象?
通过生产方特别是消费方对全量数据做一个检查,如果发现数据异常,则立马停止同步,并检查。最简单的方法就是检查:数据处理的数量(太多或者太少