在我没有进互联网之前,我一直以为数据仓库是所有企业进行数据资产管理的必备工作,但直到我去了很多家企业搞数据之后才发现,原来并不是所有的企业都适合做数据仓库,更不要说数据中台了。

很多企业现在做数据仓库,完全就是在瞎搞!

我做过一些公司的数据工作,我发现国内很多企业现在基本上都是“数仓+数据分析平台”的标准配置,前端用数据分析平台进行数据的处理和加工,然后用可视化工具进行数据展示,后台构建数据仓库进行数据存储和ETL处理。

但是大多数企业的ETL过程都非常简单,而且无论是哪种数据仓库,都不会是一劳永逸的,随着业务的发展和变化会有调整是必然的,需要保证的是基础层的稳定、核心指标口径的稳定,前者靠建模能力,后者靠业务与行业理解能力。

有数据仓库和没有数据仓库的区别

在没有数据仓库的时候,企业里的文件和数据基本上都是对接业务系统,这样就会造成数据的冗乱。而数据仓库就是为了解决这个问题,数仓是一个面向主题的、集成的、相对稳定的,反应历史变化的数据集合。

数据分析中的工作最重要的就是数据处理工作,由于数据分析对数据质量、格式的要求比较高,对数据的理解也必须非常深刻,使得数据契合业务需求也要一定的过程,根据我做数据分析的经验,在整个数据分析流程中,用于数据处理的时间往往要占据70%以上。

所以,如何高效、快速地进行数据理解和处理,往往决定了数据分析项目的进度和质量。

而数据仓库具有集成、稳定、高质量等特点,基于数据仓库为数据分析提供数据,往往能够更加保证数据质量和数据完整性。

数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说,我们数据仓库模型分为几下几个层次,如下图所示。

数据仓库模型

通过上面的图形,我们能够很容易地看出在整个数据仓库得建模过程中,我们需要经历一般四个过程:

  • 业务建模,生成业务模型,主要解决业务层面的分解和程序化。
  • 领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
  • 逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
  • 物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。

因此,在整个数据仓库的模型的设计和架构中,既涉及到业务知识,也涉及到了具体的技术,我们既需要了解丰富的行业经验,同时,也需要一定的信息技术来帮助我们实现我们的数据模型,最重要的是,我们还需要一个非常适用的方法论,来指导我们自己针对我们的业务进行抽象,处理,生成各个阶段的模型。

一、 数据理解

数据仓库模型

我们都知道,数据仓库是面向主题的,所以其自身与业务结合就相对紧密和完善,更方便数据分析师基于数据理解业务。而数据仓库是有很多的主题组成,包括了很多的数据。当我们需要对数据进行分析的时候,如果理解数据仓库的模型,数据理解也就水到渠成了。

第二、数据质量

我们在做数据分析的时候要求数据是干净、完整的,而数据仓库已经对源系统的数据进行了业务契合的转换,以及脏数据的清洗,这就为数据分析的数据质量做了较好的保障。

第三、数据跨系统关联

数据跨系统关联数据仓库的一个简单架构,各业务源系统的数据经过ETL过程后流入数据仓库,当不同系统数据整合到数据仓库之后,至少解决了数据分析中的两个问题:

第一, 跨系统数据收集问题,在金融分析中同一个客户的储蓄交易和理财交易我们在同一张事实表就可以找到;

第二, 跨系统关联问题,进行数据整合时,总是需要找到共同点来关联来自不同系统的信息,而数据仓库在ETL过程中就会整合相关客户信息,完美解决跨系统关联问题。

四、 如何建设数据模型

建设数据模型既然是整个数据仓库建设中一个非常重要的关键部分,那么,怎么建设我们的数据仓库模型就是我们需要解决的一个问题。

1、数据仓库数据模型架构

数据仓库的数据模型的架构和数据仓库的整体架构是紧密关联在一起的,我们首先来了解一下整个数据仓库的数据模型应该包含的几个部分。

从上图我们可以看出,整个数据仓库的数据模型可以分为大概 5 大部分:

  • 系统记录域(System of Record):这部分是主要的数据仓库业务数据存储区,数据模型在这里保证了数据的一致性。
  • 内部管理域(Housekeeping):这部分主要存储数据仓库用于内部管理的元数据,数据模型在这里能够帮助进行统一的元数据的管理。
  • 汇总域(Summary of Area):这部分数据来自于系统记录域的汇总,数据模型在这里保证了分析域的主题分析的性能,满足了部分的报表查询。
  • 分析域(Analysis Area):这部分数据模型主要用于各个业务部分的具体的主题业务分析。这部分数据模型可以单独存储在相应的数据集市中。
  • 反馈域(Feedback Area):可选项,这部分数据模型主要用于相应前端的反馈数据,数据仓库可以视业务的需要设置这一区域。

通过对整个数据仓库模型的数据区域的划分,我们可以了解到,一个好的数据模型,不仅仅是对业务进行抽象划分,而且对实现技术也进行具体的指导,它应该涵盖了从业务到实现技术的各个部分。

2、数据仓库建模阶段划分

我们前面介绍了数据仓库模型的几个层次,下面我们讲一下,针对这几个层次的不同阶段的数据建模的工作的主要内容:

(1)业务建模,这部分建模工作,主要包含以下几个部分:

  • 划分整个单位的业务,一般按照业务部门的划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。
  • 深入了解各个业务部门的内具体业务流程并将其程序化。
  • 提出修改和改进业务部门工作流程的方法并程序化。
  • 数据建模的范围界定,整个数据仓库项目的目标和阶段划分。

(2)领域概念建模,这部分得建模工作,主要包含以下几个部分:

  • 抽取关键业务概念,并将之抽象化。
  • 将业务概念分组,按照业务主线聚合类似的分组概念。
  • 细化分组概念,理清分组概念内的业务流程并抽象化。
  • 理清分组概念之间的关联,形成完整的领域概念模型。

(3)逻辑建模,这部分的建模工作,主要包含以下几个部分:

  • 业务概念实体化,并考虑其具体的属性
  • 事件实体化,并考虑其属性内容
  • 说明实体化,并考虑其属性内容

(4)物理建模,这部分得建模工作,主要包含以下几个部分:

  • 针对特定物理化平台,做出相应的技术调整
  • 针对模型的性能考虑,对特定平台作出相应的调整
  • 针对管理的需要,结合特定的平台,做出相应的调整
  • 生成最后的执行脚本,并完善之。

从我们上面对数据仓库的数据建模阶段的各个阶段的划分,我们能够了解到整个数据仓库建模的主要工作和工作量,希望能够对我们在实际的项目建设能够有所帮助。

别再瞎搞数仓了!BAT内部大神:数据仓库不是谁都可以建的相关推荐

  1. 离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾

    原文链接:离线数仓建设,企业大数据的业务驱动与技术实现丨03期直播回顾 视频回顾:点击这里 课件获取:点击这里 一.离线数仓建设背景 离线数据是相对实时数据而言的数据产出,不同于实时数据,离线数据一般 ...

  2. 搞数仓也得懂几个常用机器学习算法

    作者:数据一哥  来源:数据社 全文共10793个字,建议收藏阅读 01 回归算法  一.理解线性回归模型 首先讲回归模型,回归模型研究的是因变量(目标)和自变量(预测器)之间的关系,因变量可以是连续 ...

  3. 深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库

    简介: 阿里云在最新发布的 The Forrester Wave™: Cloud Data Warehouse, Q1 2021 全球云数据仓库技术评比中进入卓越表现者象限,成为国内唯一入选厂商.本文 ...

  4. 数仓项目——在线教育平台离线数据仓库效果展示

    背景:基于阿里云的3台ECS云服务器搭建了在线教育平台的离线数据仓库,本文仅用于记录最终的效果,从0到1的实现过程后续进行补充,由于抢占式实例的云服务器按量进行每小时计费,为了避免持续的收费,所以我急 ...

  5. ☀️ 数仓建模理论,大数据邻域通用的维度建模技巧【建议收藏学习】

    文章目录 前言: 正文: 关系建模 关系建模的特点 维度建模 维度建模的特点 事实表 维度模型的分类 各模型的适用场景 建模阶段具体的划分 1. ODS层 ( 原始数据存储层,直接加载原始日志.数据保 ...

  6. 推荐一位BAT数据大神!(附联系方式)

    今天给大家推荐一位BAT任职的数据大神 木东居士 资深数据工程师 在大数据.数据仓库和数据挖掘领域有很深的造诣 居士从13年开始就坚持原创技术文章,目前已创建了个人公众号木东居士,跟读者分享他对数据的 ...

  7. 【尚硅谷】电商数仓V4.0丨大数据数据仓库项目实战【学习记录】第二节

    这里写目录标题 注意 电商数据仓库系统 第6章 数仓搭建-DWD层 6.1.5 动作日志表装载中定义UDTF函数 6.2.6 优惠券领用事实表(累积型快照事实表) 6.2.9 订单事实表(累积型快照事 ...

  8. 营销再好终归还要产品说话,留给大神X7的时间不多了

    尽管今天微博近乎被大神X7全玻璃邀请函包场,但大神多少还是显得有些悲情. 这个诞生还未满一周岁的手机新品牌,虽然背靠酷派集团看似风光无限,但实际上却似乎有些生不逢时--它的市场上前有小米魅族,后有华为 ...

  9. 两个有序数组合起来求第k小的数+左老师专访ACM大神(笔记)8月5日斗鱼直播实录

    1.长度相等的两个有序数组寻找上中位数 注:上中位数1 2 3 4 5 6为3(偶数两个中位数为前面那个) 思路:去掉不可能为上中位数的,剩下的简化组合求上中位数. 1.1 奇数序列 位置 位置 位置 ...

最新文章

  1. ebook download websites (to be continue...)
  2. web.config配置
  3. 浅谈Java SE、Java EE、Java ME三者的区别
  4. python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案
  5. openssl md5算法 —— Linux下(字符串加密、文件加密)
  6. Hibernate 双向一对一实现(基于annotation)
  7. 中科院的java_java 中调用中科院分词系统
  8. C语言函数库:动态库和静态库优缺点比较
  9. vue 修改标题栏_VUE动态修改titile的三种方法
  10. magento 高级搜索 brand实例 Magento ‘Shop By Brand’ in SideBar
  11. java每天定时任务
  12. Reverse Pairs
  13. 程序员的职业技能不止于敲代码!
  14. Alarm:IT界朋友请珍惜你的身体[转贴]
  15. 【电路仿真】基于simulink三相相控变流器设计【含Matlab源码 327期】
  16. core net wireless net
  17. Audio Jungle超级音效库精选影视片头【10月18日更新】
  18. 离散数学 习题篇 —— 谓词公式练习
  19. 能耗监测管理系统服务器,能源管理系统:能耗监测系统解决方案
  20. 面试java工程师,面试官一般问什么问题?

热门文章

  1. mysql窗口函数_MySQL8.0窗口函数入门实践及总结
  2. python中提取pdf文件某些页_人工智能|Python提取PDF中的文本并朗读
  3. php数组基础知识,PHP 数组基础知识小结
  4. 木炭怎么获得_木炭机一体化流程中制做木炭是怎么完成的
  5. mysql 5.7.13 安装配置方法图文教程(linux)
  6. 第四章类和对象 习题答案
  7. 机器学习笔记(四)——最大似然估计
  8. 学微信,抖音也上线PC版
  9. 互联网晚报 | 10月30日 星期六 | 微软市值超越苹果;华为前三季度销售收入4558亿元;《长津湖》成2021全球票房冠军...
  10. 产品经理欲哭无泪的瞬间(太真实了)