数据模型
数据模型是对现实事物的反映和抽象,能帮助我们更好地了解客观世界。数据模型定义了数据之间的关系和结构,使得我们可以有规律地获取想要的数据。例如,在一个超市里,商品的布局都有特定的规范,商品摆放的位置是按照消费者的购买习惯以及人流走向进行摆放的
1、数据模型的作用
数据模型是业务需求分析之后,数据仓库工作开始的第一步。良好的数据模型可以帮助我们更好地存储数据,更有效地获取数据,保证数据间的一致性。
2、模型设计的基本原则
高内聚和低耦合
一个逻辑和物理模型由哪些记录和字段组成,应该遵循最基本的软件设计方法论中的高内聚和低耦合原则。主要从数据业务特性和访问特性两个角度来考虑:将业务相近或者相关的数据、粒度相同数据设计为一个逻辑或者物理模型;将高概率同时访问的数据放一起,将低概率同时访问的数据分开存储。
高内聚
高内聚:举个简单的例子:比如人员属性集合,将各个数据来源的人员的属性进行了高度的融合。不再需要访问每张源表去访问数据,而且清洗之后的数据更丰富、准确。
低耦合
低耦合:一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改,这就是高耦合的后果。
核心模型与扩展模型分离
建立核心模型与扩展模型体系,核心模型包括的字段支持常用核心的业务,扩展模型包括的字段支持个性化或是少量应用的需要。在必须让核心模型与扩展模型做关联时,不能让扩展字段过度侵入核心模型,以免破坏了核心模型的架构简洁性与可维护性
公共处理逻辑下沉及单一
底层公用的处理逻辑应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑在多处同时存在。
成本与性能平衡
适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。
数据可回滚
处理逻辑不变,在不同时间多次运行数据的结果需确定不变。
一致性
相同的字段在不同表中的字段名必须相同。