前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「经验」站在数据分析师角度,浅谈数据仓库需要掌握到的程度!

「经验」站在数据分析师角度,浅谈数据仓库需要掌握到的程度!

作者头像
小火龙说数据
发布2023-03-08 18:44:43
3320
发布2023-03-08 18:44:43
举报
文章被收录于专栏:小火龙说数据小火龙说数据
预计阅读时间:6min

阅读建议:本篇站在数据分析师角度,和大家谈谈工作中涉及到的数仓知识点,内容不难理解,对于初学者来说比较友好。

00

序言

作为一名数据分析师,岗位职责就要求我们的技能加点是多方面的,上游的数据仓库、下游的产品业务,我们都需要有一定了解。虽然不要求像DE(数据开发)、PM(产品经理)一样精专,但对于基础常识,仍需有所掌握。

本文将和大家分享一些数据仓库的知识点,并谈谈需掌握到的程度。

01

什么是数据仓库

首先,扫个盲,先和大家介绍一下什么是数据仓库,对于了解的同学可以跳过。

数据仓库是企业级别的数据管理中台,出于业务分析及决策而创建的,如果没有数据仓库,下游的数据分析、数据建模体系都很难搭建起来。附上一张图,帮助大家加深体感:

在这样的目的下,数据仓库一般需具备四点属性:

其一:数据集成。数据仓库可以融合多种类型数据源,并将其有机的整合到一起。例如:离线数据、实时数据等。

其二:主题导向。数据仓库的搭建需参考业务的主题域进行创建。例如:用户域、消费域、平台域等。

其三:历史追溯。数据仓库需涵盖业务现阶段及历史阶段的数据,保证原始数据可追溯。例如:部分底层数据生命周期为永久。

其四:数据质量。数据进入数据仓库后,不会出现数据遗失、篡改的情况。例如:加工过程中不可对数据进行人为篡改。

02

数据仓库的整体架构

当我们了解了什么是数据仓库后,就需要对数据仓库的宏观面貌有一个完整的了解:

通过上面这张图,可以看出,完整数据仓库是由四个层级来逐一实现,并通过任务调度平台统一执行。下面详细介绍下各个层级的核心内容:

第一层:数据采集层

数仓的首个环节为“入库”,通过ETL(抽取extract→转化transform→加载load)将各方获取到的数据有机的导入数据库。例如:将采集的用户行为数据input进数仓。

第二层:数据处理层

该层是数据仓库的核心步骤,其中包括离线数据处理和实时数据处理,将数据通过层层加工,输出成下游可使用的结构。

扫盲-实时处理/离线处理

实时处理:以秒级为单位,处理输入的数据,并提供给下游应用方,例如推荐场景。举个有体感的例子:刷淘宝时,搜索某个商品后,再次进入主页,立即就会给你推荐很多相似的内容。

离线处理:一般以天为单位,处理输入的数据。数仓大多数落表,都是离线处理后的数据。

两种方式看似冗余,却各自拥有不同的目的,最终一般会将两种类型数据merge到一起,作为长久的数据存储。

第三层:数据共享层

将处理后的数据结果,有机的存储至结构型化数据库或非结构化数据库中,以实现数据共享。

第四层:数据应用层

将处理好的数据推送至指定存储空间,供数据分析及产运等下游同学应用。

03

离线数仓搭建层级

通过上面的介绍,相信大家对于数据仓库的整体架构有了一个初步的认知。而对于数据分析同学而言,离线数仓是工作中涉及较多的方面,那离线数仓又涵盖哪些层次呢?

大体可以划分为四层:ODS数据层→DWD数据层→DWS数据层→ADS数据层,如下图所示:

第一层:ODS数据层(Operate Data Store 数据准备层)

功能定位:数据仓库的原始数据。

设计原则:数据不做业务层处理,与原始数据保持一致。

第二层:DWD数据层(Data Warehouse Detail 数据明细层)

功能定位:将ODS层数据,经过解析、分表、加工过后的明细数据。

设计原则:仍然为明细数据,存储周期一般较长。

第三层:DWS数据层(Data Warehouse Service 数据汇总层)

功能定位:在DWD层数据基础上,根据各维度做的数据汇总。

设计原则:根据所需粒度做的数据聚合。

第四层:ADS数据层(Application Data Service数据应用层)

功能定位:提供给下游直接应用的数据。

设计原则:数据主题化,针对场景进行设计;以核心维度做的聚合数据;数据量相对较小,减少运行成本。

04

数据分析师对数仓的掌握程度

最后,谈谈小火龙认为数据分析同学需要掌握数仓到何种程度,总体来说「懂其精华,亦可实操」,具体为以下三点:

其一:了解数仓的整体架构

首先就是要了解整体的架构,虽然数仓涉及的技术面比较多,但对于数据分析同学,只需要了解每种技术的作用即可。因为有时候,我们需要站在业务侧给DE同学提需求,如何提出合理需求,就需要对数仓层面有一个整体的认知。

其二:熟悉离线数仓的设计规范

其次,数据分析同学日常可能会需要建一些中间表,这个过程往往是需要和DE同学一起来完成的。而作为更懂业务的你,即便搭建数仓不需要你亲力亲为,但也是需要把关的,因此对于设计的规范是需要了解的。

规范主要包括:流程规范、设计规范、命名规范、开发规范。每个点这里不再展开,后面会单独写一章,为大家详细讲解。

其三:ADS层数仓的搭建

最后,绝大多数数据分析岗位会涉及到ADS层的数据表搭建,因此对于生成表的代码、调度的配置、数据异动的监控,是有必要掌握并应用的。

以上就是本期的内容分享

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小火龙说数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档