需求:
业务库存表为状态表,直接更新库存数据,有些业务需要查询历史库存,所以要对库存表数据进行备份写到另外一张tidb表中。
1.由于表数据过大,一次insert … select … 会导致事务条数超出。
2.可能会有0点之后的交易导致非实时真正0点的数据
3.运维为了节省性能,未调整快照时长
有没有什么方案或者组件能满足该需求?
需求:
业务库存表为状态表,直接更新库存数据,有些业务需要查询历史库存,所以要对库存表数据进行备份写到另外一张tidb表中。
1.由于表数据过大,一次insert … select … 会导致事务条数超出。
2.可能会有0点之后的交易导致非实时真正0点的数据
3.运维为了节省性能,未调整快照时长
有没有什么方案或者组件能满足该需求?
优化方案:
表数据很大会导致大事务,把大事务拆散,分批插入
重构方案(会影响现有的业务):
追加版本信息,来描述库存的新旧数据,需要考虑保留多久的版本(多个版本留存会影响查询效率)
运维方案:
以上供你参考
场景不一样。
1.我们现在就是分批插入,但是可能会导致数据不一致,不是0点实时数据,也可能是中间有事务修改数据
2.业务表不可能加版本,否则表太大了,使用起来页很麻烦,查询效率会降低很多,不能因为备份影响上有业务,这就太坑了
3.下游库有,我们要的是0点时点数据,不是实时数据。CDC 保留所有的insert 和 update 操作的记录也无法备份每天的数据。
我试了直接设置 snapshot,不支持insert,而且10分钟内备份完时间也不是很充足,为了这个备份修改 snapshot时间对白天数据同步、巡检性能影响应该是挺大的,有没有类似oracle那种直接创建并保留快照的功能?
木有~
1.这个数据能存放到oss吗?
2.数据如果10分钟写不完会发生什么?
3.好像不能直接到表,只能到文件然后再导入到表?导入的话load可以使用吗?会有大事务问题吗?
https://docs.pingcap.com/zh/tidb/stable/dumpling-overview
根据官方说明,兼容s3接口的oss存储服务应该都支持
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。