第一周:总结
记录第一周工作内容和下一周计划。
1 什么是BI
BI全称商业智能(Business Intelligence),在传统企业中,它是一套完整的解决方案。将企业的数据有效整合,快速制作出报表以作出决策。商业智能BI在数据架构中处于前端分析的位置,其核心作用是对获取数据的多维度分析、数据的切片、数据的上钻和下钻、cube等。通过ETL数据抽取、转化形成一个完整的数据仓库、然后对数据仓库的数据进行抽取,而后是商业智能的前端分析和展示。
说白了,商业智能就是对当前数据或者历史数据进行分析,帮助决策者定制未来的业务决策,促使企业向更有利的方向发展。从技术层面上讲商业智能BI并不是什么新技术,它只是对数据仓库和数据分析,ETL等技术的综合应用。
2 什么是ETL
字面意思很明白:抽取,转换,加载。
其实ETL技术就是将业务系统中的数据抽取清洗转换之后加载到数据仓库中的过程。在BI项目中ETL是非常重要的一个环节,在整个BI项目中甚至会“花掉”1/3的时间。所以可以看书ETL设计的好坏直接直接关乎到整个BI项目的成败或者说是好坏。
E是从不同的数据源中或者系统文件中抽取数据数据到ODS(操作型数据存储)中,这个过程可以做一些数据的清洗和转换,T是清洗和转换,ETL花费时间最长的一步,L就是加载,数据清洗转换结束之后会被load到数据仓库DW中。
ETL实现的三种方式:
一种是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic等)实现,
一种是SQL方式实现,
另外一种是ETL工具和SQL相结合。
前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。
集体抽取转换和清洗数据的过程参考链接:
3 什么是数据的可视化
直观的理解 数据可视化就是指将结构或非结构数据转换成适当的可视化图表,然后将隐藏在数据中的信息直接展现于人们面前。
数据可视化主要是借助于图形化手段,清晰有效地传达与沟通信息。
在数据可视化的实际操作过程中,整个过程可以分成这样几个步骤:数据清洗、数据分析、角度选择、图形运用、配色等
目前国内市面上的数据可视化工具也是存在的比如:FineBI,FineBI是为大数据量提供数据处理、ETL、Dashboard报表展示、动态分析、报表管理的可视化分析工具。
产品LEAN-BI也是一款以数据仓库为基础
4 什么是数据仓库,维度,度量?
对数据仓库和维度,以及度量的学习和理解。
4.1 数据仓库
4.1.1 概念和定义
在传统数据库中,数据库一般会和业务挂钩,所以数据库的设计一般也是根据业务需求。就比如某系统的用户管理模块,我们想要获取到某一个用户的详细信息(姓名,年龄等)很容易,但是想要分析该用户在某一时间段做了什么操作,操作了几次,仅凭用户信息这张表根本不能完成操作,我们需要修改表字段才能完成具体需求。显然这样的做法确实有点"鸡肋"。
数据仓库:DataWarehouse (DW或DWH);数据仓库从字面意思上理解就是一个存放数据的仓库,对于一个企业来说,用户信息相关数据、商品信息相关数据、操作日志相关数据、订单相关数据等等一系列的数据"存放"在一个“仓库”中,就是我们的数据仓库,有了数据仓库想要解决上面说到的问题就可以利用数据仓库进行分析解决问题,不需要改动数据库中表结构等信息。
综合上面分析可以知道数据仓库的设计其实是依照具体分析需求,以及分析的指标和维度进行设计的。数据仓库更像是数据库基础上的一种升级,它能够存储更加庞大的数据和数据集。数据仓库是为企业所有级别的决策制定过程,提供所有类型数据支撑的战略集合,主要是用于数据挖掘和数据分析,以建立数据沙盘为基础,为消灭消息孤岛和支持决策为目的而创建的。
4.1.2 特点
上面概念知道了数据仓库一依照 分析需求,分析维度,分析指标设计的,那数据仓库就一定会它自己的特点存在。
特点一:面向主题
这里的主题是一个抽象的概念,它是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常和多个操作型信息系统相关。比如阿里相关工作人员想要分析客户购物情况的,那么这里的主题就是指的购物。而购物主题包含对用户数据,订单数据,物流等数据的分析,这个主题中如果缺少其中任何一个相关数据都不能保证这个主题的完整性和一致性。
特点二:数据集成
数据仓库的数据是从不同的数据库中抽取形成的,在抽取过程中需要使用ETL相关工具对数据进行“清洗”。
特点三:不可更新
数据仓库的数据主要是提供决策分析用,涉及的数据主要是数据查询,一般情况下不做修改,这些数据反映的是一段较长时间内历史数据的内容,有一块修改了影响的是整个历史数据的过程数据。可以看出数据仓库的数据往往会非常大,所以对数据查询提出了更高的要求,要求采用各种复杂的索引技术,并对数据查询的界面友好性和数据凸显性提出更高的要求。
特点四:随时间不断变化
上面说到的数据不可更新是针对应用来说的。从数据的进入到删除的整个生命周期中,数据仓库的数据是永远不变的。数据仓库的数据是随着时间变化而不断增加新的数据,也会随着时间变化不断删除旧的数据,这也证明了数据仓库的数据也是有时限的。
4.1.3 数据仓库和数据库区别
最根本区别:
前者面向分析,后者面向事务。
前者数据量大,后者数据量小。
4.1.4 数据仓库常用系统架构
数据仓库常用系统架构
ODS层:
临时存储层,这一层的数据是从个各个系统文本文件以及数据库中抽取的数据和源系统的数据是同构的,在这一层ETL会对数据进行简单的清洗。
DW层:
数据仓库层,从ODS层到DW层ETL会根据具体的业务需求对数据进行清洗、设计。如果没有业务需求,则根据源系统的数据结构和未来的规划去做处理。这一层的数据尽量要求一致,准确,尽量建立数据的完整性。
APP层:
引用层,这一层的数据ETL会对数据进行最后的清洗设计,形成提供报表和数据沙盘展示所需的数据。
数据仓库分层的好处:
数据分层能够简化ETL对数据清洗和设计的过程,每一层的逻辑变得更加简单和易于理解。
4.2 维度和指标
维度和指标是数据分析领域常用的概念,亦是在设计数据仓库过程中需要考虑的。
维度就是数据的观察角度,即从哪个角度去分析问题,看待问题
指标,即度量,就是从维度的基础上去衡算这个结果的值。
维度一般是一个离散的值,比如时间维度上每一个独立的日期或地域,因此统计时,可以把维度相同记录的聚合在一起,应用聚合函数做累加、均值、最大值、最小值等聚合计算。
指标(度量)就是被聚合的通计算,即聚合运算的结果,一般是一个连续的值。
5 SQL的学习
SQL是一门计算机语言,这次学习主要是巩固一些SQL基础和一些常见的SQL查询,以及一些SQL优化问题。
SQL优化总结: