itgoit's profileTo arrive at the simple ...BlogListsNetwork Tools Help

Blog


    January 25

    Business Intelligence - Dimensional Modeling Concepts and Terminology

    今天开讲DW的技术基本-维度模型,有称为多维模型。英文叫Dimensional Modeling。
     
    前面的章节已经讲到了Dimensional Modeling与Normal Form (3NF 3范式或6NF 6范式)的区别。一定要明白并理解好Dimensional Modeling,否则在你请求源系统DBA帮助的时候会被他们当作你不懂RDBMS的笑话。
     
     
    Dimensional Modeling必须满足以下的以下目的:
    A. 给用户呈现的信息越简单越好
    B. 快速的返回信息检索结果
    C. 对用户各种业务流程用不同的相关信息表达其所需要呈现的
     
    术语1:dimensional model
    简单的信息表现并不代表数据模型的简单,在DW中我们往往用多维模型(dimensional model )来替代范式模型。dimensional model 由一系列中心的因素表fact table和相关的维度表dimensions table组词。
    A dimensional model is made up of a central fact table (or tables) and its associated dimensions. The dimensional model is also called a star schema because it looks like a star with the fact table in the middle and the dimensions serving as the points on the star.(The Microsoft Data Warehouse Toolkit : With SQL Server 2005 and the Microsoft Business Intelligence Toolset )
     
    术语2:facts
    维度模型的核心是因素(fact),每个fact table都包含着关联业务过程的可度量值。在fact table中的每一条记录就是一个可度量值记录,每一个商业过程活动可以表达为fact table中的记录。大多数fact是一个数字,而其中大部分fact table中的fact 记录值可以累加。比如订单的总额,你可以将本月每日的所有订单总额累加,而商品的单价就不太合适累加,也有合适半累加的,比如市场份额。
     
    术语3:grain
    粒度。不同于SQL Isolation Level, 这里的粒度回归原意是指在fact table中每条记录的粒度必须使一致的,比如不能一条记录是今天的订单总额,另一条是本月的。
     
    术语4:dimensions
    维度!如果说一个fact代表一个商业行为的动作的话,一个dimensions就代表了一个商业的对象,比如:产品、客户、工具、员工、日期...
    dimension可以说类似ER中的entry,是围绕可度量因素fact的业务参与体(paticipates, parties)的对象。可度量因素的fact必须要从多个角度去衡量它,比如从客户收入分类角度看订单分布,从客户地域角度看订单分布,从销售人员年资看订单分布,从分公司角度订单分布...同样一个订单fact,可以有很多dimensions围绕他(关联他),在日后的分析统计中从这些不同角度去了解订单fact。这些角度往往作为dimension table的描述性属性(descriptive attribute)出现,比如customer table中的生日、性别、地址等。这些描述性属性可能存在树形架构关系或1-多对应关系。
     
    在通常的关系数据库系统(RDBMS)中,我们常用规范化(normalization)来规范我们的数据模型,这往往要求我们消除数据冗余等。在DW dimension模型中我们常用反规范化(denormalization)来保持数据模型的简单,以确保今后数据查询的简单。
     
     
     
     
     
     
    January 23

    Business Intelligence - the tools for BR definition

    第一个工具是组织架构图(Org Chart)
     
    还记得我们说的建设DW/BI是需要了解Enterprise Level的Requirement 么?有了organization chart, 你不仅能知道客户公司的各级领导,还能知晓部门划分、各级职权、汇报关系、人员组成,也能窥看到哪些是核心业务部门,哪些是公司的重点,哪些人该去interview,哪些人会对你提出大概什么样子的需求。最后请IT的人帮你找到那些源系统的大头们。
     
    第二个工具是业务矩阵(Biz Matrix)

     Value

    Chain

    Business Processes

    Dimensions

    Date

    Product

    Vendor

    Shipper

    Dist Ctr

    Store

    Promo

    Purchase Orders

    X

    X

    X

     

    X

       

    Dist Ctr Deliveries

    X

    X

    X

    X

    X

       

    Dist Ctr Inventory

    X

    X

       

    X

       

    Store Deliveries

    X

    X

     

    X

    X

    X

     

    Store Inventory

    X

    X

         

    X

     

    Store Sales

    X

    X

         

    X

    X

     
     
    Biz Matrix能帮你逐渐将User 的Business Processes转化为DW需要的Dimensions
     
    第三个好东西是Prioritization Grid
     
     
     请尽量用它来确定你下手各个Business Process的优先级。
     
    January 22

    Business Intelligence - the Business Requirement

    尽管大多数的IT软性系统都会有一个定义业务需求(Defining Business Requirements)的地方,但是DW/BI系统的Business Requirement还是有所特殊之处。
     
    首先,BI系统的目的较为特殊,DW系统一般建设的目的是建设一个核心数据中心、为报表查询、数据分析、数据挖掘、数据备份和恢复等做数据和工具层面的基本工作。而BI的功能更进一步,将在DW的基础上将基础数据转化为商业决策需要的结果,也可称为企业知识。比如在call center的呼叫记录转化为话务员和服务部门的绩效结果,或将电话销售的结果和市场广告投放结果数据综合形成推广决策表报。这些结果往往影响或牵涉到整个企业,特别是企业的高层。
     
    DW中积累的系统与在线系统不同,其积累的是长期以及成年累月的数据,因此可以对商业本身长期发展的规划和决策提供基础性建议和帮助。这些帮助对于企业来说是中长期的。
     
    因此,BI系统的用户需求是基于企业范围(enterprise-level business requirements)以及企业长期(Long-Term Success)的需求,需要企业各部门以及高层的参与,而非仅仅是IT部门和最后报表查看的个人。
     
     
    这边先要说一下需求调研的目的。在DW/BI系统需求调研的目的是
      • 确定项目的Scope,这个每个IT Project都会做得事情,不多说了。
      • 确定DW/BI的用户,以及用户各个层面对于BI系统的使用方式。由于通常是将灵活的或较为灵活的报表作为最终的结果呈现给决策层,因此需要各种基于维度的分析统计表现形式。所谓维度模型(dimensional model)是与范式模型(normalized model)不同的数据模型。在后续的章节会有较详细的描述。normalized model通常是指我们常用的三范式,为在线事务处理而定义的数据模型规范,为了数据的完整性,不冗余,参照一致...每本大学数据库原理都有描述。维度模型则不同,不受范式约束,而是为了分析性数据查询优化的一种模型。这些分析查询往往面向一个或多个因素(fact)的组合,我们把这些fact和补充说明fact的dimension以这样特别的数据模型存放到数据仓库中,形成了dimensional model。
      • 确定与建立DW相关的其它数据源系统的一系列问题。特别需要与IT部门合作。
      • 确定现有数据源系统的操作习惯,数据特性,特别需要与各系统的使用者和维护者合作。
      • 理解用户的业务内涵,确定各种业务流程(Business Process)的轻重缓急。
      • 为制定方案和进度提供依据。
     
    tools for uncovering business value
    下面介绍几个工具,帮助发掘用户需求。这些工具都来自于The Microsoft Data Warehouse Toolkit : With SQL Server 2005 and the Microsoft Business Intelligence Toolset。推荐大家先看一下原书。
     
     
     
     
     
     
     
     
     
    January 19

    Business Intelligence - reference books

     

    The Data Warehouse Toolkit

    Second Edition
    The Complete Guide to Dimensional Modeling

     By Ralph Kimball,Margy Ross

    Wiley Computer Publishing

     ISBN 0-471-20024-7

     

    The Microsoft Data Warehouse Toolkit :

    With SQL Server 2005 and the Microsoft Business Intelligence Toolset

    by Joy Mundy, Warren Thornthwaite and Ralph Kimball

    John Wiley & Sons © 2006

    ISBN:0471267155

     

    Mastering Data Warehouse Design

    Relational and Dimensional Techniques

    By Claudia Imhoff, Nicholas Galemmo, Jonathan G. Geiger

    Wiley Computer Publishing

    ISBN: 0-471-32421-3

    January 18

    Business Intelligence-To be a MBA & DBA

    BI 的系统基础是数据仓库(Data Warehouse),建设数据仓库需要你即使一个MBA又是一个DBA. You should be hybrid MBA(business analyst)/DBA(database administrator).
     
     
    可见建设BI系统并不是一个单纯的技术工作。BI首先要强调的是对business 的认识、理解、分析和确认。而且可能是一个反复的过程。如果你想马上进入建模的阶段,或者听我讲Dimensional Modeling的要点的话,你可能要失望了,我要强调的是先做好一个MBA。
     
    粗浅而言,建设BI系统和其他商业系统没有什么太大不同之处,BI比较强调的过程主要由下组成:
    1. 业务需求的调研和确认
      ->2.结构设计和工具选择
      ->3.建立维度模型(Dimensional Modeling),物理模型设计(Physical Design),ETL 设计和开发
      ->4.BI Application开发
    5.开发
    6.数据增长
    7.维护
     
    January 17

    Business Intelligence-What is the next hotspot?

    Business Intelligence(商业智能,简称BI)并非像其名字那样神奇,BI通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。
     
    这里不得不提一提“企业”这次词的理解。我们常把firm,company, corporation翻译为公司,把enterprise翻译成企业确实有些问题。firm多是通称,可以称为商号。company也是泛泛而称,可以是合伙制,股份公司,有限责任公司等。corporation多为股份公司。而enterprise翻译为企业也对,但是一般指有明显商务活动的公司,多为电信、金融、大型制造业等。而在中文中“企业”是与政府机构以及事业单位区分的词汇,所有从事商业行为的都可较为企业。
     
    在IT界将包含传统"交易/事务(transaction)","消息(Message Broker)","集成(Integration)等"等操作性(Operational)软件系统都成Enterprise System,把软件应用称为Enterprise Application。 这些系统软性包括:RDBMS, Middleware(transaction, message queue, integration), Application Server, Web Server等,应用包括ERP, SCM,CRM,HRM,Call Center...
     
    经过日积月累的应用,这些Ensterprise System & Application都保存了大量企业日常运行的数据信息。往往在线系统基于性能、存储以及应用本身的考虑只存放有限时间的数据,比如计费的详单存放3个月,账单存放1年等等。这些下线的数据基本上在被aggregation后就被封存到磁带,光盘,然后放进柜子。而在线数据除活动部分由于operation需要之外也在这些应用系统中通过有限的report present。企业的数据没有能表达他们的价值。
     
    而老板们总是需要知道我的公司怎么了?中层经理们需要知道cash flow健康吗?销售情况如何?生产是不是瓶颈?明年的计划改怎么做?CIO和IT Manager因此被自我或其他Manager驱动要做出大家看得懂的表报。于是市场又发觉了一个热点-Business Intelligence!
     
    Many BI/DW projects begin with the notion that you'll just move some data to a new machine, clean it up a little, and develop some reports. (The Microsoft Data Warehouse Toolkit : With SQL Server 2005 and the Microsoft Business Intelligence Toolset )
     
     "当然是错误的",每个BI consultant都会这么说。其实他们是说得没错, BI不只是买个BO的crystal report tool. BI应该是一个企业战略或者说是企业范围内的项目。
     
    在CRM,ERP,SCM等红火了这么些年后,BI又将是一个被挖掘出来的新热点。顺便提一下我所预见的将要发生的热点:
    1.BI(商业智能)
    2.UC (统一通信)
    3.Enterprise Search(企业搜索)
     
    当然,一切都将以技术新热点 - SOA 所呈现。