1 全量同步VS 增量同步
1.1全量同步
全量同步是指在每次同步操作时,系统会传输两个数据库或数据仓库中的所有数据
1.2 增量同步
增量同步只同步自上次同步以来发生变化的数据,而不是全部数据
1.3 两种数据同步方式对比
类型 | 适用场景 | 优点 | 缺点 |
全量同步 | 全量同步通常适用于数据量不大或者数据变化不频繁的情况,以及在初始同步或数据迁移时 | 简单易实现:不需要跟踪数据变化,直接复制所有数据。 完整性:确保数据的完整性和一致性,因为所有数据都被重新同步 | 时间和资源消耗大:需要传输大量数据,耗时且占用带宽。 成本高:对于大数据量,可能需要更多的存储和计算资源 |
增量同步 | 适用于数据量较大或数据频繁更新的环境 | 效率高:只同步变化的数据,节省时间和带宽。 成本低:减少了存储和计算资源的需求。 实时性:可以更快地反映数据的最新状态 | 复杂性高:需要有机制来跟踪和记录数据的变化。 可能存在一致性问题:如果同步过程中出现问题,可能会导致数据不一致 |
2 实时同步VS 离线同步
2.1 实时同步
实时同步指的是数据在源系统产生变化后,几乎立即被传输到目标系统
2.2 离线同步
离线同步指的是数据在源系统产生变化后,并不立即传输,而是在特定的时间点或条件下进行数据的批量传输
2.3 两种数据同步方式对比
类型 | 适用场景 | 优点 | 缺点 |
实时同步 | 需要数据高度实时性的应用,如金融交易、在线协作工具等 | 实时性:数据变化可以立即反映到目标系统,减少数据不一致的时间窗口。 数据一致性:由于同步速度快,可以减少因数据不一致导致的问题 | 系统资源消耗大:需要持续的网络连接和较高的系统资源以维持实时性。 成本高:实时同步可能需要更复杂的技术支持和更高的运维成本。 复杂性:实现实时同步需要更复杂的逻辑来处理数据冲突和同步状态 |
离线同步 | 数据实时性要求不高,或者网络条件不稳定的环境,如移动设备的数据备份、某些企业数据的定期同步等 | 系统资源消耗低:可以根据网络和系统资源情况安排同步,减少对实时资源的需求。 成本低:相比实时同步,离线同步的运维成本和技术支持要求较低。 灵活性:可以根据实际需要安排同步的时间和频率 | 延迟:数据同步存在延迟,可能无法立即反映最新的数据变化。 数据一致性风险:如果同步间隔较长,可能会导致数据不一致的问题 |
3 同步策略选择增量还是全量?
在真实的业务场景中,一般都会选择增量同步。只有在数据表初始化时会选择全量同步。
4 如果是离线同步,那么同步频次选择每天还是每小时?
同步频次需要根据业务需要进行确定,频次越小对资源的消耗越大
5 总结
- 确定数据原始表与数据目标表
原始表:读:数据来源
目标表:写:数据目的地 - 确定离线同步还是实时同步
根据业务需要,如果没有必要,可选择离线同步,减少资源消耗 - 确定增量同步还是全量同步
一般数据初始化时需要全量同步,周期同步时均为增量同步;
增量同步时,需要设置筛选条件,确保拉取数据不重叠