数据仓库那点事

来源:互联网 发布:淘宝导出库存 编辑:程序博客网 时间:2024/06/07 17:55

首先总结下今天被问到的没有答上来的问题吧:

1.mysql和sql的区别

mysql价格便宜,安装使用简便快捷,开源,针对一些对数据库有特别要求的应用可以通过修改代码来实现定向优化

架构:自由选择存储引擎。每个表都是一个文件,可以选择合适的存储引擎。常见的由InnoDB MyISAM 等

有开源版,速度最快,最不安全。

MS sql server是windows生态系统的产品。高度集成化,不缺钱但缺IT人才的中小企业会偏爱MS SOL Server。

不开源,速度中等,一般安全

准备下数据仓库的东西:

参考:http://blog.163.com/xoq_412885496/blog/static/8515720520138174516606/

1.什么是数据仓库?

数据仓库是决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。用于支持经营管理中的决策支持过程,从广义上讲数据仓库指存储大量历史数据的数据库。每一个记录代表特殊时间点上的一个数据。

其中,面向主题:操作数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作性信息系统相关。

集成的:数据仓库的数据有来自分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与提成,统一与综合之后才能进入数据仓库;

稳定的:数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询

时变性:数据仓库是随时间而变化的。传统 的关系数据库系统比较适合处理格式化的数据,能够较好地满足商业商务处理的需求。稳定的数据以只读格式保存,且不随时间改变。

2,数据仓库和数据库有什么区别?

数据仓库是面相分析的,数据库是面向事务处理的。数据仓库的数据是基本不变的,而数据库的数据是由日常的业务产生的,常更新;数据仓库的数据一般有数据库的数据经过一定的规则转换得到的。数据仓库主要用来分析数据,一般是tb级的数据,比如决策支持系统,数据挖掘等。

a).数据库是面向书屋处理的,数据由日常的业务产生,常更新;数据仓库是面向主题的,数据来源于数据库或文件,经过一定的规则转换得到,用来分析的。

b).数据库一般是用来存储当前交易数据,数据仓库一般存储的是历史数据。

c).数据库的设计一般是符合三范式的,有最大的精确度和最小冗余度,有利于数据的插入。数据仓库的设计一般是星型的,有利于查询。

3.什么叫OLAP?用途是什么?的形式,形成:立方体“的结构。HOLAP能把MOLAP和ROLAP两种结构的优点有机地结合起来,能满足用户各种复杂的分析请求。

4.什么叫维度和量度值?

维度是用来反映业务的一类属性,这类属性的集合构成一个维度。如时间、地理位置或产品。各分析角度(维度)和统计数值型数据(量度)之间的关系。

5.数据仓库的基本架构是什么?

数据源->ETL->数据仓库存储与管理->OLAP->BI工具

ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
BI(BusinessIntelligence)即商业智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确的提供报表并提出决策依据,帮助企业做出明智的业务经营决策
6.什么叫缓慢维度变化?

缓慢变化维:在实际情况下,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。处理方法为:

a)新信息直接覆盖旧信息

b)保存多条记录,并添加字段维度行加以区分(用y,n;0,1,2或用时间来区别新旧信息)

c)保存多条记录,并添加字段维度列加以区分

d)另外建表保存历史记录

e)混合模式

7.什么叫查找表?为什么使用替代键?

替代键可以是数据表内不作为主键的其它任何列,只要该键对该数据表唯一即可。换句话说,在唯一列内不允许出现数据重复的现象
8.如何实现增量抽取?

主要采用时间戳方式,提供数据抽取和处理的性能。

9.构建企业级数据仓库五步法:

一、确定主题

即确定数据分析或前端展现的主题(例如某年某月某日某地区的啤酒销售情况)。主题要体现出某一方面的各分析角度(维度)和统计数值型数据(度量)之间的关系。确定主题时要综合考虑。

二、确定量度

确定主题后,需要考虑分析的技术指标(例:年销售额等等)。它们一般为数据值型数据,其中有些量度值不可以汇总,有些可以汇总起来以便为分析者提供有用的信息。量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性指标的设计和计算。

三、确定事实数据粒度

确定量度之后,需要考虑该量度的汇总情况和不同维度下量度的聚合情况。例如在业务系统中数据最小记录到秒,而在将来分析需求时,时间只要精确到天就可以了。在ETL处理过程中,按天来汇总数据,这些数据仓库中量度的粒度就是“天“。如果不能确认将来的分析需求中是否要精确到秒,那么,我们要遵循“最小粒度原则“,在数据仓库中的事实表中保留每一秒的数据,从而在后续建立多维分析模型的时候,会对数据提前进行汇总,保障产生分析结果的效率。””””

四、确定维度

维度是分析的各个角度。例:我们希望按照时间,或者按照地区,或者按照产品进行分析。那么这里的时间,地区,产品就是相应的维度。基于不同的维度,可以看到各个量度汇总的情况,也可以基于所有的维度进行交叉分析。

建立维度表时要充分使用代理键。代理键是数据值型的ID号码(每张表的第一个字段),它唯一标识了第一维度成员。在聚合时,数值型字段的匹配和比较,join效率高。同时代理键在缓慢变化维中,起到了对新数据与历史数据的标识作用。

五、创建事实表

10.退化维怎么理解?退化维有什么作用?

一般来说事实表中的外键都对应一个维表,维的信息主要存放在维表中。但是退化维仅仅是事实表中的一列,这个维的相关信息都在这一列中,没有维表与之相关联。比如,发票号,序列号等等。

退化维具有普通维的各种操作,比如上卷、切片、切块等。如果存在退化维,那么ETL的过程将会变得容易。它可以让group by等操作变得更快

切面、切块、向上鉆取、向下鉆取等

鉆取

    roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;是指自动生成汇总行的分析方法。通过向导的方式,用户可以定义分析因素的汇总行,例如对于各地区各年度的销售情况,可以生成地区与年度的合计行,也可以生成地区或者年度的合计行。
        drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。例如,用户分析“各地区、城市的销售情况”时,可以对某一个城市的销售额细分为各个年度的销售额,对某一年度的销售额,可以继续细分为各个季度的销售额。通过钻取的功能,使用户对数据能更深入了解,更容易发现问题,做出正确的决策。

11. 增量抽取方法

参照http://blog.csdn.net/yangtongli2012/article/details/51725408

数据抽取包括全量抽取和增量抽取两种方法。其中增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。

a)触发器方式

b)时间戳方式

c)全表删除插入方式

d)全表对比方式

e)日志表方式

0 0
原创粉丝点击