今年的项目涉及到BI的知识点,读了《商业智能深入浅出》,这本书是基于IBM的产品做的,基础知识部分讲的非常成体系。记下来做个备忘:

1. BI简介
  1.1 实施方案
    1)项目规划:
    2)系统设计与实现:
    3)系统调优
    4)系统运行维护

  1.2 实施步骤
    1)定义需求:
      1.1)特点:从不同的维度去分析主题,利用报表去阐述
      1.2)功能需求:各业务专题分析、关键性指标和查询监控、报表查询、高级分析和指标监控
    2)数据仓库模型建设:
      概念模型 -> 逻辑模型 -> 物理模型
    3)数据清洗、抽取、转换、加载
      抽取:定义不同数据源的抽取流程,如每天6点等;
      清洗:对业务源数据的清洗,检查数据源质量是否达到数据仓库要求
      转换:ETL的核心部分,聚合及转换
      加载:将数据加载到目标表中
    4)建立分析报表
  1.3 组织架构
    项目经理

    需求分析团队:需求调研、需求分析

    设计团队:架构设计、模型设计、ETL设计、报表设计

    开发团队:ETL开发、报表开发

    测试团队

    部署实施团队

2. 准备知识
  2.1 Oracle 体系结构介绍
    2.1.1 数据库定义
      1)物理存储结构:
        1.1) 数据文件,每一个数据文件对应一个数据库,包括表、索引、其他段;
        1.2)日志文件,记录对数据库的修改,用以备份恢复;
        1.3)控制文件,二进制文件,描述数据库的结构;
        1.4)参数文件
      2)逻辑结构
        2.1)块 -> 区段 -> 段 -> 表空间
        .2)数据库由若干个表空间定义而成

    2.1.2)数据库实例
      Oracle 实例由内存和一系列后台进程组成
      后台进程
      内存
      SGA
      共享池:共享SQL区
      数据缓存池:从数据文件读取上来的缓存
      日志缓存池
      UGA 服务器进程和后台进程的基本信息
      PGA 会话的基本信息

  2.2 Oracle优化理论
    2.2.1 外部优化原理
    CPU、内存
    2.2.2 SQL优化原理
      1)避免全表搜索、加索引、
      2)优化索引
      2.1)位图索引:将对应字段的值,映射成一个位图,如1001001,create bitmap index index_name on 表名(字段);
      2.2)基于函数索引:create index emp_upper_idx on emp(upper(ename)); 只扫描小写部分数据;
    2.2.3 SQL使用规范
    2.2.4 索引使用规范
    2.2.5 临时表使用规范
    2.2.6 创建索引原则
    2.2.7 代码程序中的优化

  2.3 数据库建模理论
    2.3.1 概念模型设计
      主题域 -> 主题 -> 主题或实体
    2.3.2 逻辑模型设计
      对概念模型的进一步分解和细化,包括实体、属性以及实体间的关系
    2.3.3 物理模型设计
      表、列、索引

3. 商业智能 数据仓库 的基础知识
  3.1 数据仓库

  3.2 数据仓库的特点
    1)面向主题:如客户主题(客户基本信息、客户信用信息)、产品主题、财务主题
    2)集成性:包括数据的集成(多个同类表合一)和编码的集成(不同的编码定义统一)
    3)稳定性:针对一段历史时期,主要用来查询和分析,不用来更新;
    4)反映历史变化:一般都含有时间键,建设周期为5~10年;

  3.3 数据仓库的开发过程介绍
    3.3.1 规划分析阶段
      1)开发目标,包括决策分析内容、技术角度分析、项目目标和工程计划;
      2)预算估计,编写详细设计说明书;
      3)进行概念模型设计,
      4)进行逻辑模型设计,
    3.3.2 设计实施阶段
      业务数据层 -> 数据缓存区 -> 数据仓库层 -> 数据决策层 -> 决策分析层
    3.3.3 使用维护阶段

  3.4 数据仓库系统组成部分介绍
    3.4.1 数据源分析
      1)范围分析:分析数据的范围
      2)格式分析:存储类型、长度、精度
      3)更新方式:更新方式、更新频率、更新内容
      4)质量分析:完整性、准确性、一致性;
    3.4.2 数据迁移
      1)数据抽取:直接抽取、间接抽取;
      2)数据转换:转换规则,要加SQL语句;
      3)数据装载:存在方式包括全表对比、时间戳、全表删除后插入;
    3.4.3 数据存储
    3.4.4 元数据:技术元数据、业务元数据:

  3.5 数据仓库模型设计介绍
    3.5.1 概念模型设计
      将业务数据抽取出来,并按照主体域进行划分;
    3.5.2 逻辑模型设计
      分析需求:需求目标、维度指标、维度层次、分析的指标、分析的方法、数据的来源、关注的对象;
      时间戳、粒度层次的划分
    3.5.3 物理模型设计

  3.6 数据集市
    小型的部门级别的数据仓库
    3.6.1 数据集市的类型
      独立型、从属型
    3.6.2 数据仓库和数据集市的区别
      来源于数据仓库,一般定义雪花和星型模型(分事实表和维度表)、高度索引、代表一部分历史数据、用以OLAP

  3.7 数据仓库的详细实施步骤
    3.7.1 需求分析
    3.7.2 逻辑分析
    3.7.3 设计ODS系统
      1)ODS数据缓冲区,采用增量抽取的方式;
      2)ODS统一视图信息区,
    3.7.4 数据仓库建模
    3.7.5 数据集市建模
    3.7.6 数据源分析
    3.7.7 数据的获取和整合
    3.7.8 应用分析,图形、列表、报表、文字报告
    3.7.9 报表展现,

4. 商业智能ETL的介绍
  4.1 ETL的体系结构
    Mapping设计 -> 元数据资料库 -> Job控制
  4.2 主流的ETL工具
    主要功能:数据源的支持、数据转换、管理和调度、数据集成、元数据管理
  4.3 详解ETL的过程
    4.3.1 数据抽取
      1. 若数据库相同,则采用ETL工具写SQL直接抽取;
      2. 若不同,则可以到处文件,间接抽取;
      3. 数据量非常大,则可以考虑增量抽取;
    4.3.2 数据清洗
    4.3.3 数据转换
      1)对空值的处理;
      2)对数据格式的规范化;
      3)对缺失数据的替换;
      4)根据业务规则对数据进行过滤;
      5)对业务字段进行拆分或合并;
      6)根据编码表对数据进行唯一性转换;
    4.3.4 数据加载
    4.3.5 ETL日志

5. OLAP简介
  5.1 OLAP的实现方法
    1)ROLAP,基于关系型数据表的OLAP,将多维数据分为事实表和维度表;
    2)MOLAP,基于多维数据的OLAP,主要存储与多维立方体;
    3)HOLAP,混合上述两类;

  5.2 OLAP的分类
    1) 穿透:对详细数据的钻取;
    2) 上钻:从细到粗展示数据;
    3) 下钻:从粗到细展示数据;
    4) 切片:在维上选定值后,展示相关的数据;
    5) 切块:在维上选定一个范围后,展示相关的数据;
    6) 旋转:类似于行列呼唤;

6. ODS和数据仓库的结合
  6.1 ODS的主要功能
    1)作为业务数据和数据仓库之间的隔离地带
    2)降低业务系统压力,复杂报表和细节查询可以由业务系统迁移到ODS
    3)满足从微观角度查询数据,
    4)数据的实时整合
    5)数据质量检查

ODS 支持中低级别的OLAP,数据仓库支持长期的趋势数据;

《BI深入浅出》笔记的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. 强连通分量的一二三 | | JZOJ【P1232】 | | 我也不知道我写的什么

    贴题: 在幻想乡,上白泽慧音是以知识渊博闻名的老师.春雪异变导致人间之里的很多道路都被大雪堵塞,使有的学生不能顺利地到达慧音所在的村庄.因此慧音决定换一个能够聚集最多人数的村庄作为新的教学地点.人间之 ...

  2. 学霸网站-Beta版本发布说明

    项目名称 学霸网站 项目版本 Beta 项目团队 ourteam 发布日期 2015-1-5 一.Alpha版本实现功能简介: 1.匿名提问 2.匿名回答 3.采纳功能 4.登录.注册失败后,用户名等 ...

  3. Scala学习笔记一

    首先是安装Scala 下载Scala进行安装 http://www.scala-lang.org/ 安装好scala后,为scala配置系统环境参数 新建环境变量SCALA_HOME,值为scala安 ...

  4. 爱上WPF,努力才会有希望!

    从WinForm转向WPF开发已经有两个多月了,通过不断深入地学习与运用,现在是越来越爱它了.它实在是太强大了.运用WPF,你不仅可以做Win界面,也可以很快转向Web开发,因为Silverlight ...

  5. 等比例压缩图片到指定的KB大小

    基本原理: 取原来的图片,长宽乘以比例,重新生成一张图片,获取这张图片的大小,如果还是超过预期大小,继续在此基础上乘以压缩比例,生成图片,直到达到预期 /** * @获取远程图片的体积大小 单位byt ...

  6. MIUI系统安全中心之自启动管理解密

    迄今为止,Android系统的手机已经在整个手机市场中占有很大的比重.其中小米手机更是因为它的性价比和销售模式普遍的出现在了人们的日长生活中. 废话不多说,进入正题.作为一个Android的开发者,避 ...

  7. 使用Topshelf快速搭建Windows服务

    1.创建控制台程序 2.安装Topshelf组件  Install-Package Topshelf using System; using System.Timers; using Topshelf ...

  8. MATLAB 画出三个通信小区cell边界示意图

    d=1000; %两个小区中心间距离的一半 rcell=2*d/sqrt(3); %小区半径 ncell=3; %小区个数 cellposition=zeros(ncell,2); %初始化小区中心位 ...

  9. java中枚举(enum)小例子。之前学过枚举但是一直没用,这里有个枚举类帮你我理解下(很肤浅)

    直接上枚举类,代码简单易懂. package com.jy.modules.cims.data.interact.tbj.loan.request; /** * * @author shengzhou ...

  10. catalina.properties

    追踪 startup.bat set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat" call "%EXECUTABLE%&q ...