You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.9 KiB

2 years ago
原则上,要求所有汇集系统必须提供增量数据变更办法,采用伪删除+时间戳策略原则上不允许对表格进行delete操作
但就是怕坚持不下来导致出现有的业务系统存在delete操作的问题。
# ds_id 为guid类型为唯一主键原来的业务主键不使用
# 每张字段都有一列 is_del,描述此条数据是否已被删除掉,需业务系统进行维护,不得真的执行 delete 操作。
如果实在说服不了业务系统就需要对于存在delete操作的业务系统表由我司研发人员手动写delete trigger,向原表中插入一个带有删除标识的数据记录,来完成对原有逻辑的维护。
---------------------------
可以考虑如下的备用方案:
增量数据通过Kafka的单Topic向业务系统发布可以避免Kafka的时序不正确问题性能下降不是最主要的矛盾问题。
# debezium同步postgresql数据至kafka
https://www.cnblogs.com/virtualzzf/p/17574740.html
# 业务系统数据库,如果共享数据增量获取异常,该如何重置?
kafka中json数据格式ts_ms记录了写入时间戳可以用Java转化为 Date类型同理一旦用户的增量数量获取异常可以采用如下方法重置
1、向数据仓库管理员申请最新的完全备份比如2023-10-31 000000
2、采用Postgresql 16还原此数据库再通过自行编码等办法完成自己业务数据库中对共享数据的重建。
3、向 Kafka中获取时间戳大于2023-10-31 000000的数据即可。
对于未来可能出现的多租户多级模式可以考虑debezium->kafka,然后用Java写代码将kafka的Topic中数据读取出来再根据划分的粒度比如到区县、到校的办法创建新的Topic,再进行写入即可。
# kafka topic和topic权限操作
https://blog.csdn.net/qq_17328759/article/details/129804571