如何判断一个数据模型的好坏
作者:互联网
大家都知道,大数据之路推荐的建模原则是
l高内聚和低辑合
将业务相近或者相关、粒度相同的数据设计为一个逻辑或者物理模型:将高概率同 时访 问的数据放一起 ,将低概率同时访问的数据分开存储。
l核心模型与扩展模型分离
建立核心模型与扩展模型体系,核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要 ,不能让扩展模型的宇段过度侵人核心模型,以免破坏核心模型的架构简洁性与可维护性。
l公共处理逻辑下沉及单一
越是底层公用的处理逻辑越应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑多处同时存在。
l成本与性能平衡
适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。
l数据可回滚
不改变处理逻辑,不修改代码的情况下重跑任务结果不变
l一致性
字段命名及定义必须一致
l命名清晰、可理解
表命名需清晰、一致,表名需易于使用方理解
那么,到底如何去判断一个模型的好坏呢?
总体原则应该是
l 需求响应速度提升
l 查询速度变快
l 查询成本降低
l 用户满意度提升
1.模型层的完整度
比较好的模型,使用方是可以直接从该模型获取所有想要的数据的,如果dws,ads,dm层直接引用ods层的表比例太大,即跨层引用率太高,则该模型不是最优,可以继续优化
2.复用度
dw,dws下游直接产出的表的数量
3.规范度
表需要关联上主题域并且需要分层
表命名符合规范(清晰、一致,表名需易于使用方理解)
字段命名是依赖于词根
4.数据可回滚
重跑数据的情况下,数据结果不变
5.核心模型与扩展模型分离
建立核心模型与扩展模型体系,核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要 ,不能让扩展模型的宇段过度侵人核心模型,以免破坏核心模型的架构简洁性与可维护性。
你要悄悄学会HBase,然后惊艳所有人(1.7万字建议收藏)
一文带你深入了解kafka并提供52道企业常见面试题(1.8W字建议收藏)
非常全面的DolphinScheduler(海豚调度)安装使用文档
标签:宇段,判断,核心,模型,扩展,逻辑,好坏,数据,数据模型 来源: https://blog.csdn.net/zuochang_liu/article/details/110430132