阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列

建立数据仓库是一个解决企业数据问题应用的过程,是企业信息化发展到一定阶段必不可少的一步,也是发展数据化管理的重要基础。数仓的知识市面上的书籍和文章不少,但是实际实施依据行业不同,企业核心诉求不同,从技术到方法论各有不同。

如何实施数仓项目,本文先以传统行业的数仓切入,从整体上讲下数据仓库的实施方法论!

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第1张图片

数据仓库的通用实施步骤

一、需求分析

需求分析是数据仓库项目最重要的一个环节,数仓说到底还是服务于业务,支撑于业务,如果需求分析不准确,做了没人用,上了不好用,会直接影响业务/客户的使用,最终导致项目的失败。为了避免最坏的情况,磨刀不误砍柴工,前期一定要重视需求的调研、挖掘和分析,并采用一些严谨科学的措施和方法去做需求分析。

在实际调研过程中分享几个经验:

1、尽可能与业务方/客户方一起分析需求,引导对方将项目所要实现的整体框架和业务细节部分述清楚,最好的方式就是需求人员和设计人员基于原型来讨论,从而正确理解实际的业务需求。

2、必须实事求是地将数据仓库所能实现的目标和不容易解决的问题与协商清楚。这一个环节趟过不少坑,IT方急着上线,业务方对于项目还处于一知半解,甚至在推动的时候可能避重就轻,比如一期不满足的需求强行上,长远来看项目会产生不少推诿和扯皮,消磨的是对方的信任。

所以在需求讨论的基础上,需要理解业务工作流程,当然如果你已经具备了这个行业丰富的业务知识,那可以在需求调研的时候尽可能地让对方按照自己的思路去完成数据仓库系统的功能设计。

3、需求方群体的分类,BI项目最终的使用对象可以分为以下几类:数据查询者、保镖查询者、企业决策者

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第2张图片

 

这三类人群的需求特点完全不一样,沟通的时候需要注意区分并深刻理解

4、需求调研的再完美,也避免不了需求变更。现实是很多情况下需求是不确定的,业务方是提不出有价值的需求的,需求今天是A明天又变成B无法一步做到位的,这都很正常,作为项目实施者要做好心理预期。

一般情况下,业务方能够提供的都是需求的整体框架部分或者是实际需求的一部分内容,不能预见未来需要增加的需求,这也注定了数仓项目是一个不断循环、反馈,使系统不断完善增长的过程。

不能规避风险但是可以减少风险,所以科学的调研尤为重要。以下是调研模板,当需求调研完成时,需要对采集结果进行分析、归纳、整理,最终形成完整的需求分析报告。

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第3张图片

 

二、数据仓库的逻辑分析

数据仓库在逻辑上可以分成操作型数据库、数据仓库层、数据集市层、数据分析应用层和报表展示层,其架构如下图所示:

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第4张图片

 

三、设计ODS系统

ODS 可以有两种形式:ODS 数据缓冲区和ODS统一信息视图区。

① ODS数据缓冲区

ODS数据缓冲区是业务数据流动过程的第一个存储区,实现了数据仓库从各个业务系统的数据源中将数据抽取出来,并且装载到ODS数据缓冲区的这一过程,从而实现统一的全局的企业数据平台,为以后的数据抽取、清洗、转换过程打下坚实的基础。

对于数据的数据源可以采用增量的方式进行抽取,对于经常变化更新的数据一般采用全量的方式进抽取。ODS数据缓冲区具有实时性的特征,ODS系统将各个孤立的业务系统的生产运营数据集成起来,组成统一的、全局的企业数据交换平台。

② ODS统一信息视图区

ODS统一信息视图区是指有选择地集成各类业务源数据,对数据进行抽取、清洗、转换操作,以数据主题域为数据集成的基础,对数据进行分类和组织,使用户能够通过统一信息视图区获得跟某个主题域相关的实时性数据。

各业务系统和ODS统一信息视图区可以互相访问,可以生成具有实时性的操作性报表和查询某一主题的近期全部信息。

③ ODS数据缓冲区和ODS统一信息视图区的区别和共同点

ODS 数据缓冲区主要为业务源数据抽取到数据仓库中提供中间数据缓冲的功能,如

ODS 统一信息视图区最大的区别就是数据抽取、清洗、转换、加载的转换规则和数据存储的方式不同。ODS统一信息视图区是完全按照主题的方式进行数据存储,向用户提供快速的报表展示和数据实时查询的功能。

而ODS数据缓冲区的ETL规则一般只进行简单的汇总、计算,或者从操作型数据库中直接抽取而中间不进行任何转化。ODS 统一信息视图区的数据一般都是从ODS数据缓冲区中抽取过来的。

四、数据仓库建模

数据仓库建模在前面已经有了详细的介绍,数据仓库模型是IT技术开发人员、业务人员、决策管理者相互沟通的一套语言和平台。

对于数据建模工程师来说,对业务的深刻理解是首要任务,因为数据仓库建模分为概念模型设计、逻辑模型设计和物理模型设计3个阶段,一般按照自顶向下的顺序依次对模型进行设计。

 

 

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第5张图片

 

五、数据集市建模

一般数据集市模型的建设是基于需求分析得到的结果,数据集市的建模主要针对事实表和维表的设计。

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第6张图片

 

六、数据源分析

所谓数据源分析,就是对源数据进行分析和总结,得出源数据的范围、格式、更新方式、更新频率和质量好坏的过程。

七、数据的获取与整合

数据的获取与整合存在于数据仓库项目中的各个阶段。数据仓库很重要的一个作用就是将散落在各业务系统的数据整合起来,不规范的数据规范起来,以一种便于分析和应用的方式放到数据仓库里,供前端应用分析。

ETL 过程实际上就是数据流动的过程,即从不同的数据源流向统一的目标数据库。数据的获取与整合是完成数据仓库建设最复杂的过程,它关系到数据的质量,是数据仓库项目建设的根基。

八、数据应用和报表展现

报表绝对是让人痛苦的东西。格式复杂、需求多变,业务没事就改需求或者增加几个。虽然说起报表感觉很老土,但确实是整个数仓项目价值落地呈现的东西。

做报表多的人,基本上都会做一个自己的工具,至少也会做一个引擎,按照自己的理解用一种结构化加动态的方式去定义所需要的报表,可以灵活的选择所需要的数据,设计展现样式生成报表。

现在一般都是采用专业的低代码的报表工具来做报表,比如FineReport去做报表,提升开发效率,侧重应用分析,毕竟没有谁想一天到晚被爆表缠身。

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第7张图片

结合前面谈到的数据分层的机制,会发现,不管基于哪一层,都有做报表的需求。个人认为报表的重点不在于报表的制作,而在于如何利用报表为业务为项目谋价值。

阿里员工讲数据库、数仓和报表平台的实施步骤,小白和进阶扫盲系列_第8张图片

 

大公司都会有负责报表分析这块的项目人员,那针对报表延伸出来的工作,报表需求分析、指标体系规划、以及各位为经营为管理为基层人员的报表分类,还有围绕业务的分层设计。

对于基层员工,报表使用的最多的就是录数据,查询数据。比如商场售货员浏览数据来查看商品的售卖情况,以此来及时补货,还有每天的日销售数据录入。

对于部分业务人员,报表的不再是简单的展示和录入,会衍生出一些分析的需求,比如采购经理,他需要决定采购哪些品牌的商品,从哪一家供应商来采购,如何规划商店的商品。

那方法就是看报表看哪些商品买的好,以此来考虑是否需要加购哪些品牌商品,放弃那些品牌商品或者搞促销。高大上一点的说辞就是利用数据优化商品结构,选择供应商。

对于企业管理层,更多的说是做dashboard进行指标的监控,做的业绩分析(时间、地区纬度等)。而这一过程,也是通过数据使管理层可以更容易的按照标准的管理方法进行决策(如果说员工是判断,领导就是决策了...)

关注我,并转发该文章,私信回复“报表”,就能get到报表工具和数据仓库建设方案。

你可能感兴趣的:(数据仓库,大数据,数据库,sql,大数据平台)