《BI深入浅出》笔记
今年的项目涉及到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,数据仓库支持长期的趋势数据;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)