Chinaunix首页 | 论坛 | 博客
  • 博客访问: 657026
  • 博文数量: 149
  • 博客积分: 3901
  • 博客等级: 中校
  • 技术积分: 1558
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-16 14:33
文章分类

全部博文(149)

文章存档

2014年(2)

2013年(10)

2012年(32)

2011年(21)

2010年(84)

分类: 云计算

2012-05-04 09:38:49


转自 : http://blog.csdn.net/bxy5511/article/details/6415673

 Business Intelligence(BI) = Data Warehouse(DW) + OLAP + Data Mining(DM)
    商业智能=数据仓库+联机分析+数据挖掘
    做BI的目的是帮助用户进行决策分析,从多维的角度来分析现状,给决策者做出正确的决策提供可靠的数据基础与背景,为的发展做出正确的导向。然而在国 内做BI确走入了一个误区,通常客户拿BI当报表系统来用,这有点大才小用的感觉,还有就是各个公司水平不同,常常有个别公司拿着拿着非BI系统来欺骗客 户给BI蒙上了一层不好的印象,总的来说近两年BI在国内的发展还是比较顺利的,有越来越多的企业和机关来开始做自己的BI系统,比如银行、税务、保险等 行业。

BI通常的架构或基本架构是:
    源数据->ODS->DW->OLAP->前端。
    常用源数据类型:关系、文本数据 等。
ODS :操作数据(Operation Data Storage)主要用途是将多个数据源的数据集成到一个临时缓冲区中供数据仓库使用。一般情况下ODS的数据不会保留很长时间根据需要1个月或3个月, 如果客户有查询要求的话那么ODS可能需要一直保留,通常情况下不用。ODS一 个好处是在数据仓库与源数据之间做了一个缓冲减轻了源系统压力,我们在用需要操作用户源系统。比如:我们从源数据向数据仓库中加载事实表数据时,这时候我 们需要进行聚合操作,如果没有ODS层,那么所有聚合操作的压力是在源系统完成的,这就会给客户源系统带来很大的压力,这是在项目实施过程中经常遇到的一 个问题。

DW:数据仓库(Data Warehouse)简单说就是存储事实表和维表数据的数据库而已。
定义:数据仓库 (Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持决策。
    数据仓库一般采用业界主流的关系数据库,如Oracle、DB2、 等。
维表:存储描述事实表中数据特性的表,它存 储用户分析数据的角度,它给OLAP提供旋转、切片的数据基础。
事实表:存储经过一定聚集的历史数据,是星型架构或雪花型架构的中心。每个数据仓 库含有一个或多个事实表。
事实表包括索引和数据两部分,索引部分就是描述事实表数据特征的维表的外键,数据就是事实表中要存放的数据,也就是我们 通常说的度量值的来源。

    OLAP:联机分析处理(On-Line Analytical Process)工具有Essbase,Microsoft analysis等。
OLAP的基本思想是使企业的决策者应能灵活地操纵企业的数 据,以多维的形式从多方面和多角度来观察企业的状态、了解企业的变化。使用OLAP工具我们可以将维表和事实表做相应的连接,然后做聚合操作保存成 cube从而达到多角度分析数据的目的。
    前端展示工具:前端展示工具是辅助用户来多角度,自定义展现报表形式的工具,是对OLAP工具的一个不错,通常OLAP工具只能做简单的数据展示,上钻、 下钻等。前端展示工具可以根据用户需求展现曲线图、柄形图等,通过展示工具我们可以做一些个性化设置,权限控制等等,常用工具 BO,Brio,Cognos,BI Office,值得一提的是BI Office是国内一家BI公司的产品,可以是国内前端展示工具的代表。

ETL 讨论:

    开发过程中工作量最大的部分也是最难控制部分就是ETL,几乎ETL要占整个系统的40%的工作量。
ETL 常用工具:Data Stage、Informatic、Microsoft DTS等。

做ETL工作原则:
1、 要对源数据有充分了解,这需要业务系统工程师配合。不只要了解所用到源系统表、字段的意义,还要对数据的质量进行验证。
2、跟客户确认脏数据的处 理方式(丢弃还是默认其它),这会直接影响到最后报表的误差率。
3、确认数据存放时长,只有了解数据存放时长,才可以更好的进行事实表的存储方式 (比如分区方式等)
4、及时验证数据的准确性,当我们做了一定的历史数据抽取后要及时跟客户验证数据的准确性,否则等系统上线后发现数据不正确, 此时悔之晚矣。
5、确定调度方式,调度不同会影响数据抽取完成时间,比如1周的数据安排在1天调度完成跟分成7次调度的响应时间是完全不同,这要 根据应用确定。
6、流程监控与故障处理,这是必不可少的,我们监控ETL的允许情况,还有任何程序都不能保证永不出错,所以我们需要做确保故障出 现后能够弥补。

阅读(1625) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~