数据仓库系列1-高质量数据建模
一、前言:
虽然做数据工作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中需要注意注释的生成。
高质量的数据建模需要对真实世界的抽象而完整,用建模语言表达清晰而准确,需要的框架要稳定,满足当下需求并且可以容纳未来的变化,从企业全的视角出发构建模型,减少数据的冗余,提到性能。
转载于:https://www.cnblogs.com/wujin/p/5956309.html
数据仓库系列1-高质量数据建模相关推荐
- 数据仓库笔记(高质量建模)——01
接下来写随手写一些上课笔记,就当作在学习探索- 存在些理解错误或偏差,也会记录些问题,看到的小伙伴懂的话可顺便给个回复或纠正些问题,看了哪些不懂的伙伴也可以留言,看到后会给回复(有些不大懂的就略过啊- ...
- 数据仓库笔记(高质量建模)04——元数据管理
一.元数据定义 Information about data ,中介数据.中继数据,指用于描述数据的数据,用于描述数据数据属性的信息.用来支持如指示存储位置.历史数据.资源查找.文件记录等功能.[信息 ...
- 数据建模学习笔记-2-《高质量数据库建模 2-建模流程》
https://edu.hellobi.com/course/54/play/lesson/875 1.数据建模基本流程 在建模的不同阶段,将数据模型分为三个层次,每层的作用各不相同 1).概念模型 ...
- 【数智化案例展】浙江电信——数据中台与BI技术助力通信行业驱动高质量数据价值的流通闭环...
网易数帆案例 本项目由网易数帆投递并参与"数据猿行业盘点季大型主题策划活动--<2022中国企业数智化转型升级创新服务企业>榜单/奖项"评选. 数据智能产业创新服务媒体 ...
- 数据仓库笔记(高质量建模)02——数据规范
数据规范前,需注意: 1.列出实体:名词(表): 2.勾勒出关系:动词: 3.尽量消除多对多关系: 4.列出所有属性(列): 5.数据规范需满足:1NF >2NF >3NF >BC ...
- 数据仓库系列(二)哲学建模的艺术:如何完成数仓的维度建模设计??--做好宏观角度考虑维度一致性
写在前面: 我是「nicedays」,一枚喜爱做特效,听音乐,分享技术的大数据开发猿.这名字是来自world order乐队的一首HAVE A NICE DAY.如今,走到现在很多坎坷和不顺,如今终于 ...
- 01 手把手带你构建大规模分布式服务--高并发、高可用架构系列,高质量原创好文!...
作者:丁浪,目前在创业公司担任高级技术架构师.曾就职于阿里巴巴大文娱和蚂蚁金服.具有丰富的稳定性保障,全链路性能优化的经验.架构师社区特邀嘉宾! 阅读本(系列)文章,你将会收获: 全面.体系化的了解大 ...
- 数据仓库系列篇——唯品会大数据架构
https://zhuanlan.zhihu.com/p/45123018 What--大数据&数据仓库 什么是大数据? * 广义的大数据是指:无法用现有的软件工具提取.存储.搜索.共享.分析 ...
- 【数据竞赛】高质量数据科学竞赛平台汇总
前言 学习过机器学习算法的小伙伴大多数都听说过"打比赛",一些同学自己参与过一些比赛项目,从中获益匪浅.今天来详细罗列一下国内外的比赛平台,方便即时找到自己感兴趣的项目,pc点击阅 ...
最新文章
- H3C 静态默认路由配置
- ISIS建立邻居的条件
- 语言 分组计算hr_干货 | HR不得不知的面试技巧
- idea中Error:java: Compilation failed: internal java compiler error
- python 字节码指令含义_python 字节码指令列表
- Linux下 JNI的使用
- 程序员们怎么过端午?你属于哪一款?
- elasticsearch安装bigdest插件
- DDD(Domain-Driven Design)领域驱动设计-(二)事件风暴
- html5 游戏营销,五大H5游戏营销成功案例,你都玩过了吗?
- MATLAB机器人工具箱使用
- TML5期末大作业:咖啡网站设计——咖啡网站pc端带轮播js (5页) 学生酒水网页作业, 生鲜水果网页作业成品, 零食小吃网页作 美食网页业模板
- 在word中插入目录,不把目录的页数计算在内
- 基于宝塔面板把网站和数据库文件备份到又拍云存储空间图文教程
- 幽门杆菌来源_肉毒杆菌毒素和设计移情的艺术
- AUTOSAR MCAL SPI配置
- 白色恋人--18首扣人心弦的经典情歌
- Intellij idea Tips 之 创建文件自动生成文档描述
- 设置淘宝sku方法技巧 淘宝SKU如何设置
- 局域网访问提示无法访问检查拼写_Win7访问共享文件夹提示请检查名称的拼写的解决方法...
热门文章
- 开源 免费 java CMS - FreeCMS-功能说明-用户管理
- LinuxMint 14 更新源(能成功的!)
- 利用Cache,asp.net 简单实现定时执行任务
- at24c16如何划分出多个读写区_51单片机向at24c16EPROM写入一个数据每问题,写入多个数据,读出的数据都一样...
- 时序约束,STA的QA
- linux命令行 正则,在Linux命令行中使用正则表达式
- oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...
- 解读4G发牌事件,了解下4G那点事!
- pytorch实现人脸表情识别
- 【新技术】不用开发者账号申请ios证书真机调试