﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava--随笔分类-BI</title><link>http://www.blogjava.net/leekiang/category/45000.html</link><description>MDA/MDD/TDD/DDD/DDDDDDD</description><language>zh-cn</language><lastBuildDate>Fri, 28 May 2010 10:29:50 GMT</lastBuildDate><pubDate>Fri, 28 May 2010 10:29:50 GMT</pubDate><ttl>60</ttl><item><title>数据仓库笔记</title><link>http://www.blogjava.net/leekiang/archive/2010/05/14/320994.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 14 May 2010 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/05/14/320994.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/320994.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/05/14/320994.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/320994.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/320994.html</trackback:ping><description><![CDATA[数据仓库的出现，并不是要取代数据库。目前，大部分数据仓库还是用关系数据库管理系统来管理的。可以说，数据库、数据仓库相辅相成、各有千秋。<br />数据库是面向事务的设计，数据仓库是面向主题设计的。<br />数据库一般存储在线交易数据，数据仓库存储的一般是历史数据。<br />数据库设计是尽量避免冗余，一般采用符合范式的规则来设计，数据仓库在设计是有意引入冗余，采用反范式的方式来设计。 数据库是为捕获数据而设计，数据仓库是为分析数据而设计，它的两个基本的元素是维表和事实表。<br /><br />简单的说：   <br />    1、事实就是你要关注的内容；   <br />    2、维度是描述事物特征的一个角度。例如门店销售情况需要分析商品销售的时间、地点、商品名等。这里的时间、地点、商品名就是门店销售情况的分析维度。<br />例如，某地区商品的销量，是从地区这个角度观察商品销量的。事实表就是销量表，维表就是地区表。<br /><br />1、数据仓库是面向主题的，主题就是所要解决问题的领域<br />2、数据仓库是集成的，数据仓库的数据有来自于分散的操作型数据，将所需数据从原来的数据中抽取出来，进行加工与集成，统一与综合之后才能进入数据仓库；<br />3、相对稳定，数据仓库的数据主要供企业决策分析之用，所涉及的数据操作主要是数据查询，一旦某个数据进入数据仓库以后，一般情况下将被长期保留，也就是数据仓库中一般有大量的查询操作，但修改和删除操作很少，通常只需要定期的加载、刷新。<br />4、反映历史变化<br /><br />数据仓库数据库<br />是整个数据仓库环境的核心，是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。<br />数据仓库数据库的结构与一般的表结构不一样<br />元数据<br />　　　元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类，技术元数据和商业元数据。 <br /><br /><br />数据仓库的解决方法包括：将决策支持型数据处理从事务型数据处理中分离出来。数据按照一定的周期（通常在每晚或者每周末），从事务型数据库中导入决策支持型数据库——既“数据仓库”。数据仓库是按回答企业某方面的问题来分“主题”组织数据的，这是最有效的数据组织方式。<br /><br />信息化的实施，是没有终点的，它是一个持续优化的过程，BI的实施，尤其如此。随着业务系统的深入应用，流程会发生变化；随着管理的侧重点不同，领导关注的数据也会不同。这都需要重新修改数据仓库与分析模型<br />关键词一：时间维度<br />时间维度虽是数据仓库中的最核心的维度之一，但表面上来看，仅是日期而已，是非常简单的。很容易忽略一个很常见的问题：对于企业来说，通常会有两种时间：一种是自然日历时间，另一种则是财务使用的会计时间。有很多企业，因为上市的原因，采取某个4月1日至第二年3月31日来定义财年，或因为历史的习惯，每个月从26号到次月的25日为会计期间。在操作中，业务部门肯定是按自然时间来录入与查询信息，而财务部门则按照会计时间来进行记账与出报表，在这种情况下，就需要建立一种规则，来识别自然时间与会计时间的对应关系。<br />关键词三：增量更新<br />数据仓库的创建不是一次完成的，它必然要根据业务系统数据的更新而更新。如何实现增量更新？这是建立数据仓库时最大的技术难点。增量更新意味着它必须识别哪些数据发生过变化？如增加/修改了哪些客户资料？增加/修改了哪些订单？ <br /><br /><br />数据仓库中的三种事实表<br />Transaction fact table(事务事实表),比如交易记录，<br />Periodic snapshot fact table(周期快照事实表)，我觉得月累，年累就是属于这种类型<br />Accumulating snapshot fact table(累积快照事实表)累积快照事实表和周期快照事实表有些相似之处，它们存储的都是事务数据的快照信息。但是它们之间也有着很大的不同，周期快照事实表记录的确定的周期的数据，而累积快照事实表记录的不确定的周期的数据.对这个似懂非懂。<br /><br />由于事实是一种度量，所以事实表中的这种指标往往需要具有数值化和可加性的特征。但是在事实表中，只有那些具有完全可加性的事实才能根据所有的维度进行累加而具有意义。而事实表有一些事实表示的是某种强度，这类事实就不具有完全加法性，而是一种半加法性。例如，账目余款反映的是某个时间点的数据，它可以按照地点和商品等大多数维度进行累加，但是对于时间维度则例外，将一年中每个月的账目余款进行累加是毫无意义的，而决策者则可能需要了解所有地区和所有商品账目余款的累加值。在事实表中还有一些事实是非加法性的，即这些事实具有对事实的描述特性，在这种情况下一般要将这些非加法性事实转移到维度表中。<br /><br />数据仓库与数据集市<br />数据仓库是企业级的，能为整个企业各个部门的运行提供决策支持手段；而数据集市则是一种微型的数据仓库,它通常有更少的数据,更少的主题区域,以及更少的历史数据,一般只能为某个局部范围内的管理人员服务，因此也称之为部门级(工作组级)数据仓库。<br />数据仓库中数据结构采用规范化结构(第三范式)，数据集市中的数据结构采用星型模式或雪片模式，通常仓库中数据粒度比集市的粒度要细<br />http://www.chinabi.net/blog/user1/105/archives/2006/388.html<br />http://blog.csdn.net/dreamwdt/archive/2008/03/19 /2197084.aspx<br /><br />参考:<br />http://www.blogjava.net/sterning/archive/2007/12/14/167739.html<br />http://book.51cto.com/art/200710/58849.htm等<br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/320994.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-05-14 17:34 <a href="http://www.blogjava.net/leekiang/archive/2010/05/14/320994.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>