数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。数据仓库技术是为了有效的把操作形数据集成到统一的环境中以提供决策型数据访问,的各种技术和模块的总称。所做的一切都是为了让用户更快更方便查询所需要的信息,提供决策支持。
数据仓库的组成
数据仓库数据库:是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。相对于操纵型数据库来说其突出的特点是对海量数据的支持和快速的检索技术。
数据抽取工具:把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,应能生成COBOL程序、MVS作业控制语言(JCL)、UNIX脚本、和SQL语句等,以访问不同的数据。数据转换都包括,删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋给缺省值;把不同的数据定义方式统一。
元数据:元数据是描述数据仓库内数据的结构和建立方法的数据。可将其按用途的不同分为两类,技术元数据和商业元数据。
技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库是用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。
商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;
元数据为访问数据仓库提供了一个信息目录(information directory),这个目录全面描述了数据仓库中都有什么数据、这些数据怎么得到的、和怎么访问这些数据。是数据仓库运行和维护的中心,数据仓库服务器利用他来存贮和更新数据,用户通过他来了解和访问数据。
访问工具:为用户访问数据仓库提供手段。有数据查询和报表工具;应用开发工具;管理信息系统(EIS)工具;在线分析(OLAP)工具;数据挖掘工具。
数据集市(Data Marts):为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subject area)。在数据仓库的实施过程中往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的就是再实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦。
数据仓库管理:安全和特权管理;跟踪数据的更新;数据质量检查;管理和更新元数据;审计和报告数据仓库的使用和状态;删除数据;复制、分割和分发数据;备份和恢复;存储管理。
信息发布系统:把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于Web的信息发布系统是对付多用户访问的最有效方法。
建立数据仓库
为什么要建立数据仓库:
商业上:利用所有可能的数据快速而正确的做出决策;用户是业务领域的专家,而不是计算机专业人员;企业数据每18个月翻一番,需要有一种有效的访问这些数据的方法;在商业智能和有利用效企业数据方面,竞争的加剧。
技术上:计算机的计算能力越来越便宜(MIPS价格的下跌);存储介质价格的下跌; 网络带宽的增长,网络的传输能力越来越便宜;整个企业的计算机环境越来越复杂,各个时代各个不同厂家的应用系统同时存在; 新的应用要访问其他应用的数据。
实施数据仓库应注意的问题:
商业上(考虑投资回报率)
实施的步骤:从上到下还是从下到上
人力资源的问题:培训还是雇佣
设计上(think big, but start small)
可能要用到很多类型的数据源,历史数据可能很“老”,数据库可能变得非常大。
数据仓库相对于OLTP来说,更加是业务驱动(business-driven)的而不是技术驱动的(IT-driven),需要和最终用户不断的交流,建立的过程可能永远不会结束。
要点:
1) 数据仓库中应该包含细节数据(清理过的)。
2) 用户能看到的任何数据都应该在元数据中有对应的描述。
3) 考虑当数据量迅速增长到一台服务器放不下时,数据仓库中的数据在各个服务器总如何分配,按主题、地理位置、还是时间?这些策略对整个数据仓库的性能影响很大。
4) 当选用数据仓库设计工具时应注意:工具支持的元数据格式是否与数据仓库支持的元数据格式相容?不同工具的元数据格式之间能否自由转换?
5) 最终用户对数据仓库的使用方式对数据仓库的性能影响很大,在设计数据仓库模型时为了提高性能应将用户对数据仓库的使用方式考虑在内。
设计数据仓库的九个步骤:
1) 选择合适的主题(所要解决问题的领域)
2) 明确定义fact表
3) 确定和确认维
4) choosing the facts
5) 计算并存储fact表中的衍生数据段
6) rounding out the dimension tables
7) choosing the duration of the database
8) the need to track slowly changing dimensions
9) 确定查询优先级和查询模式。
技术上
硬件平台:数据仓库的硬盘容量通常要是操作数据库硬盘容量的2-3倍。通常大型机具有更可靠的性能和和稳定性,也容易与历史遗留的系统结合在一起;而PC服务器或UNIX服务器更加灵活,容易操作和提供动态生成查询请求进行查询的能力。选择硬件平台时要考虑的问题:是否提供并行的I/O吞吐?对多CPU的支持能力如何?
数据仓库DBMS:他的存储大数据量的能力、查询的性能、和对并行处理的支持如何。
网络结构:数据仓库的实施在那部分网络段上会产生大量的数据通信,需不需要对网络结构进行改进。
实现上
建立数据仓库的步骤:
1) 收集和分析业务需求
2) 建立数据模型和数据仓库的物理设计
3) 定义数据源
4) 选择数据仓库技术和平台
5) 从操作型数据库中抽取、净化、和转换数据到数据仓库
6) 选择访问和报表工具
7) 选择数据库连接软件
8) 选择数据分析和数据展示软件
9) 更新数据仓库
数据抽取、清理、转换、和移植
1) 数据转换工具要能从各种不同的数据源中读取数据。
2) 支持平面文件、索引文件、和legacy DBMS。
3) 能以不同类型数据源为输入整合数据。
4) 具有规范的数据访问接口
5) 最好具有从数据字典中读取数据的能力
6) 工具生成的代码必须是在开发环境中可维护的
7) 能只抽取满足指定条件的数据,和源数据的指定部分
8) 能在抽取中进行数据类型转换和字符集转换
9) 能在抽取的过程中计算生成衍生字段
10) 能让数据仓库管理系统自动调用以定期进行数据抽取工作,或能将结果生成平面文件
11) 必须对软件供应商的生命力和产品支持能力进行仔细评估
主要数据抽取工具供应商:Prism solutions. Carleton's PASSPORT. Information Builders Inc.'s EDA/SQL. SAS Institute Inc.
元数据
是整个数据仓库环境运行和维护的中心,各种软件和工具都要访问这部分数据。Prim提供了Directory Manager来开发和管理元数据。
用户
偶然用户(Casual User):只需要访问一些预定义的查询、生成报表等。不需要任何工具,只是看一看。
高级用户(Power User):通常需要自己定义一些简单的查询或把预定义好的查询组合一下,通常需要drill-drown。此类用户需要哪些为非计算机人员开发的数据查询工具。
专家(Expert):此类用户通常需要自己定义复杂的查询,直接分析数据仓库中存放的各种数据。
建立数据仓库的好处
数据仓库应用包括:数据定位;数据呈现(报表和图表);检验假设;知识发现;共享分析。
有形的好处
改善产品库存控制;降低常品推广费;更加高效的制订决策;能提供一个关于整个企业的big picture。
无形的好处
通过把所有的数据放在一个地方,方便存取,提高生产效率;减少重复数据处理和分析;提高用户种程度;为商务流程再造成提供支持。
计算机世界开发者俱乐部 http://dev-club.esnai.com