时间:2023-01-19 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{数仓界的大神之Inmon数据仓库建设(3范式建模)}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的数仓界的大神之Inmon数据仓库建设(3范式建模)内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
上一篇()我们把数仓的分层情况讲解清楚:数仓的背景、逻辑、应用等等。 有心的同学一定会问了,这些分层是谁制定的呢?有相关的标准吗? 想要了解这个问题,你要先了解两个人,Inmon和Kimball,这两位大师就像唐诗界的李白和杜甫,如果想要透彻了解清楚数仓,一定要了解下这两位大师的对数仓的建设和推动做了哪些事情。 了解大师最好的方式就是去阅读原著,由于今天的主角是Inmon大师,所以我精读他的著作《Building the data warehouse》。第一遍我看的是中文版本,但是很电线电缆公司营销方案多精髓在翻译过程中有缺失,所以又去看了两遍原著。 一、Inmon对数仓的定义
在他的原著《Building the data warehouse》中,以上这些特征都是和传统的操作型环境对比而得出的特点。由于操作性环境不具备上述特征无法满足需求,所以inmon的数据仓库才得以应运而生。 二、Inmon模型实施步骤整体过程抽象出来可以分为两步,分别是抽出(从操作型环境到数据仓库)和迁入(数据模型的建设)。 第1步:抽出——从操作型环境到数据仓库这个过程简单来理解就是有很多熊猫分布在北京、天津、河北等地方,但是由于熊猫不适合生存在这些地方,需要把他们整体迁移到四川。第一步需要把熊猫们从现有地方抽出来。但在这个过程中会有很多问题,例如:熊猫长得比较像无法区分、熊猫的身高体重需要统一标准去度量,以便我们更高的去搬运。 回到我们真实的场景中,由于在抽出数据的过程中会遇到如下问题,需要重点去考虑:
所以相应的,我们需要去解决以下问题:
稳定性分析:根据各个属性是否经常变化,而把属性进行拆分,很少变化、不时变化、经常变化。 第2步:迁入——数据模型的建设终于把熊猫们从各个地方抽离出来了,那么如何把他们迁入他们最需要去的四川呢?是囫囵吞枣把熊猫们塞到四川呢?还是要先对他们进行分类(幼崽熊猫、青年熊猫、老年熊猫)分别进行有针对性的管理呢? 数据建模分为三个层次:高层模型、中间层模型、底层模型。 (1)高层模型(实体关系) 最抽象原始的一层,整个业务环境中最显著的关系。例如:我们现在要进行电商业务的实体关系抽象(买家、卖家、订单)。简化一下这个模型,并且表明实体之间的关系是:一对一、一对多、多对多。 (2)中间层模型(数据项集或者DIS) 对高层模型中每个实体建一个中间层模型。即:上述模型中每一个实体(卖家、买家、订单)都对应一个DIS。中间层模型的4个基本构造:
(3)底层模型(物理模型) 从中间层模型细化而来,有时也称物理模型为关系表。如果要搭建好这一层,你需要进行如下两步操作: 第一步:确定数据粒度。 啥是“数据的粒度”?数据粒度:数据最小的单元和数据汇总的单元,粒度越小表示越细,粒度越大表示越粗。例如:分钟级别的数据粒度一定比月级别的数据粒度小。 ?为啥要预估数据的粒度?好处是啥? 要回答好这个问题,首先要回忆一下上篇文章讲解的「3层6类」数据分层。数据分层的方式有很多,针对不同体量、不同业务需求的数据会有不同的设计架构。并且数佛山珠江新城灯箱广告投放据粒度的预估同时可以带来如下的好处:
数据粒度的分档有哪些? 数据粒度的预估过程如下:对数仓中将来的数据行数和所需的DASD(直接存取存储设备)数进行粗略估算。分档可以按照如下进行分档:
如何预估数据粒度? 对一个已知的表,预估的方式如下: 一张表的总空间=每行空间的大小*行数*时间+索引数据的大小*时间 总空间=表1的空间+表2的空间+….+表N的空间 每行空间的大小要分别从最大和最小考虑: 每行空间的大小 = [每行的最小估计值(下限),每行的最大估计值(上限)] 行数的预估,同样需要需要预估下时间范围内的最大和最小值: 行数=[最小行数(下限),最大行数(上限)] 时间范围可以暂且按照一年和五年这两个时间去预估考虑下。 注意: 溢出存储器中的数据。一年内总行数超过100000000,需小心设计,可以把一部分数据转移到溢出存储器中,从而应对数据量过大对性能造成的影响 确定粒度级别。首先要靠常识和行业处理经验进行合理的推断,接着要考虑对数据仓库获取数据的各个不同的体系结构实体的需求进行预测 第二步:考虑各种因素的核心物理I/O的使用情况。 物理IO就是将数据从外部存储器调入计算器,或将数据从计算器送到外部存储器。为啥要进行物理IO的考虑? 为什么要考虑这一步? 首先数据模型输出的都是表,每张表上承载的数据是有限的,所以需要通过表和表之间的关联进行关联。关联的方式就显得异常重要,如何设计表和表之间的链接,显得尤为重要。如果设计好了可以减少访问次数,降低IO;如果设计不好就会造成数据冗余,访问困难,会提升IO。 如何进行规范化从而降低物理IO? 数据在计算机和外部存储之间的传送以块为单位。从性能来看,物理IO重要是因为:存储器和计算器间的数据传输速度比计算器运算速度要慢2-3个数量级。物理IO是影响性能的主要因素。那么如何进行规范化降低物理IO,可以根据情况使用如下方式:
三、Inmon模型适用范围Inmon模型的特点是:开发进度慢,实施成本高,建设周期很长。尤其是建设前期需要花费大量时间,后期投入相对比较小,对开发人员的要求比较高,一般会选择专家团队进行开发,维护起来相对而言比较容易。 适合对设计科学性和规范性较高的企业,在业务模式较固定的行业应用较好,比如金融、电信、石油等行业。 四、Inmon模型小结优点:可以系统性的满足企业需求。因为Inmon采用的思路是自上而下的的建设方法,统一接入系统元数据,统一根据业务部门需求建设数据集市。因为建设较为规范,所以后期的维护成本非常小 缺点:瀑布式建设,前期建设人力(需要专家团队建设)、资源等投入很大。由于它的思路是从数据源头进行系统性的全面建设,一次性接入所有数据,打通所有数据,建好所有模型,所以建设的代价很大。
本文由 @数据产品高远 于,, 题图来自 Unsplash,基于CC0协议 |
上一篇:数据分析之漏斗分析,业务人如何进行有效分析
下一篇:运营策略分析体系,该如何搭建?
小提示:您应该对本页介绍的“数仓界的大神之Inmon数据仓库建设(3范式建模)”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通数仓界的大神之Inmon数据仓库建设(3范式建模)的相关事宜。
关键词:1年, Inmon, 初级, 数据仓库