什么是BI?
BI为商业智能简称,指用数据仓库技术、线上分析处理技术、数据挖掘和可视化技术进行数据分析来实现商业价值。
BI是一套完整的解决方案,用于将企业中现有的数据进行有效整合,快速准确的提供报表和决策依据,帮助企业对业务经营做出明智决策。
一、BI开发工作流程
ETL开发->数据仓库开发(重点)->可视化报表
1.ETL开发:
定义:用来描述将数据从来源端经过抽取(extract)、转换/清洗(transform)、加载(load)至目的端的过程。
常用工具:kettle(免费)、Datastage(付费)、Informatica(付费)
数据的源端:源数据库、业务库
2.数据仓库开发(重点):
ODS—贴源层
数据来源:业务库(如MySQL数据库、Oracle数据库、DB2数据库)
常用kettle工具从业务库中抽取数据加载到数据仓库(即ETL过程),手动抽取|定时抽取
一般是要求抽取的数据与源业务库的数据保存一致。
DW—数据仓库层
数据来源:ODS层中获得的数据按照主题建立各种数据模型。(维度|事实概念?)
DM—主题层
数据来源:DW层
该层主要是提供数据产品和数据分析使用的数据,一般存放在es、MySQL等系统*线上系统使用
也可能存在HIVE*数据分析和挖掘使用。
3.可视化报表:
常用工具:帆软(FineReport)、tableau、PowerBI、
二、数据库与数据仓库的区别
数据库(DB):简而言之可视为电子化的文件柜,用户可对文件中的数据做增|删|改|查操作。(表结构)
数据库管理软件:Oracle、MySQL、DB2
数据仓库(DW):指从业务数据中创建的信息数据库,并针对决策和分析进行优化。数据仓库中的信息是面向主题的、集成化的、稳定的、随时间变化的数据集合。用来支持管理决策的过程。数据仓库中的数据来自多个数据源。
区别:1.数据库是面向事务的设计,数据仓库是面向主题的设计
2.数据库一般存在线交易数据(30天-90天),数据仓库一般存历史数据(5年-10年)
3.数据库设计是尽量避免冗余,数据仓库设计是有意引入冗余
4.数据库为捕获数据,数据仓库为分析数据
三、数据仓库的演变
传统数仓->数据湖->数据中台
四、数据仓库的数据模型
维度建模法:专门用于分析型数据库、数据仓库、数据集市建模的方法。
维度建模本身属于一种关系建模方法,但在此基础上增加了维度、事实概念。
1.维度表
表示对分析主题所属类型的描述。
例:昨天晚上我在天猫买了一台手机,花费3000元。以购买为主题,从这段信息可提取到
时间维度(昨天晚上)、地点维度(天猫)、商品维度(手机)。通常维度表信息比较固定、数据量小。
2.事实表
表示对分析主题的度量。上述例子中,3000元就是事实信息。
事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值,且
记录数会不断增加,表规模迅速增长。
模型1:星型模型(常用)
a.维度表只和事实表关联。
b.每个维度表的主码为单列,且主码放置在事实表中作为两边连接的外码。
c.以事实表为核心,维度表围绕核心呈星型分布。
模型2:雪花模型(开发难度大不常用)
模型3:星座模型(最常用)
五、BI开发核心技能
1 SQL、SQL调优
2 ETL 工具
3 报表工具
4 建模
5 HDFS HIVE HIVESQL
6 掌握一门高级语言:Python、Java
7 相关行业项目经验
项目经历
优化简历
六、数据库管理软件
Navicat for MySQL —— MySQL
PLSQL —— Oracle