数 据 仓 库 的 目 的 是 构 建 面 向 分 析 的 集 成 化 数 据 环 境 , 为 企 业 提 供 决 策 支 持
( Decision Support )。其实数据仓库本身并不 “生产 ”任何数据,同时自身也不需
要“消费 ”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫 “仓
库”,而不叫 “工厂 ”的原因。因此数据仓库的基本架构主要包含的是数据流入流出的
过程,可以分为三层 —— 源数据 、数据仓库 、数据应用 :
从图中可以看出数据仓库的数据 来源于不同的源数据,并提供多样的数据应
用,数据自上而下流入数据仓库后向上层开放应用,而数据仓库只是中间集成化数
据管理的一个平台。
数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为
是 ETL (抽取 Extra, 转化 Transfer, 装载 Load )的过程, ETL 是数据仓库的流水
线,也可以认为是数据仓库的血液,它维系着数据仓库中数据的新陈代谢,而数据
仓库日常的管理和维护工作的大部分精力就是保持 ETL 的正常和稳定。
下面主要简单介绍下数据仓库架构中的各个模块, 当然这里所介绍的数据仓库
主要是指网站数据仓库。
数据仓库的数据来源
其实之前的一篇文章已经介绍过数据仓库各种源数据的类型 —— 数据仓库的
源数据类型 ,所以这里不再详细介绍。
对于网站数据仓库而言,点击流日志是一块主要的数据来源,它是网站分析的
基础数据;当然网站的数据库数据也并不可少,其记录这网站运营的数据及各种用
户操作的结果,对于分析网站 Outcome 这类数据更加精准;其他是网站内外部可
能产生的文档及其它各类对于公司决策有用的数据。
数据仓库的数据存储
源数据通过 ETL 的日常任务调度导出,并经过转换后以特性的形式 存入数据
仓库。 其实这个过程一直有很大的争议, 就是到底数据仓库需不需要储存细节数据,
一方的观点是数据仓库面向分析,所以只要存储特定需求的多维分析模型;另一方
的观点是数据仓库先要建立和维护细节数据, 再根据需求聚合和处理细节数据生成
特定的分析模型。我比较偏向后面一个观点: 数据仓库并不需要储存所有的原始数
据,但数据仓库需要储存细节数据,并且导入的数据必须经过整理和转换使其面向
主题。 简单地解释下:
数据/仓库/网站/分析/ETL/介绍/细节/过程/观点/储存/
数据/仓库/网站/分析/ETL/介绍/细节/过程/观点/储存/
-->