你的位置:齐发官方app-齐发app下载开户 > 齐发官方app > >齐发官方app 数仓 | Kimball的维度建模过时了吗?
热点资讯
齐发官方app

齐发官方app 数仓 | Kimball的维度建模过时了吗?

发布日期:2021-09-09 08:05    点击次数:117

本文转载自微信公多号「大数据技术与数仓」,作者西贝。转载本文请有关大数据技术与数仓公多号。

▲作为国家西部重要的生态安全屏障,英雄的祁连山,却曾伤痕累累。过去近半个世纪的“黑色增长史”,造成冻土破碎、植被稀疏,局部生态受破坏严重。党的十八大以来,以习近平同志为核心的党中央把生态文明建设和生态环境保护摆在治国理政的重要位置。祁连山生态安全,习近平总书记亲自“出题”亲自“验收”。在总书记关切下,祁连山历经“史上最严”整改,祛多年沉疴,还欠账旧账,迎来黑色、浅绿、深绿的底色之变。祁连山整治,已经成为生态环境科学修复治理的“博物馆”“教科书”。然而从“深绿”到“常绿”,依然任重道远。视频记者:张睿、范培珅

8月19日0—24时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例33例,其中境外输入病例29例(广东9例,云南6例,北京2例,辽宁2例,上海2例,福建2例,河南2例,天津1例,黑龙江1例,江苏1例,四川1例),本土病例4例(江苏2例,云南2例);无新增死亡病例;新增疑似病例2例,均为境外输入病例(均在上海)。

在第四个“中国医师节”来临之际,8月18日上午,龙湾区委书记、温州高新区党工委书记周一富带领区四套班子领导走访医疗卫生单位,看望慰问医务人员,为他们送上鲜花和慰问品,并通过他们向全区卫生健康工作者送去节日问候和崇高敬意,希望大家崇尚医德、钻研医术、秉持医风、勇担重任,努力促进医学进步,为建设龙湾东部康养中心作出新贡献。区领导周赞、张纯芳、彭锋参加慰问。

抗击疫情,人人有责!新冠肺炎疫情防控小知识,一起来看!

从20世纪80年代中期以来,kimball一向是数据仓库和商业智能走业维度建模手段的思维开拓者。维度建模之初倘若数据仓库仅限于单服务器数据库,随着大数据时代的到来,分布式计算和分式存储成为了新的趋势,于是Ralph Kimball所广泛的维度数据建模手段和技术必要一些修订,如许才能更益地已足大数据建模的需求。必要仔细的是,在数据仓库周围, Inmon和Kimball是两大主要阵营,但是Kimball的维度建模理论对于当代数仓建设的影响可谓是特意远大的,于是本文主要商议维度建模的有关题目。

不要行使代理键

在KimBall的维度建模中,必须行使代理键行为每个维外的主键,用于处理缓慢转折维。

这个题目对于初学数仓维度建模的人而言,很容易陷入Kimball挑出的代理键的漩涡之中,以至于把时间都铺张了。其实代理键在大数据仓库环境下显得很不同时宜,并且很难维护。在实际的建模中行使自然键是一个很益的选择齐发官方app,倘若维度有一个复相符主键,只需将它们与相符理的分隔符连接在一首,即可按照多个自然键生成单个键。

总结下来不行使代理键主要有一下两个因为:

分布式计算编制,淡化了事务的概念,生成代理键的代价会很高 代理键会大大增补ETL的复杂性,对于ETL义务的开发和维护成本很高 避免行使 Type-2 SCD

缓慢转折维是维度建模理论的一个特意主要的概念,大无数情况下,Type-0 或 Type-1 SCD 能够解决题目。除非有稀奇关键的因为,否则吾会避免行使 Type-2 SCD。尤其是在大数据环境下的数据建模,几乎很少行使Type-2 SCD。

关于SCD的注释如下:

SCD1:经由过程更新维度记录直接遮盖已存在的值,它不维护记录的历史。SCD1清淡用于修改舛讹的数据。 SCD2:在源数据发生转折时,给维度记录竖立一个新的“版本”记录,从而维护维度历史。SCD2不删除、修改已存在的数据。 SCD3:清淡用作保持维度记录的几个版本。它经由过程给某个数据单元增补多个列来维护历史。例如,为了记录客户地址的转折,customer_dim维度外有一个 customer_address列和一个previous_customer_address列,别离记录现在和上一个版本的地址。SCD3能够有效维护有限的历史,而不像SCD2那样保存通盘历史。SCD3 很少行使。它只适用于数据的存储空间不能并且用户批准有限维度历史的情况。

倘若非得必要实现 Type-2 SCD(不提出行使),也不要行使代理键。相逆,将自然键与外示 SCD 中的有效日期和到期日期字段结相符行使。这只是查询稍微复杂一点,但更变通,更容易实现,并且避免了对代理键的必要。

维外快照

在有关型数据仓库时代,快照维度显得异国意义,但在大数据环境中却特意有意义。浅易休争是行使分区外,每个分区内存储的是截止现在时间的全量维度新闻。

经由过程快照的手段处理缓慢转折维,是在大数据环境的数据仓库实践中常用的手段。以离线数仓为例,计算周期清淡是每天一次,基于此周期,处理缓慢转折维的手段就是每天保留一份全量的快照数据。以商品维度为例,就是每天保留一份全量的商品快照数据。在下游的行使过程中,能够获取每天的维度新闻,行使首来特意方便。

益处

浅易,开发和维护成本矮 方便,很容易理解,下游行使数据时只必要限制所必要的日期即可

弱点

存储铺张 综相符望来,由于存储成本远矮于CPU、内存的成本,此手段是殉难存储获取ETL效果优化和逻辑上的浅易,隐微是利大于弊的。 数据建模的非规范化

所谓的非规范化,即是将某些维度属性冗余至原形外。以前之于是不赞许如许做,片面因为是由于 RDBMS 将数据存储在外中的手段。随着 Parquet 和 ORC 等列式数据存储格式的展现;这不再是一个大题目。

在传统的维度建模的星型模型中,对于维度的处理是将其单独存放在特意的维外中,然后经由过程原形外的外键获取维度。如许做的方针是为了缩短原形外的冗余,从而缩短存储消耗。

但是在大数据背景下,考虑到挑高下游义务的行使效果,降矮获取数据的复杂性,缩短有关外的数目,清淡的做法是将常用的维度冗余至原形外中。

善于行使复杂的数据类型

清淡,行为数据工程师,吾们的做事是将非结构化数据集重新结构为结构化(或半结构化)数据集,但是在一些场景下,非结构化是一个很益的选择。

复杂的数据类型忤逆了最主要的范式(原子列)规则,其实你会发现,维度数据建模的很多传统理论都忤逆了其中的一些规则。由于复杂数据类型行使首来特意变通,其在当代数据仓库中功能是特意富强的。

当某个实体的详细新闻在不久的异日发生转折时,行使一个 JSON来保存这些字段是很有必要的,直到schema的细节能够固化。

对于一对多的情况,行使数组也许是一个很益的方案,例如,倘若在商品维度中存储一些标签字段,吾们就能够将这些字段存在在一个数组字段中,而不是将标签存储在 一张标签外中。

值得仔细的是,对于一些稀奇的场景,要善于行使复杂类型,而不是滥用复杂数据类型。结构化照样是建模过程中必要考虑的重点。

总结 

Ralph Kimball的维度建模理论对于当今数据仓库建模的影响可谓是特意远大的,吾们现在主流的数仓建模都是基于维度建模的。随着大数据技术的赓续发展,维度建模的一些手段需求随之做出一些调整,但是其中央理维是不变的。另外,行为数仓开发者,吾们要按照一个准则:数据仓库的设计是为了营业服务的,是为了发挥数据运营的上风而存在的,于是彰显数据价值,赋能营业添长才是吾们必要考虑的最根本题目。

【编辑选举】齐发官方app

手把手教你蓝牙制定栈入门 一专多能 潮数推多制定云存储网关 Server-Speaks-First 有点坑,Linkerd 2.10 中的制定检测和不透明端口 Shreder:一款功能富强的多线程SSH制定暗号爆破工具 FFmpeg4.3系列之27:onvif+gsoap制定精讲与代码封装实战
上一篇:齐发官方app 人造智能与大数据成为奥运选手收获升迁的关键因素
下一篇:齐发官方app 吾国大数据营业面临的逆境和破局思考