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%的大公司数仓只是地基,它才是房子

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

    这个后面会写到。

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

  • 相关阅读:
    《Microsoft Sql server 2008 Internals》读书笔记第十一章DBCC Internals(2)
    《Microsoft Sql server 2008 Internals》读书笔记第十一章DBCC Internals(9)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(10)
    CKEditor在asp.net环境下的使用一例
    《Microsoft Sql server 2008 Internals》读书笔记第五章Table(7)
    《Microsoft Sql server 2008 Internals》读书笔记第九章Plan Caching and Recompilation(11)
    千万数据的连续ID表,快速读取其中指定的某1000条数据?
    javascript中的float运算精度
    .Net与Java的互操作(.NET StockTrader微软官方示例应用程序)
    《Microsoft Sql server 2008 Internals》读书笔记第十一章DBCC Internals(6)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13325529.html
Copyright © 2011-2022 走看看