zoukankan      html  css  js  c++  java
  • BI开发(ETL-DW)

    来到公司已经参与开发了一段时间的BI项目,但是仅仅是按照需求开发,今天下午公司给大家培训数据仓库的知识,老大(女程序员)在上面讲,我们在下面听,2到3个小时吧,什么纬度,主题,几乎听的一脸茫然,最后演示了基于BI的成本分析系统,感觉好复杂,主要是对于医疗项目的业务,反正挺繁琐的。做这个项目的目的主要是给实施人员使用,再由实施人员教客户使用,进而指定自定义的报表(数据量很大,表都是上百万的数据),记一下,有空研究一下数据仓库。

    目前说白了,就是为了进行数据汇总,分析,如果不采用数据仓库,直接查询数据库,需要大量的join,并且表数据量大,影响数据库效率(水平分表听过,不怎么会用,目前主要建立临时表存储,但是数据量还是很大),所以建立数据仓库。同时各家医院对于成本分析的指标不一致,所以报表需要客户自定义,所以不能直接写SQL固化的程序中,不过目前我们就是固化。(每次发布一次报表,需要2,3个小时)。

    参考技术:开源的mondrian与jpivot

    ====================================================================================================

    1.数据源

    2.创建视图(选择表,设置表关系)[]

    3.创建cube立方体

    4.创建维度,度量(指标,衍生指标)

    5.设计页面

    6.发布,设置权限

    ====================================================================================================

    所以要开发基于数据仓库的BI分析系统,主要对医院指定的指标进行数据分析,产生报表,但是指标各个医院不一致,关注的数据不一致,所以报表(图标)是可自定义的。

    DB-ETL-ODS-DW-DM-OLAP-APP(数据层DW-应用层OLAP-门户服务APP)

    基于数据的数据交换平台-ESB服务总线(数据中心)

    基于雨雾的流程管理平台-BPM,SOA

    基于业务的渠道系统(OLTP系统)

    ====================================================================================================

    1.ETL过程刷新数据

    2.配置主题元数据

    3.界面展现(自定义图表)--针对不同的指标进行数据分析

    ====================================================================================================

    存储:

      单独的一个库------多个库存储

      单独的一个库------表切分(水平--切列   垂直---切行)

      单独一个库(DB)--------临时库(ODS)-----小库(DM集市)----------分析库(DW)(这样就存在一个数据转移过程,也就是ETL过程)

    ====================================================================================================

    自定义报表查询:

    ===================================================================================================

    一个重要的概念:

      指标:

        指标就是一个度量,可以认为一个度量或者一个度量的计算

      为什么:

        通过OLAP多为分析,对分析的结果(按照指定的维度进行分析的数据--汇总数据),重新建立维度(这就是指标的真正含义),再次进行多维分析,把这个维度就叫做指    标。

      指标:就是对象OLAP的分析结果再次进行建模分析,而这个维度就叫做指标。

        立方体:--切块:就是指标分析

        切面,片---------就是简单的OLAP多维度分析

    ====================================================================================================

    1.OLAP:异构集成平台(面向主题)--------------雪花模型或者星型模型-----多角度分析(查询性)

    2.OLTP:单一系统(面向业务)---------------------ER模型-----------------采集数据(事务性)

    3.星型模型(一个中心-一个事实表),雪花模型(多个中心-多个事实表)

    DB与DW之间可以存在ODS(操作型的数据仓库),他是一个过渡层,降低业务系统查询的压力。

    =====================================================================================================

    纬度表:(主要存储事物的详细描述信息,)

    事实表:主要存储数据(数据可以进行汇总----外键关联纬度表)--------度量值

    应用:上卷/下钻,切片/快,旋转/转轴。----类似的比如报表里面的,父子表,类似与连接表查询

    一下几个图来源:http://www.cnblogs.com/honkcal/archive/2011/07/15/2107172.html借鉴一下,图示比较明确

     

    上面类似的表格分析,大家估计都做过,只是没有概念,仅仅是客户的要求,我们采取SQL给他们实现,没有科学理论对其进行认证的分析(父子表,行转列,子查询表)。

    个人感悟:

    数据独立存储,不存储其他详细描述信息---事实表(外键关联详细事,是你要关注的内容就是一些数据,即某一纬度的度量的汇总,主要是数据信息),纬度表(主题具体的角度,涉及比较详细信息,主要是文本信息,是度量的描述)

    =====================================================================================================

    类似开发中我们常见的表样:http://www.cnblogs.com/gstsyyb/p/3365930.html,其实类似这种报表完全可以做成可定制的报表也就是所谓的自定义纬度(对于客户来说就是他们的指标KPI)

  • 相关阅读:
    Linux下用wget下载百度网盘资源
    android系统编译记录
    ubuntu 安装JDK & eclipse
    Linux安全攻略-僵尸进程
    smack user登陆
    smack 创建账户
    我的第一个开源App(彩票开奖查询)
    REST简介
    HTTP 状态码
    测试 ScribeFire Blog Editor
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3825165.html
Copyright © 2011-2022 走看看