利用复制(分发订阅)延时计算业务数据
利用复制(分发订阅)延时计算业务数据
应用条件
- 数据结果可接受延时(具硬,不接受这条不用往下看了)
- 多个横向业务多个库,业务数据具有流转性
- 结果数据需多个业务库数据支持
- 来张图吧,如下
- 图说明
- 利用事务复制(分发订阅)把业务源数据从B层同步到P层
- P层在汇总的数据基础之上把结果周期性(10,20,30分钟)数据汇总到新表
- P层的新表数据流转到N层,N层对外提供结果数据
解决了些什么?
- 减少B层库负载
- 可在P层对数据表拆分\合并数据
- 避免跨库取数据
- N层结果数据快速输出(无需计算已是结果数据,周\月\年\报表类)
踩坑说明
- 初期复制中遇到各种问题
- 需要额外验证机制、预警,对数据不同步的情况及时处理
- 更多,参考复制常见问题总结
复制问题排查进阶——复制监视器
- 复制监视器是个好东西,小红叉要及时处理
- 数据验证(库与订阅库是否一致,不太靠谱实际中遇到过验证通过(验证多次,验证选项也都试了一遍),但数据条数就是不一样的情况)
3. 令牌跟踪(分布,分发,订阅时效性能,当前是否正常的状态
4. 记录日志仔细看,还得有点耐心,没动静可能是日志记录还没刷新过来,别急的又去其他操作(被坑多次,锤自己...)
5. 事务日志剧增,定时任务收缩日志