当前位置:首页 > 教育 >

什么是数据关系库(关系数据库的特点有哪些)

来源:原点资讯(www.yd166.com)时间:2024-04-22 12:48:41作者:YD166手机阅读>>

01什么是宽表

从字面意义上讲就是宽表就是字段比较多的数据库表,多应用于DWD层或报表应用层,将很多维度、事实、指标等关联汇总成一张数据表。区别于DWS层,宽表往往是跨主题的,且字段较多(宽表之宽),所以非常适合用来查询和提升效率,缺点是数据冗余和存储要求较高。

02为什么要建设宽表

数据仓库建模大多数时候是要严格遵循建模要求的,星型模型或者雪花模型,而宽表的特点在于跨业务主题,所以很难遵循标准的建模要求和范式结构,而且宽表建模也没有严格的数仓分层概念,所以对于分层的好处管理方便、问题定位、节约资源等也是比较缺失的,那么我们建设宽表呢?

① 可以统一指标口径

这个问题对于大厂来说是非常常见的,大厂的特点是业务广泛,那对于做数据的同学来说面临的挑战就是数据源多、数据流复杂、口径统一困难。由于上述种种困难,就会带来报表口径不一致这种常见问题,然而这种问题是很难通过口径统一来去解决的,因为就算口径统一了,数据流各个环节的处理过程的差异,对于数据产品来说去定位也是很困难的。如果我们的报表要是都能从宽表出,那么我们报表上的指标口径肯定是一样的,其实这一点很多人都深有体会,同一个指标的口径不一致,导致我们提供的数据在不同的出口不一样,是业务部门经常提出的一个问题。所以把核心逻辑下沉到宽表,收敛口径,这样可以解决大部分指标口径不统一的情况。

② 可以提升开发效率

如果报表层的需求都能从宽表处,那么除了上述统一指标口径的好处之外,也避免了我们从头开始计算,如果每一张报表都要从DWD甚至ODS开始加工,那么不仅开发效率很慢,数据流过于复杂对于问题排查也不是很友好。

③ 可以提升数据质量

宽表的准确性都需要经过逻辑及数据准确性的校验,对于开发来说人为开发,逻辑错误的可能性很小,可以直接使用,要是从头开发的话,很容易出现因为对业务理解不透彻或者导致取数逻辑有问题,进而导致数据质量问题。

④ 可以建设自助化查询工具

当上面讲了这么多建设宽表建设的好处,提到对应用层的好处其实不多,或者说更偏向于数仓为了解决各类统计问题给出的解决方案,但是对于数据产品来说应该思考现有的技术架构升级,为了我们数据产品的建设或者提升业务取数效率能够做些什么。那么除了报表层统一口径,数据产品可以基于宽表规划一些更多应用类形式,比如自助化查询工具、自定义生成查询SQL,自助报表建设等。这么做的思想是:将宽表的维度和指标尽量透明化给业务,业务可以自取所需进行分析,这样就把业务提需给数据产品这种关系,转变成数据产品提供给业务我们能为你提供什么样的分析能力,业务按照自己的需求进行自助分析,这也就是实现了这个环节上数据产品的价值。

03如何设计宽表

① 宽表到底多宽

宽表到底要多宽?按照上面介绍的貌似什么字段都可以往宽表里装,但事实上并不如此,如果什么字段都放在宽表,那么数仓分层貌似也没什么意义了,所以这个问题的答案是:要从需求出发。从需求出发的话,宽表设计虽然可以跨主题,但肯定不会跨域进行分析。可以先按照需求高频场景进行初版设计,后续慢慢扩充,但扩充并不是无原则扩充,一定要进行合理评估。

② 宽表字段如何设计

作为数据产品可以从日常需求出发,考虑哪些字段是常用且高频使用的,对以下字段明确口径和逻辑,这样就便于数仓进行开发了。最好输出一个表字段说明文档,其实也是一个数据产品和数仓对齐业务了解的好机会。具体到设计过程应该如下:深挖日常业务需求;将业务需求进行分类,筛选出高频需求特点;对高频需求进行拆解,落实到指标和维度,形成一个初版的表结构文档;除了高频需求之外有哪些常用字段,如地域信息、用户标签等信息,丰富宽表属性;

04宽表的局限性

①性能不高

因为我们的宽表的计算逻辑往往很复杂,再加上宽表的数据输入是有大量依赖的,也就是说需要处理的数据量很大,在负载逻辑 大数据量的原因下,导致我们的宽表往往运行很慢,资源占用很多。

② 开发难度大/维护成本高

我们说了基于宽表做报表开发才是正确的姿势,但是宽表本身也是我们开发人员开发的,因为本身的逻辑很复杂设计的业务逻辑繁多,所以给我们的开发就带来了挑战,而且由于业务逻辑的变更我们也需要去维护着复杂的逻辑,并且如果涉及到数据回溯成本也非常大,所以宽表建设后一般是不做历史数据回溯的。

,

栏目热文

一瞬间觉得自己迷茫(某一刻感觉特别迷茫)

一瞬间觉得自己迷茫(某一刻感觉特别迷茫)

流浪日记:身心俱疲。有没有什么事情明明很简单,也是你一直想做的,却一直没有做成?听着矛盾,但是细思极恐,这就是事实。比如...

2024-04-22 12:41:34查看全文 >>

有一瞬间成长的感觉(有一瞬间意识到自己长大了)

有一瞬间成长的感觉(有一瞬间意识到自己长大了)

有呀,每当我发生一些事情的时候,我就会变得格外清醒,不想说话,感觉跟别人倾诉也不是坚决问题的办法,自己也并不想让自己的情...

2024-04-22 13:11:51查看全文 >>

一瞬间觉得自己该长大了(只是在某一个瞬间觉得自己长大了)

一瞬间觉得自己该长大了(只是在某一个瞬间觉得自己长大了)

一直以为父母永远是自己的顶梁柱,却没有想到有朝一日他们会变老。能将工资交给父母的孩子,一定知道父母的辛苦。原来长大的代价...

2024-04-22 12:52:46查看全文 >>

一瞬间觉得自己是行走在这世上的(总有一瞬间觉得自己是多余的)

一瞬间觉得自己是行走在这世上的(总有一瞬间觉得自己是多余的)

我是一名行者,行走在漫漫的生命旅途中。每当清晨的第一缕阳光洒在身上,我都会抖擞精神,继续前行。某一瞬间,我看到了群山与大...

2024-04-22 12:24:43查看全文 >>

我一步步进入自己的内心(如何走进我的内心)

我一步步进入自己的内心(如何走进我的内心)

近日,有一抹鲜艳亮丽的藏蓝,融入到城市的街巷中和遥远的大山里,成为这个秋天最特别的装点,仔细一看,原来是四川监狱民警深入...

2024-04-22 12:38:11查看全文 >>

属于关系数据库的有什么(关系数据库的特点有哪些)

属于关系数据库的有什么(关系数据库的特点有哪些)

数据库管理系统是用于创建,维护与管理数据库的系统软件,是搭建其他应用环境所必备的软件之一,是软件系统架构的重要组成部分。...

2024-04-22 13:06:46查看全文 >>

数据库中什么是关系数据库(关系数据库与非关系数据库有哪些)

数据库中什么是关系数据库(关系数据库与非关系数据库有哪些)

关系数据库是最流行和最常用的数字数据库,在本文中,我们将讨论关系数据库、它的工作原理、示例、关系数据库和非关系数据库之间...

2024-04-22 12:33:22查看全文 >>

关系数据库有哪几种(关系型数据库有哪三种)

关系数据库有哪几种(关系型数据库有哪三种)

数据库管理系统是用于创建,维护与管理数据库的系统软件,是搭建其他应用环境所必备的软件之一,是软件系统架构的重要组成部分。...

2024-04-22 13:09:48查看全文 >>

关系数据库的基本特征(关系数据库的组成和特点是什么)

关系数据库的基本特征(关系数据库的组成和特点是什么)

“这里是云端源想IT,帮你轻松学IT”嗨~ 今天的你过得还好吗?不要想太多不要熬夜要经常笑- 2023.09.13 -上...

2024-04-22 12:48:46查看全文 >>

非关系数据库有哪些(非关系数据库维护缺点)

非关系数据库有哪些(非关系数据库维护缺点)

大多数NoSQL数据库的基本理念是面向任务(task-oriented)的数据库管理系统。如同老生常谈:如果你唯一的工具...

2024-04-22 13:03:41查看全文 >>

文档排行