过时的代码风格
|
写在前面 往往开始做一个项目时,不会过多的考虑性能问题,以快速迭代功能为主。后续随着业务的快速发展,系统运行的性能越来越慢,此时,就需要对系统进行相应的优化,而效果最显著的就是给系统加上缓存。那么,问题来了,当你为系统加上缓存时,有没有考虑过使用缓存需要注意哪些事项呢? 缓存命中率 缓存命中率是从缓存中读取数据的次数与总读取次数的比率,命中率越高越好。缓存命中率=从缓存中读取次数 / (总读取次数 (从缓存中读取次数 + 从慢速设备上读取次数))。这是一个非常重要的监控指标,如果做缓存,则应通过监控这个指标来看缓存是否工作良好。 缓存类型
缓存类型总体上来看,可以分为:堆缓存、堆外缓存、磁盘缓存和分布式缓存。 这种架构方式看起来也很合理,但笔者在最近做主数据监控和管理过程中,发现了诸多问题,这些问题与主数据有关、与数据质量有关、和业务系统有关 、和业务部门有关、和数据治理组织也有关。 在前文中有一个统计数据,据统计数据质量问题76%来自数据录入错误,53%来自源系统的变化,48%来自数据迁移或项目改建,46%来自用户不同的期望,26%来自系统错误。 在主数据问题分析中,也可以大致分为存量数据问题、业务流程问题、技术问题、网络问题。 网络问题是造成主数据流转出现问题的直接原因,网络抖动和网络问题时有发生,但不是主要问题,也可以通过重发机制,将数据弥补过来。 数量最多的是存量数据问题,这类问题大多数历史遗留原因导致的,系统上线之初,未按照主数据的要求进行数据迁移,A、B、C要确保一致性,只有A表正常迁移了;但需要同步A、B、C表,下游缺乏B、C表内容,所以A表也无法同步下去,据统计存量数据问题约占了80%的数据量。 其次是技术问题,主数据从A系统分发到B系统,但B系统只负责接收,但实际上并未正确入库,或者未正确返回状态,这样也会导致主数据不一致,上游的表结构修改也会导致此类问题发生。 最后是业务流程问题,A系统和B系统按照相关的业务规范实现数据流转,但随着业务的变化,A系统进行了相关修订,但B系统认为此修订与之无关,既然无关,部分数据可用可不用,所以干脆直接放弃好了。 后面的三类问题通过组织各个干系人,包括技术支撑部门、各业务部门、各业务厂家,终归可以得到解决方案,但在实际解决过程中,常常面临着职责不分,沟通协调机制、费用分摊等难题,导致看起来容易解决的问题,实际解决起来遥遥无期。
这就涉及到数据治理组织的问题了。 (编辑:广元站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



