一、前言:

虽然做数据工作5年了,从传统行业到互联网行业,感觉啥都懂点,但是没有一样可以拿出手的,干活时没问题,但是讲东西却存在问题,最近想系统的学习一下数据仓库只是,顺便记录下,也算是对学习的一个总结。

二、数据仓库

那么,何为数据仓库,根据百度百科介绍,数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制 。

其实说白了,就是存放数据的,随着互联网行业的兴起,数据量不断的增大,通过数据可以发现一些商业信息,给企业带来价值,所以数据仓库对各个公司显得尤为重要,一个好的数据仓库,产生的价值是不可估量的

数据仓库有啥特点呢

1、数据仓库是面向主题的,根据不用的主题划分不同的域。

2、数据仓库是集成的,通过对不同来源的数据进行ETL的过程,最后汇总到数据仓库。

3、数据仓库是大容量的,随着时间的变化,数据会会越来越多。

4、一般情况是,数据仓库中的数据是不可以变化的

5、数据仓库一般是非规范化的,也就是不是必须满足3范式,数据是有冗余的。

三、数据模型概念

数据仓库的建设是基于数据模型,高质量的数据对数据仓库有着重要的意义。

数据模型的概念,通过DIKW,金字塔模型,智慧(Wisdom),知识(Knowlege),信息(Information),数据(Data)

数据模型是将数据以标准化的模式组织起来,用来模拟现实世界的信息框架蓝图,容易被人理解,便于计算机实现。数据模型是数据应用的重要基石。

数据使用低质量的模型,那么后期的坑将会无法预估,对工作会造成无法估量的困难,

比如:大量的修改和重做,重复建设,知识丢失,下游开发困难,高成本,数据质量低下,新业务无法开展,需求无法满足等等。

以下是一些低质量的建模。

1、没有准确的捕获到客户的需求,以至于建设好的数据仓库满足不了需求。

2、数据模型不完整,比如:元数据不完整,表的描述不完整,后续人员根本无法使用,这种情况比较经常常见。

3、各层模型与其扮演角色不匹配。各层级关系混乱。

4、数据结构不合理,抽象化不够,造成模型不灵活。

5、没有遵循命名规范,缺少模型的定义和描述。

6、数据模型的可读性差,

7、元数据与数据不匹配。

8、数据模型与企业标准不一致。

高质量的建模会给我们带来哪些好处呢?

1、后期维护简单,节省人力。

2、可以很快的满足客户的需求。

3、更灵活的应对变化。

4、更方便的系统集成。

5、更高的效率。

6、对于客户而言,能发现更多的商业机会。

7、能提前评估风险,减少风险。

四、数据模型基本流程

数据建模一般遵循概念模型-逻辑模型-物理模型的原则,每个模型的职责不同。

概念模型:确定系统的核心以及划清系统范围和边界。

逻辑模型:梳理业务规则及读概念模型的求精。

物理模型:从性能,访问,开发等多方面考虑做系统的实现。

概念模型:

1、注重全局理解而非细节

2、对整体架构做思考。

3、概念模型自上而下,需要不断的沟通。

4、估算项目需要的时间以及项目计划草案。

5、粗略的估算出项目需要的费用。

6、概念模型解决是数据模型工程师和客户破冰之旅,这个阶段达成共识是项目成功的重要条件。

7、概念模型可以帮助划定系统边界以及避免方向性错误。

8、概念模型是未来逻辑模型沟通基础以及逐步求精的依据。

9、概念模型最好用一张纸描述清楚整个模型。

10、与客户达成一致的商用语言。

 逻辑模型:

1、应该更精确估算出整个项目需要的时间以及项目计划草案。

2、并且根据计划更精确的估算出项目的费用。

3、当实体数据超过100时,通常情况下需要定义术语表。

4、规范化,可以先规范化再逆规范化,不可一步到位。

5、不可缺少约束的定义。

6、使用case工具做逻辑模型。

7、注重模型的版本管理。

8、不要忽视属性的长度定义和约束定义以及属性的默认值。

9、使用控制数据范围的域。

10、需要同级评审,

11、确定可信赖的数据源,关键属性要用真实的数据验证。

12、需要有一定的抽象化,未来好扩展。

13、关联关系需要强制建立,与概念模型保持一致。

逻辑模型文档比较详细,所有实体属性均需添加,实体间关系要清晰描述,需要使用术语,遵循命名规范,采用case工具创建项目文件,对各个实体以及关键属性必须要有清晰的描述。

物理模型:

1、通常情况下是使用case工具自动生成。

2、应用术语表自动转换生成字段名称。

3、对表空间,索引,视图,物化视图,主键,外键都有命名规则。

4、规范化是在逻辑层完成,本层基本不动

5、通常情况下这层需要DBA的介入,确保性能以及DDL等语句保持一致。

6、做好各种版本控制。

7、这层通常要考虑到性能,数据规模,归档等数据库的优缺点。

物理模型自动生成基础库的表结构,之后手动适当调整,生成数据字典并发布,DDL中需要注意注释的生成。

高质量的数据建模需要对真实世界的抽象而完整,用建模语言表达清晰而准确,需要的框架要稳定,满足当下需求并且可以容纳未来的变化,从企业全的视角出发构建模型,减少数据的冗余,提到性能。

posted on 2016-10-13 14:11  无尽的缥缈  阅读(568)  评论(0编辑  收藏  举报