大咖分享

​如何从0到1搭建数据仓库?轻量级数据分析必备
北大青鸟总部

摘要:数据仓库,一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,主要用于数据分析、运营决策。使用数据库来做数据摸底、数据分析,既费时费力,也效果不好,最合适的方式便是数据仓库了,轻量又实用。

大数据时代对于数据分析、数据营销的要求越来越迫切,无论是对外的业务系统,还是对内的系统,业务人员都希望以数据为支撑,进行产品策略制定支撑、用户运营打法制定。使用数据库来做数据摸底、数据分析,既费时费力,也效果不好,最合适的方式便是数据仓库了,轻量又实用。

数据仓库,一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,主要用于数据分析、运营决策。所谓面向主题,它指的是数据仓库内的信息按照某个主题进行聚合,比如地区、成本、商品、收入、利润等等;所谓集成的,它指的是可以把不同数据库中的数据都汇聚在一起;所谓相对稳定的,它指的是数据仓库的数据不会像操作型数据库那样经常变化;所谓反映历史变化,它指的是数据仓库内的信息不只是反映企业当前情况,还可以记录分析从过去某一个时间点到现在的变化。

了解完数据仓库的定义后,我们来看看如何搭建一个数据仓库。搭建一个数据仓库,一般需求确认数据收集数据建模数据处理数据分析五大部分。数据仓库搭建好了之后,再通过不断的数据验证,不断进行指标优化。其实这就和做正常的业务产品一样,也是包含需求收集、开发、上线、迭代的过程,只不过它是数据产品而已。

需求确认阶段,我们需要确认原材料和用户,原材料包含有哪些数据,要做哪些数据的分析;用户包含数据的生产者、使用者、管理者。

需求确认之后,在数据收集阶段,我们需要确认收集的数据、数据更新频率、更新方式,并且做好数据质量检查。所谓“收集的数据”指的是我们要与用户(生产者、使用者、管理者)定义好每一个数据、数据中的主键(唯一标识),它代表的业务意义、统计的来源,避免在后面分析阶段产生歧义;所谓“数据更新频率”指的是我们期望多久更新一次数据,按时、按天、按周、按需更新;所谓“更新方式”指的是我们是只更新增量数据or全量更新数据;所谓“数据质量检查”,指的是我们要检查主键是否为空、是否重复,维度数据是否包含关键字、事实数据与维度数据是否完全关联,业务方提供的数据是否和需求匹配。

数据收集好了之后,我们要开始建模了,这也是数据仓库和数据集市、数据库最大的区别。通过模型的建设,我们可以进行全面的业务处理,了解业务架构图、数据流向、业务运营情况,将数据进行分类;还可以站在全面的视角了解数据,消除各个业务部门之间的信息不对称;最后还可以将底层技术实现和上层业务进行解耦,上层业务发生变化时,底层技术很容易的就可以适应。数据仓库模型一般包含四个阶段,即业务建模(业务层面分解和程序化)、领域建模(对业务模型进行抽象处理)、逻辑建模(根据领域模型的概念实体进行数据仓库的逻辑处理)、物理建模(根据逻辑建模进行的技术实现)。

数据仓库的模型一般包含五部分,即系统记录域、内部管理域、汇总域、分析域、反馈域。在系统记录域主要是数据的存储,在内部管理域主要是记录数据之间的关系数据(元数据),在汇总域主要是将所有的数据汇总在此处,在分析域主要是做数据分析,在反馈域主要是把数据给到前端。常用的数据建模方式是维度建模法,即按照事实表、维度表来建立数据仓库。事实表代表从业务活动中抽取出来的性能度量,占据了数据仓库90%的空间,数据仓库的报表数据主要也就是这些维度数据了。维度表是对业务过程的上下文描述,包含具体的明细数据,是事实表的输入。在下图中以订单为主题,它对应的数据仓库的事实表包含产品代理键、日期代理键、客户代理键等,维度表比如产品维包含创建人、创建日期、修改人等。



数据模型建立好之后,我们就要开始数据处理了。数据处理包含数据分层、ETL清洗、数据监控三个模块。在数据分层阶段,我们一般把它分为ODS层(存储原始数据,比如API传入、人工导入、MQ数据)、DW层(进行数据清洗)、DM层(进行数据聚合,)。在数据清洗阶段,通过“提取extraction”从ODS层获取指定数据、“转换transformation”把数据转换成具体的格式、“加载load”把转换后的数据加载进入数据仓库。在数据监控阶段,主要是看看数据在清洗时是否有报错、存入的数据是否有异常。



数据处理完了之后,就是可视化呈现了。基于数据仓库的分析数据,管理者可以找到有价值的信息,进行分析决策;业务人员可以进行事件的监控,比如报警事件情况、用户工单情况等,对比历史数据,给出相应的应对策略;

不过在数据仓库的建设中也存在很多跳转,比如数据采集难、业务需求多变等。因为每个系统的业务诉求、数据格式、存储方式都不一样,这导致我们想获取全量的数据往往不是那么容易;业务需求多变就更好理解了,市场总是在变化的,企业的战略目标跟随市场和用户调整,自然业务也会调整,从而对应的数据模型也要随着变化了。

大数据时代,只有把数据转化成信息、知识,才能做更精准的数据营销分析。对于业务部门来说,自建数据分析系统太重,不妨考虑来一个轻量级的数据仓库吧~


相关阅读
大数据应用能识别抑郁风险人群?准确率这么高!
又快又好用的数据分析工具ApacheKylin来了!
我们是如何被大数据杀熟的?
大数据时代,我们如何选OLAP数据分析引擎
阿里、亚马逊、微软等云厂商纷纷在做的数据湖到底是什么?
热门推荐