zoukankan      html  css  js  c++  java
  • 你根本不懂数据仓库!对于80%的大公司数仓只是地基,它才是房子

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

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

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

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

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

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

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

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

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

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

    数据仓库的逻辑架构

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    这个后面会写到。

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

  • 相关阅读:
    62、solidity环境搭建、编译及编写合约-3——2020年07月12日12:55:51
    61、solidity编程语言类型-2——2020年07月12日12:26:21
    60、solidity编程语言了解、实践-1——2020年07月12日12:01:12
    C#windows桌面应用小程序制作——大文件数据分段解析存储
    关于如何使用ehcarts2加载svg矢量地图并自定义县级内部乡镇轮廓
    webstorm2016.3注册码,License server更新方式,webstorm2017.1版本可用
    使用nodeValue获取值与a标签默认跳转的冲突问题
    前端知识体系目录
    sweetalert弹窗的使用
    background-size的应用情景:当给出的背景图片大于实际网页需要布局的图片大小时
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13325529.html
Copyright © 2011-2022 走看看