老规矩,先看是什么,再说怎么做。要看懂这篇文章,先要理解这几个概念:

BI又叫商业智能,简单点说就是从本质上改变企业做决策拍脑袋的情况。BI的定义分为广义和狭义两种。

可以通过丰富的场景看一下:

广义上的BI可以定义为一个系统方案,包含了从数据仓库,到ETL(数据清洗),OLAP分析,以及深度的数据挖掘,前端报表展现。

在具体企业数据分析项目中,会将它们中的若干个结合起来,实现一个完整的企业数据分析技术方案,整体架构如下图:

数据仓库定义,我们这里不看那些复杂的解释,给大家举个例子:

其实数据仓库可以看成是BI的基础版本、数据库的升级版本,我们可以把公司里的数据都想象成一个个文件夹,数据库就是这一个个文件柜,这个文件柜存放着非常多的数据,无论这个数据是什么、或者是如何组织的。

而当我们的文件非常多、种类非常复杂的时候,我们的就想要寻找某个文件夹的时候,如果每个文件柜每个文件柜的去找,实际上是非常耗费成本的,因此我们不妨建立一个档案室,对不同的文件柜进行编号、归类、分组,方便我们快速定位数据源,这个档案室就是数据仓库。

数据仓库的逻辑架构

数据仓库的输入方式各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向,支撑企业决策

所以从广义BI上来理解,数据仓库是BI的基石,数据仓库为BI系统提供良好的数据基础,为分析决策提供数据支持,也就是地基和房子之间的关系。

接下来再说说狭义BI和数据仓库的关系。

传统的BI方案的数据仓库、ETL、OLAP分析、数据挖掘,前端报表展现的各个环节都是不同的产品,不同的专人负责。假设一个分析报告要改动,涉及到数据层。则要IT部门去改进数据层和业务层,需要耗费很长时间去梳理模型。

于是,随着技术发展,市场上出现了敏捷型的BI产品,也就是狭义上的BI, 把数据建模和和OLAP分析都集成到应用里了, 不用事先建模。

在做报表,拖拽数据字段的时候,就能随机看到分析结果,做到即时分析,且在分析过程中灵活调整分析维度和报表展现,需求变更可以在一天之内响应。

比如FineBI,作为数据分析工具,简单容易、可视化酷炫、性能好、稳定性强是其优点,我就不过多赘述。

在利用BI工具构建BI系统的时候并不一定需要数据仓库,在数据库的基础上搭建也行。但是对于中大型企业,考虑到日常事务多,数据量大,数据库往往要做更多的写优化,在这样的背景下通过构建数据仓库。

将数据通过ETL过程抽取到数据仓库,在此基础上利用BI工具做数据分析与前端展现会更加高效,所以在很多BI项目中,BI工具承担的主要还是前段分析、展示的作用,也就是上面架构图中最右边的部分。

其实很多企业做数据仓库的时候,都忽略了数仓与BI、数据库的差异,只去搞底层数据,不去做数据服务和应用,其实就是把数据仓库给狭义化了。

所以这时候我们需要更为庞大的数据仓库,帮助我们去对多个数据源的数据库数据进行抓取,而抓取数据源的过程就可以理解为ETL的工作,这样去理解一个企业的数据架构就会简单很多。

因此数据仓库的本质,其实就是整合多个数据源的历史数据进行细粒度的、多维的分析,帮助高层管理者或者业务分析人员做出商业战略决策或商业报表。

这里面就涉及到了数据仓库的架构,简单来说数据仓库分为四个层次,

  • ODS层:存放原始数据,直接加载原始日志、数据,数据保存原貌不做处理。
  • DWD层:结构与粒度原始表保持一致,对ODS层数据进行清洗
  • DWS层:以DWD为基础,进行轻度汇总
  • ADS层:为各种统计报表提供数据

这里要注意数据仓库的架构当中,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表。

说到报表,我就要提一下FineReport了,熟悉我的人都知道,我不仅一次提过它,不仅能做报表的基础操作:填报、查询、打印、权限等,对于可视化大屏和移动端dashboard也是不在话下,不好意思,扯远了....

也就是说,我们所看到的数据不是直接从数据底层抽取的,相当于我们访问数据仓库的时候,是让图书管理员帮你找一个文件柜,那么怎么更高效地去找,就是数据仓库建设中很重要的一部分工作——数据建模,包括数据的存储模型、逻辑模型、概念模型等等。

这个后面会写到。

如果觉得我写的不错,欢迎关注我,并转发该文章,回复“数据”即可获得我说的工具。

你根本不懂数据仓库!对于80%的大公司数仓只是地基,它才是房子相关推荐

  1. 大数据数仓高级面试题整理

    大家好,给大家整理了一下大数据数仓高级面试题,希望大侠们能够喜欢. 数仓高内聚低耦合是怎么做的 定义 高内聚:强调模块内部的相对独立性,要求模块内部的元素尽可能的完成一个功能,不混杂其他功能,从而使模 ...

  2. 大数据/数仓面试灵魂30问

    1.什么是数据仓库?如何构建数据仓库?(如果这个问题回答的好,后面很多问题都不需要再问) 2.如何建设数据中台?可简单说下理解与思路 3.数据仓库.数据中台.数据湖的理解 4.传统数仓的程度(建模工具 ...

  3. 大数据/数仓面试灵魂30问(转)

    1.什么是数据仓库?如何构建数据仓库?(如果这个问题回答的好,后面很多问题都不需要再问) 2.如何建设数据中台?可简单说下理解与思路 3.数据仓库.数据中台.数据湖的理解 4.传统数仓的程度(建模工具 ...

  4. Python + 大数据 - 数仓实战之智能电商分析平台

    Python + 大数据 - 数仓实战之智能电商分析平台 1. 项目架构 2. 数据仓库维度模型设计-事实表 事实表的特征:表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一 ...

  5. Python+大数据-数仓实战之滴滴出行(一)

    Python+大数据-数仓实战之滴滴出行(一) 1. 项目架构图 1.1 数据流程处理 1.2 数仓分层 1.3 创建数据库 在Hive中创建数据库-- 创建ods库 create database ...

  6. 数据仓库实战(一):数仓分层分域规范

    笔者多年身处一线互联网独角兽企业,主导过数据仓库从0到1的建设,同时作为数据中台核心成员,在巨头合并,大数据融合及迁移过程中起到至关重要的作用.对数据中台及数据中泰产品有一定研究,抱着分享与自我成长的 ...

  7. Python+大数据-数仓实战之滴滴出行(二)

    Python+大数据-数仓实战之滴滴出行(二) 1. 数据转移 #验证sqoop是否工作 /export/server/sqoop-1.4.7/bin/sqoop list-databases \ - ...

  8. 大数据数仓建模(3)

    大数据数仓建模(3) 2.2.6 人员配置参考 1.旁敲侧击的问你到底做过没有 2.你们大概规模,数据量 1整体架构 属于研发部/技术部/数据部/基础平台部,我们属于大数据组,其他还有后端项目组,前端 ...

  9. 数据仓库(4)基于维度建模的数仓KimBall架构

      基于维度建模的KimBall架构,将数据仓库划分为4个不同的部分.分别是操作型源系统.ETL系统.数据展现和商业智能应用,如下图.   操作型源系统,指的就是面向用户的各类系统,如app.网站.E ...

最新文章

  1. [翻译] OrigamiEngine
  2. NC119-最小的k个数
  3. Maven projects找回
  4. 移动端实现蓝牙打印机打印_MBrush世界上最小的移动彩色打印机
  5. centos7安装docker笔记
  6. 图像语义分割(14)-FastFCN: 重新思考语义分割模型主干网络中的扩张卷积
  7. js之prototype、__proto__与constructor(图解)以及原型链
  8. win7下安装最新版nodejs16.4.0
  9. C语言中文件指针和文件位置指针,位置指针相关库函数
  10. 计算机安全证书有问题怎么办,此网站的安全证书有问题如何取消 此网站的安全证书有问题解决方法...
  11. 基于灰度投影法的图片偏移测量
  12. 解决win10设备管理器及操作找不到蓝牙
  13. 爆肝1万字《c++入门综合》
  14. mysql 表名 下划线_我们可以在MySQL表名中加下划线吗?
  15. 树莓派学习(三)基于OpenCv的人脸识别
  16. java自带的发布订阅模式
  17. 互联网晚报 | 12月8日 星期三 | 淘宝购物车上线“好友买单”功能;英超联赛正式入驻视频号;中国联通成立5G消息生态联盟...
  18. vue 所见即所得_适用于Vue.js的轻量级所见即所得HTML编辑器
  19. Android-进阶教程-权限-安装时权限-签名权限-signature|privileged
  20. pmsm simulink foc 仿真_汽车雷达场景仿真方法的研究

热门文章

  1. 二维随机变量及其分布函数
  2. MTK eCos系统的有线驱动收包流程
  3. azure云数据库_如何使用Cloud Shell创建Azure SQL数据库
  4. vue+ 下拉框有选择项 点击选项也拿到值就是页面不显示选中项
  5. 当cell中有UItextfiled或者UITextVIew时,弹出键盘把tableview往上,但是有的cell没有移动...
  6. JavaScript函数声明提升
  7. 项目vue2.0仿外卖APP(五)
  8. soupUI生成webservice客户端代码
  9. 爬虫入门之urllib库详解(二)
  10. KKT条件 拉格朗日乘子法