问题
已受理

外部系统能否只同步上次同步后发生的变化?

QiangDiao Li

如果需要定期把 Busabase 数据同步到另一个系统,是否有增量读取的方式,只获取新增、修改和删除的记录?特别是被删除的记录,接收方应该怎样得知,避免两边的数据越来越不一致?

举报
Kelly
团队

目前 Busabase 没有一个可以作为可靠 CDC 游标的“从上次同步点起,依次取新增、修改、删除”接口。记录列表可以分别读取 active 和 archived 状态、按游标翻页;但这个游标用于翻页,不是更新事件的检查点。Webhook 可以按 Base 通知记录创建和更新,却没有对应的 record.deleted/archived 事件,所以不能只依靠它维护完全一致的外部副本。

若现在必须对接,建议先以记录 ID 做一次全量基线,同步时保存外部系统已处理的 ID;之后用创建/更新 Webhook 缩短更新延迟,同时定期重新读取该 Base 的 active 与 archived 记录做核对。对已归档记录,让接收方按 ID 标记删除或停用;若允许永久清除,也要设计全量 ID 对账,不能指望归档列表永远保留它。Webhook 投递和对账都应按记录 ID 幂等处理,不能把一次通知当成绝不会丢失的唯一依据。

我们已把带稳定变更游标与删除标记的增量同步记为需求。你们需要的是分钟级近实时镜像,还是每天一次批量同步?被删除的记录在目标系统是硬删,还是保留审计并标记停用?

举报

你的回复

登录后参与讨论。阅读始终开放,只有发帖和回复需要账号。

登录