> 目前主要针对 sql 类开发
- 典型特征就是,一处错误就是大面积错误,严重一些的,所有关联指标都错误。
- 而业务研发,一处错误,也就是那么几个记录错误。其他正常的记录,正常跑。
- 无法测试。sql 的开发往往是为了计算指标,指标难以测试,只能使用 excel 手动算一遍来校正。除非开发一个测试数据集。但是这样的数据集制作的耗时可能更多。不如直接用业务数据开发,反正和业务系统隔离。开发完毕后,直接和业务的 excel 报表对数据。也不会有大问题。
- 无法应对 corner case。当上游系统放了一个意外的数据进来,数据系统只能接受被投毒。
- 实现设计规则拦截?挂一漏万,不仔细穷举可能性就不能设计规则。不如不拦截。万一把正常数据拦截了,也讨厌。
- 还不如直接放错误数据放到下游。业务敏感的会自己上门报 bug。
- 严格的数据测试投入成本过巨。
- 如果测试太好,稳定性盖过苦劳。
- 得暴露问题。否则吃力不讨好。
- 数据有错误,又是不数据研发的错。在没我们之前,你们的日子又不是不能过。
- 反向绑架业务。努力让他们斯德哥尔摩。
- 如果业务自己用这块数据不多,那么数据错了,影响也不大。如果业务自己用这块数据多,自己也会关注起数据的质量,数据研发捕捉到这种信号后,要及时在前几次无关痛痒的小错误里,把大错误都先监控起来。跑到他们前面去。出问题了,先告知,反而没大问题。这成本也就控住了。
- 难?累?诶,就这个命!