当前位置:文档之家› 12基于元数据的数据仓库性能优化系统

12基于元数据的数据仓库性能优化系统

12基于元数据的数据仓库性能优化系统
12基于元数据的数据仓库性能优化系统

2004届毕业生

毕业论文

题目:基于元数据的数据仓库性能优化院系:__数学与计算机学院 _____

专业:_ _计算机科学与技术

年级:_____2000(2)_________ ___

学号:______1000228__________ ___

姓名:______陈磊____________ ____

指导教师:_____________________ _____

2004年 6 月10日

摘要

随着数据仓库规模的扩大,数据仓库的性能问题就显得越来越突出,如何提高数据仓库的性能,除了在设计阶段对其逻辑结构和物理结构进行优化设计外;还可以在数据仓库运行阶段,采取一些优化措施来使系统性能最佳。

本系统主要功能是利用oracle9i所提供的技术:分区、实体化视图和查询重写来实现数据仓库的性能优化:用户自己建表、视图并进行查询比较;比较是否采用优化技术和直接查询的时间,体现优化程度。

关键词:数据仓库、分区、实体化视图、查询重写

Abstract

With the enlargement of the scale of data warehouse, the performance question of the data warehouse seems more and more outstanding , how to improve performance of warehouse, except that carry on optimization design to its logic structure and physics structure during the course of designing; Can also take some optimization measures to make systematic function best at the warehouse operation stage of the data .

Main function of this system is to exploit technology offered by oracle9i institute: partition , materialized view and query rewrite to realize optimization of data warehouse:Users build tables , views and compare the request results; Compare the time of adopting the technology of optimizing and the time of inquiring directly, reflect the degree of optimizing.

Keyword: Data warehouse, partition , materialized view ,query rewrite

目录

第一章引言 (4)

§1.1课题背景 (4)

§1.2研究课题的任务、目的、意义 (4)

1.2.1课题的任务 (4)

1.2.2课题的目的 (5)

1.2.3课题的意义 (5)

§1.3系统的主要功能与特色 (5)

1.3.1系统的主要功能大概如下 (5)

1.3.2系统的特色 (5)

第二章系统的需求分析 (6)

§2.1本课题研究现状分析 (6)

2.1.1数据仓库性能优化的发展现状 (6)

2.1.2数据仓库性能优化关键技术 (6)

§2.2要解决的技术难点 (9)

§2.3本系统设计的主要内容、目标 (9)

§2.4系统开发的环境和工具 (10)

第三章系统的详细设计 (10)

§3.1系统的体系结构和功能设计 (10)

3.1.1系统的体系结构 (10)

3.1.2 系统所有的模块功能设计模块图 (11)

§3.2系统各个模块的设计思路 (12)

3.2.1 连接数据库并列表模块 (12)

3.2.2用户建分区表模块 (13)

3.2.3用户建实体化视图模块 (15)

第四章系统实现和测试 (19)

§4.1系统主界面 (19)

§4.2用户登录数据库的界面 (20)

§4.3建分区 (21)

§4.4建实体化视图 (22)

§4.5查询后得到的结果集 (24)

§4.6比较时间的柱状图 (25)

第五章结束语 (26)

致谢 (26)

参考文献 (27)

第一章引言

§1.1课题背景

随着计算机技术的飞速发展和企业界不断提出新的需要,数据仓库技术应运而生。当前的数据处理可以大致地划分为两大类:操作型处理和分析型处理。操作型处理也叫事务处理,是指对数据库联机地日常操作,人们关心地是响应时间、数据的安全性和完整性。分析型处理又叫信息型处理,用于管理人员的决策分析。两者之间的巨大差异使得操作型处理和分析型处理的分离成为必然。数据库系统作为数据管理手段,主要用于事务处理。而数据仓库有助于把数据转变成信息,为用户提供决策支持。但是必须注意的是:即使可以建立一个数据仓库来帮助制定决策,仍然有可能在具有完美数据的情况下作出坏的决策。

随着数据仓库规模的扩大,数据仓库的性能问题就显得越来越突出,如何提高数据仓库的性能进行优化,除了在设计阶段对其逻辑结构和物理结构进行优化设计,使之在满足需求条件的情况下,系统性能达到最佳,系统开销达到最小外;还可以在数据仓库运行阶段,采取一些优化措施来使系统性能最佳。

在Oracle9i中,使用关系数据库存储数据仓库中的数据,数据仓库中包含大量的数据,对数据的提取和更新操作需要花费大量的时间和资源,为了能够管理好这些大表,同时提高访问大表的查询速度和执行效率,就需要用到并行处理和分区。

在数据仓库中,为了提高性能,使用的一项技术是创建汇总,汇总使特定类型的聚集视图,通过在执行和存储数据到表以前,预先计算大的连接和聚集,提高查询性能的视图。在数据仓库中,可以使用实体化视图预先计算聚集数据,并把计算结果存储起来,实体化视图通常是通过查询重写机制进行访问的。查询重写用于基于成本的优化。

§1.2研究课题的任务、目的、意义

1.2.1课题的任务

(1)研究提高数据仓库性能的机制;

(2)实现分区处理;

(3)实现实体化视图,查询重写;

(4)将步骤2和步骤3中未分区、未采用实体化视图、未查询重写进行比较给出实验数据结果。

1.2.2课题的目的

通过完成本课题,熟悉Oracle数据仓库的应用和开发,学会如何用Oracle 所提供的工具和技术对数据仓库进行优化处理。

1.2.3课题的意义

随着企业规模的扩大,企业的数据仓库的数据量往往非常大,包含了大量的历史数据。要在大量的数据中查询,进行决策分析,数据仓库的性能问题就显得越来越突出,也是用户最能感受的。Oralce实现了优化查询的机制,使得我们对数据仓库的大型查询能够得到快速响应。

§1.3系统的主要功能与特色

1.3.1系统的主要功能大概如下

◆用户与oracle数据库的接口,系统验证用户信息,若用户输入的用户名和密码等信息无误,则提示连接数据库成功,否则,捕捉异常,提示失败原因。

◆提供用户建分区表或实体化视图功能:用户提供分区表或实体化视图的相关信息,系统检测信息是否合法,如果合法,则提示创建成功,并将信息存入到oracle 数据库中,否则,捕捉异常,提示失败原因。

◆提供用户对oracle数据库中的表进行查询的功能:用户选择表,并输入查询条件,系统验证此sql语句是否合法,若合法,则执行查询,并将结果显示出来给用户,否则,捕捉异常,提示失败原因。

◆对同一个用户查询,对于是否有分区,是否有实体化视图,是否查询重写进行比较,对用户查询的时间显示出来并保存,在把所得到的时间在图上直观的显示出来。

1.3.2系统的特色

本系统是利用oracle所提供的技术来实现对oracle数据库的查询优化,提供用户自己建分区表和实体化视图,并对它们和原有的表进行查询,比较是否有分区,是否有实体化视图,是否查询重写查询所花的时间,并让时间在图上直观的显示出来,让用户能够更好的了解优化查询的机制。

第二章系统的需求分析

§2.1本课题研究现状分析

2.1.1数据仓库性能优化的发展现状

当前,数据仓库的规模越来越大,一个企业的数据量都是几十G甚至几百G,而且数据还是动态增加的,因此对一个在静态数据库下设计的再完美的系统,也不得不考虑其性能问题了。对一个这么大而且数据又动态增加的数据库进行查询等操作,响应时间也就很长,如何把这时间控制在用户可以接受的范围内就显的很重要了。对数据仓库的性能进行优化,除了在设计阶段对其逻辑结构和物理结构进行优化设计外;还可以在数据仓库运行阶段,采取一些优化措施来使系统性能最佳。

2.1.2数据仓库性能优化关键技术

由于数据仓库的三个性能参数是:吞吐量、负荷量和响应时间:

其中响应时间对最终用户来说是最能感受到的一项性能指标。越低越好。

在任何一个系统中,吞吐量和响应时间作为调整目标通常是相互对立的。如果响应时间长,吞吐量或许高;如果吞吐量低,响应时间或许低。从用户的角度看,在同等的吞吐量的情况下,用户最关心的就是参数响应时间;为了减少响应时间,就很有必要采用一定的技术对数据仓库进行优化。

(1)分区:

对于处理数据按指数级增长的数据管理方法中,数据分区是能够解决问题的方法之一。数据仓库中的数据非常适合进行分区。对数据进行分区主要有以下几个原因:

·分区表中的每个分区存放于自己的表空间中时,可以在逻辑上认为是一个独立的对象。

·每个分区中的行可以独立于其他分区中的内容加以更新或删除。

·分区可以被删除,而不会影响表中其他分区的数据。

·当一个分区中的所数据量太大时,可以把它再分成两个分区,而不会影响其他分区的内容。

·可以在一个表中的一个或多个分区上进行维护操作,而不会影响其他分区,这就是分区的独立性。

分区将表中的行动态的分到小一些的表中,同时Oracle创建一个连接所有分区的视图,这样一来,尽管数据在物理上被分割开,但是在逻辑上仍然以一个整体出现。将一个大型表分成多个小一些的表,可以改进维护操作、备份、恢复、事务处理和查询的性能。当大表被拆分到分区时,系统与Oracle9i数据库交互时聚集数据数量的减少转变成性能上的提高。

Oracle提供了四种分区方法:范围分区,哈希分区,列表分区,混合分区。

对于每一种分区方法而言,都有其自身适合的使用环境。实现起来也差不多。

但由于oracle9i只支持范围分区,因此在本课题中主要实现范围分区。

(2)实体化视图:

在Oracle8之前,实体化视图被成为快照,实体化视图是模式对象,可以用来汇总、预先计算、复制和分发数据。实体化视图通常用于存储汇总和预先计算的结果,它极大地提高了数据仓库的查询速度。

图2-1简单地展示了实现实体化视图地高层结构,共有五个部分,它们分别是:

·主站点:为实体化视图提供数据的若干个表。

·源表:用来存放将要被写入实体化视图的数据。

·源表快照日志:与源表相互作用的事务逻辑地存储在该表地快照日志中。

·Oracle9i工作进程查询:把快照日志的内容传送到远程站点。

·远程站点:对实体化视图进行更新、删除、或插入新行。

图2-1实体化视图结构

实体化视图包括:

·带有聚集的实体化视图

·只包含连接的实体化视图:创建这种类型的实体化视图的一个好处是耗费大量资源的连接可以预先计算。

·嵌套实体化视图

如果实体化视图不是基于用户自定义预建立的表创建的,需要占用数据库中的存储空间。创建实体化视图可以使用两种方法:BUILD IMMEDIATE和BUILD DEFERRED。在定义实体化视图的时候,应当定义两种类型的刷新选项:如何刷新,执行何种类型的刷新。

当使用查询重写的时候,可以创建满足大量查询的实体化视图,提高查询性能。

(3)查询重写:

企业数据仓库的数据量非常大,包含大量的历史数据,使用联机分析工具,数据挖掘工具和其他分析工具,查询数据仓库中的数据,进行决策分析。Oracle的查询重写机制使得对数据仓库的大型查询能够得到快速响应。

在查询重写之前,需要检查几个项目,确定是否是查询重写的替代方式。如果查询没有进行任何检查,查询将应用于详细表而不是实体化视图,这需要花费更多的处理和响应时间。

Oracle优化器使用两种不同的方法认识何时按照一个或者多个实体化视图的方式重写查询:第一种方法是基于将查询中的SQL文本同实体化视图定义的SQL文本匹配;如果第一种方法失败,优化器使用更通用的方法,就是比较查询和实体化视图的联合、选择、数据列、分组列和聚集函数。

影响查询重写是否使用一个或者多个实体化视图的因素包括:

·是否使能查询重写

·重写完整性层

·维和约束

查询重写用于基于成本的优化。上图是基于成本方法的图形化描述。

当满足以下的条件,才能进行查询重写:

·对于会话必须启动查询重写功能。

·对于查询重写必须启动实体化视图。

·在重写完整性层上允许使用实体化视图。

·查询重写请求结果的所有或者部分必须能够从实体化视图中预先计算的结果中取得。

图2-2 查询重写过程

§2.2要解决的技术难点

对于分区,建范围分区时要建几个分区、如何选择范围是一个关键,选择的好,则会大大提高查询效率,可如果分区太大或有的分区数据很多,有的分区没数据或数据很少,不仅提高不了查询效率,反而降低的效率,同时也浪费的很大的空间。在连接数据库时,要列出可供用户操作的数据库中的表,如何除去系统表和视图也是一个难点。

§2.3本系统设计的主要内容、目标

1)实现分区,将大表中的行根据用户所选的属性和范围动态的分到各个分区中。

2)实现实体化视图,查询重写

3)在Oracle9i中创建实体化视图,在查询数据库的表和视图的时候,Oracle服

务器中的查询重写机制将自动使用总结表重写SQL语句,这种机制减少的查询响应时间。查询重写功能优化了输入查询,选择最低成本的查询方法。

4)定义查询条件:为下面对查询效率的比较提供条件。

5)在程序中嵌入一个计时的时间,用来比较是否采用分区、用实体化视图和查询

重写的查询效率的比较

6)作图:将步骤5的比较直观的表示出来。

§2.4系统开发的环境和工具

这次开发这个系统所用的编程语言是:JAVA;

开发工具是:JBuilder9;

操作系统是:Windows2000 Server;

后台数据库是:Oracle9i。

第三章系统的详细设计

§3.1系统的体系结构和功能设计

3.1.1系统的体系结构

图3-1整体模块图

用户登陆到oracle数据库,用户建分区表、实体化视图,用户输入查询条件后系统执行,系统得到用户的查询时间,将所得到的时间在图上直观的显示出来。

图3-2 系统体系结构流程图

3.1.2 系统所有的模块功能设计模块图

◆连接oracle数据库并列表的模块:用户要提供ORACLE数据库的名称,主机名,用户名,密码,系统验证用户信息。模块实现与目标数据库的连接,并将ORACLE数据库中的可供用户操作的表在树中列出来。

◆用户建分区表模块:用户提供创建分区表的相关信息,系统根据用户的信息进行创建,并将信息存入到oracle数据库中,同时在显示数据库中的表的树中添加该表及相关信息。

◆用户建实体化视图模块:用户提供创建实体化视图的相关信息,系统根据用户

的信息进行创建,并将信息存入到oracle数据库中,同时在显示数据库中的表的树中添加该表及相关信息。

◆用户查询并获得表名模块:提供用户对oracle数据库中的表进行查询的功能,用户选择表,并输入查询条件,根据用户输入的查询条件判断用户是对哪个表进行操作,得到用户操作的表的名字,在转移到相应表的按扭,在对起进行查询处理:系统验证此sql语句是否合法,若合法,则执行查询,并将结果显示出来给用户,否则,捕捉异常,提示失败原因。

◆查询并比较结果模块:对用户同一个查询,对于是否有分区,是否有实体化视图,是否查询重写进行比较,对用户查询的时间显示出来并保存,在把所得到的时间在图上直观的显示出来。

§3.2系统各个模块的设计思路

3.2.1 连接数据库并列表模块

由于oracle数据库中的系统表很多,为防止用户对系统表的修改,所以只列出可供用户操作的表,为了把这些表和系统表区分开,我在每个可供用户操作的表名前加上字符串“MY_”;再使用DatabaseMetaData取出数据库中的表,显示的时候去掉前面的字符串,因此此操作对用户是透明的。当用户创建分区表或实体化视图时,也是在用户输入的表名前添加字符串“MY_”,在显示数据库中表的树中只显示用户定义的表名以及此表的所有属性。

只列出oracle数据库中以字符串“MY_”开头的表语句如下:

String[] a = {"TABLE"};

String b = "MY%";

ResultSet rs2 = dbmd.getTables(null, null, b, a);

getTables()方法有四个参数:

第一个:检查有没有目录的表,null表示检索所有表。

第二个:检查有没有模式的表,null表示检索所有表。

第三个:这是与SQL “LIKE”使用的参数相同的表名模式。上面的“MY_”表示检索“MY_”开头的表。

第四个:包括的表类型数组;null返回所有类型。上面的“TABLE”是检查数据库中的表(没有列出索引等等)。

3.2.2用户建分区表模块

本模块是实现让用户在原有表的基础上建分区并将数据倒入。用户先点击主界面的“建分区”按扭,进入了建分区界面。在用户输入表名后选择是对哪个表进行分区,接着就是选择分区个数和分区大小,在选择分区个数旁边,有一个“选择范围”按扭,按此按扭就可以进入选择范围界面,在这个界面中列出用户刚才所选择的表的所有属性,让用户选择是用那个属性进行范围分区,用户选定分区属性后,就可以对此属性进行范围分区,范围由用户自己定义。用户定义完范围后按确定退出“选择范围”界面。为了比较各种大小分区的查询效率,因此分区个数有2,3,6三种,分区大小有10M、15M、50M三种供用户选择。用户选择完毕后按“创建表并倒入数据”按扭,若操作无误,则等一段时间,系统会提示“表创建成功”,在创建成功的同时,将创建分区表的表名、类型、源表名等信息插入到原先在数据库中建好的分区管理表中,若没创建成功,则根据捕捉到的异常输出创建错误的原因。图3-3是其结构流程图;

图3-3 结构流程图

例:若创建10M大小3个分区,则创建分区表的SQL语句如下:

sql = "Create Table system." + biaoming + "(";

for(int h = 0;h

sql = sql + aaaaa[3*h] + " " + aaaaa[3*h+1] + "(" + aaaaa[3*h+2] + "),";

}

sql = sql + "partition by range (" + jComboBox4.getSelectedItem().toString() + ") (partition ";

sql = sql + "A10M31 values less than (" + jTextField6.getText() + ") " + " tablespace A10M31 ";

sql = sql + "storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0),";

sql = sql + " partition A10M32 values less than (" + jTextField7.getText() + ") " + " tablespace A10M32 ";

sql = sql + "storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0),";

sql = sql + " partition A10M33 values less than (maxvalue) tablespace A10M33 "; sql = sql + "storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0))";

其中变量biaoming是用户自己定义的分区表的名字;

数组aaaa是保存用户创建分区的源表的所有属性;

ComboBox4是用户选择的分区数;

jTextField6,jTextField7是用户选择的分区范围;

A10M31,A10M32,A10M33是事先建好的表空间;

上面分区表结构建好后就从用户选择的源表中倒入数据,SQL语句为:

String sql5 = "insert into system.MY_" + jTextField5.getText() +" select * from system.MY_" + jComboBox3.getSelectedItem().toString();

jTextField5是用户建的分区表的表名;

jComboBox3是用户所选择的源表名;

在建好分区表并倒入数据后,就把有关的建分区表的信息保存到事先在ORACLE数据库中建好的分区管理表中,SQL 语句为:

sql2 = "insert into system.fenqu values('"+ biaoming +"','分区106','" + jComboBox3.getSelectedItem().toString() +" ')";

其中表fenqu是事先在数据库中建好的,它包含表名,类型和源表名;表结构如图3-4:

图3-4

3.2.3用户建实体化视图模块

本模块是实现让用户在原有表的基础上建实体化视图。用户先点击主界面的“建视图”按扭,进入了建视图界面。用户先输入所建的视图名,接着选择是对什么表建视图:有两个下拉框,里面列了可供用户建视图的表,用户可以选择一个或两个表进行建视图,若要选择一个,则一个下拉框中不要选择表。选择表后点击“进入创建区”进入视图属性等的选择界面,在这个界面中列出用户刚才所选择的表,表以树状的形式给出,表名是根节点的一个儿子,在表名节点下,该表的所有属性都添加在它的儿子节点下。该界面下方有三个checkbox,让用户选择是创建连接视图、聚集视图还是连接聚集视图:若用户刚开始只选一个表,则只能建聚集视图,用户选择要创建视图的属性,并选择创建的视图的聚集属性;若用户刚开始选择两个表,则可以创建连接视图或连接聚集视图,建连接视图时用户只需选择所建视图的属性,而建连接聚集视图,则用户要选择所建视图的属性和聚集属性。当用户选择好属性后按“确定”按扭退出该界面,接着在按“创建完成”按扭开始创建视图。若操作无误,则等一小段时间,系统会提示“视图创建成功”,在创建成功的同时,将创建实体化视图的视图名、类型、源表名等信息插入到原先在数据库中建好的视图管理表中,若没创建成功,则根据捕捉到的异常输出创建错误的原因。图3-5是其结构流程图;

图3-5 结构流程图

例:若创建连接聚集视图,则SQL语句如下:

String sql3 = "create materialized view system.";

sql3 += "MY_" + jTextField12.getText() + " BUILD IMMEDIATE REFRESH FORCE ON DEMAND AS SELECT";

sql3 += jTextArea7.getText() + " from ";

sql3 += "MY_" +jComboBox5.getSelectedItem().toString() + "," + "MY_"

+jComboBox6.getSelectedItem().toString();

sql3 += "MY_" +jComboBox5.getSelectedItem().toString() + "." + prob + "="

+"MY_" + jComboBox6.getSelectedItem().toString() +"." + prob;

sql3 += " group by ";

sql3 += jTextArea14.getText();

jTextField12是用户输入创建的视图名;

jTextArea7是用户所选择的创建视图的属性;

jComboBox5,jComboBox6是用户建视图的源表;

jTextArea14是用户选择的视图的聚集属性;

在建好实体化视图后,就把有关的建视图的信息保存到事先在ORACLE数据库中建好的视图管理表中,SQL 语句为:

String sql4 = "insert into shitu values('MY_" + jTextField12.getText() + "','" + "congroup " + "','" + biaoming +"')" ;

其中表shitu是事先在数据库中建好的视图管理表,它包含视图名,视图类型和源表名,结构如图3-6:

图3-6

3.2.4用户查询并获得表名模块:

此模块是在主界面上进行操作,左边的树中列出数据库中可供用户操作的表名和它们各自的属性;用户在树中选种你想要查询的属性,按“》”按扭把选择的属性添加到查询的属性列中,在查询条件的textArea中,用户输入查询条件,如customer_id<5之类的。当用户选择输入完查询条件后,按“获得表”按扭去获得用户执行该查询所涉及到的表,并将表名保存到变量tablestr中。接着就是将所获得的表名转移到相应的按扭上去,若是系统提供的表,则可以根据表名tablestr直接到相应的表执行按扭上,若不是系统提供的表,则说明是用户自己创建的,对于用户创建的分区表或实体化视图,则必须通过查询相应的分区管理表(fenqu)或视图管理表(shitu),获得该分区表或实体化视图的类型,在转移到相应的执行按扭上。

查询分区表或视图类型的SQL语句如下:(以视图为例)

String query = "select * from system.shitu";

ResultSet rs6 = stmt.executeQuery(query);

if( rs6.getString(1).equals(tablestr)){

if(rs6.getString(2).equals("con")){jButton28.setEnabled(true); }

else if(rs6.getString(2).equals("group")){ jButton29.setEnabled(true); }

else if(rs6.getString(2).equals("congroup")){ jButton30.setEnabled(true);}

}

rs6.getString(1).equals(tablestr):判断用户查询所得到的表名是否在视图管理表中,若为true,则说明在其中,也就是用户当前查询的是用户自己建的一个视图,接着对其类型进行判断;

rs6.getString(2).equals("con") :判断视图的类型,在根据类型是其相应的执行按扭设为可用。

3.2.5查询并比较结果模块:

此模块就是对用户的查询在其相应的表或视图上进行查询,首先根据用户的查询信息生成查询语句在执行,再使用ResultSetMetaData取出查询结果的各个列的列名、类型等等;若用户输入的查询无误,执行后提示“执行成功”,并将查询结果保存到一个二维数组中,在主界面下方新建一个DefaultTableModel,将所得到的结果在此table中显示给用户。否则,提示“执行失败”。若执行成功,在相应的按扭旁边显示执行用户该查询的时间,此时间的获得方法:在执行用户查询前后各获得系统时间,然后将两个时间相减即得到查询时间。由于所得到的时间一般不稳定,第一次要比后面几次要明显的高,但后面的时间基本趋于稳定,所以为了得到比较正确的对比,对于每个用户的查询要执行几次,让时间趋于稳定。将所得到的时间保存起来,并用各中查询所得到的时间画出图,让用户直观的看出查询优化的程度。用户点击“显示对比图”按扭,就可以查看对比图,查看对比图要在对应的查询执行完后才能看到。

第四章系统实现和测试

§4.1系统主界面

图4-1 系统主界面

图4-1为系统的主界面:其中左上角是列出系统中可用的和用户自己定义的表或实体化视图;按“连接数据库”按扭,用户进入连接到数据库界面,此按扭下面的一些按扭是用户定义查询时候用到的一些关系符,右边有两个textarea,一个是选择用户查询的属性,另一个是用户查询的条件。按“获得表”按扭就可以根据用户的查询获得表,将查询转移到具体的查询执行按扭上。中间的那些按扭都是具体表查询执行按扭,执行各自的按扭后,会在相应的

textArea中显示查询的执行时间,一组查询的下面的按扭是画出根据查询的时间对比的柱状图。最下面的table是显示用户的查询结果。

§4.2用户登录数据库的界面

图4-2 登陆界面

其中system是用户连接的数据库的用户名,

cl2003 是该用户的密码

host 是主机名,也可以填ip,上图中210.34.55.61是我本机的ip,若要连到其他机子上,就必须填相应的ip;

myoracle是用户连接的数据库名

填写连接信息后单击“确定”按扭,系统执行连接并提示连接信息:连接成功或连接失败。

连接成功后的主界面

数据库与数据仓库的区别是什么

数据库与数据仓库的区别是什么 简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。 “与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。 “不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库

仓库管理系统设计(案例)

北京航空航天大学 机械工程及自动化学院 仓库管理系统数据库设计《数据库原理及应用》大作业 班级: 学号: 姓名: 2013-12-27

目录 摘要 (4) 关键字 (4) 引言 (5) 1.需求分析 (6) 2.2 引言 (6) 2.2需求分析阶段的目标与任务 (7) 2.2.1 处理对象 (7) 2.2.2 处理功能及要求 (7) 2.2.3.安全性和完整性要求 (8) 2.3需求分析阶段性成果 (8) 2.3.1 体会与收获 (8) 2.3.2仓库管理系统业务流程图 (9) 2.3.3 仓库管理系统数据流程图 (9) 2.3.4仓库管理系统数据字典 (13) 2.3.5 处理逻辑描述 (15) 3.概念设计阶段 (16) 3.1 引言 (16) 3.2任务与目标 (16) 3.3 阶段结果 (17) 4.逻辑设计阶段 (20) 4.1 逻辑设计的任务与目标 (20) 4.2 数据组织 (20)

4.2.1 将E-R图转换为关系模型 (20) 4.2.2 数据库模式定义 (22) 4.2.3 用户子模式的定义 (25) 4.3 数据处理 (26) 5.物理设计阶段 (27) 5.1 物理设计阶段的目标与任务 (27) 5.2数据存储方面 (27) 5.3 系统功能模块 (27) 5.3.1 货物基本信息的查询与更新模块 (27) 6.数据库实施阶段 (29) 6.1建立数据库、数据表、视图、索引 (29) 6.1.1 建立数据库 (29) 6.1.2 建立数据表 (29) 6.1.3 建立视图 (32) 6.1.4 建立索引 (32) 7.心得体会 (33)

数据仓库-系统设计说明书

归一大数据平台 数据仓库 系统设计说明书受控不受控

修改变更记录:

目录 1引言 (5) 1.1文档编制目的 (5) 1.2背景 (6) 1.3词汇表 (6) 1.4参考资料 (6) 2总体设计 (7) 2.1软件体系结构 (7) 2.2系统运行体系......................................................................... 错误!未定义书签。 2.2.1运行体系图..................................................................... 错误!未定义书签。 2.2.2程序/模块对应表............................................................ 错误!未定义书签。 2.3系统物理结构 (7) 2.4技术路线 (8) 3系统接口设计 (8) 3.1用户接口 (8) 4子系统/模块设计 (8) 4.1数据仓库 (8) 4.1.1ODL(操作数据)层设计 (8) 4.1.2BDL(数据仓库)层设计 (10) 4.1.3IDL(宽表)层设计 (11) 4.1.4PDL(应用)层设计 (12) 4.1.5PUB(维度)层设计 (15) 4.1.6数据导出设计 (16) 5数据结构与数据库设计 (17) 6外部存储结构设计 (17) 7故障处理说明 (17) 8尚需解决的问题 (18)

编写指南: 本模板力图给出系统设计阶段可能包括的基本信息,重点在于和需求分析文档相联系。描述系统整体情况。如果某个章节在项目或当前阶段中无法描述,则可保留其标题,注明“不

商品仓库管理系统(数据库设计)

数据库原理课程设计仓库管理系统

第一章绪论 课题背景介绍 1.1.1课题开发背景 商品库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以商品库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套商品库存管理软件成为很有必要的事情。 1.1.2课题开发意义 大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。 随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品、操作人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分

数据库和数据仓库的区别

简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、

数据仓库与数据挖掘课后习题答案

数据仓库与数据挖掘 第一章课后习题 一:填空题 1)数据库中存储的都是数据,而数据仓库中的数据都是一些历史的、存档的、归纳的、计算的数据。 2)数据仓库中的数据分为四个级别:早起细节级、当前细节级、轻度综合级、高度综合级。3)数据源是数据仓库系统的基础,是整个系统的数据源泉,通常包括业务数据和历史数据。4)元数据是“关于数据的数据”。根据元数据用途的不同将数据仓库的元数据分为技术元数据和业务元数据两类。 5)数据处理通常分为两大类:联机事务处理和联机事务分析 6)Fayyad过程模型主要有数据准备,数据挖掘和结果分析三个主要部分组成。 7)如果从整体上看数据挖掘技术,可以将其分为统计分析类、知识发现类和其他类型的数据挖掘技术三大类。 8)那些与数据的一般行为或模型不一致的数据对象称做孤立点。 9)按照挖掘对象的不同,将Web数据挖掘分为三类:web内容挖掘、web结构挖掘和web 使用挖掘。 10)查询型工具、分析型工具盒挖掘型工具结合在一起构成了数据仓库系统的工具层,它们各自的侧重点不同,因此适用范围和针对的用户也不相同。 二:简答题 1)什么是数据仓库?数据仓库的特点主要有哪些? 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支

持管理决策。 主要特点:面向主题组织的、集成的、稳定的、随时间不断变化的、数据的集合性、支持决策作用 2)简述数据挖掘的技术定义。 从技术角度看,数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际数据中,提取隐含在其中的、人们不知道的、但又是潜在有用的信息和知识的过程。 3)什么是业务元数据? 业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够读懂数据仓库中的数据 4)简述数据挖掘与传统分析方法的区别。 本质区别是:数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先前未知、有效和实用三个特征。 5)简述数据仓库4种体系结构的异同点及其适用性。 a.虚拟的数据仓库体系结构 b.单独的数据仓库体系结构 c.单独的数据集市体系结构 d.分布式数据仓库结构

数据仓库系统的体系结构

体系结构 数据源 是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等; 数据的存储与管理 是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。 OLAP(联机分析处理)服务器 对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP(关系型在线分析处理)、MOLAP (多维在线分析处理)和HOLAP(混合型线上分析处理)。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。 数据仓库系统的体系结构 数据仓库系统通常是对多个异构数据源的有效集成,集成后按照主题进行重组,包含历史数据。存放在数据仓库中的数据通常不再修改,用于做进一步的分析型数据处理。 数据仓库系统的建立和开发是以企事业单位的现有业务系统和大量业务数据的积累为基础的。数据仓库不是一个静态的概念,只有把信息适时的交给需要这些信息的使用者,供他们做出改善业务经营的决策,信息才能发挥作用,信息才有

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(D W)的区别与联系 文章背景: 相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。 本文主要从下面两类关系来叙述上面三者的关系: 1. 数据库(DB)和数据仓库(DW)的区别与联系 2. 操作数据存储(ODS)和数据仓库(DW)的区别与联系 数据库与数据仓库的区别与联系 数据库与数据仓库基础概念: 数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Proces sing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 OLTP和OLAP概念补充: 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction proc essing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作; OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。 举一个具体的例子:(转自知乎作者:陈诚),个人觉得例子描述的很清晰 举个最常见的例子,拿电商行业来说好了。 基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。 第一阶段,电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端+ 几台服务器+ 一个MySQL,就能开门迎客了。这好比手工作坊时期。 第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。初步进入工业化。 第三阶段,一般需要3-5 年左右的时间,随着业务指数级的增长,数据量的会陡增,公司角色也开始多了起来,开始有了CEO、CMO、CIO,大家需要面临的问题越来越复杂,越来越深入。高管们关心的问题,从最初非常粗放的:“昨天的收入是多少”、“上个月的PV、UV 是多少”,逐渐演化到非常精细化和具体的用户的集群分析,特定用户在某种使用场景中,例如“20~30岁女性用户在过去五年的第一季度化妆品类商品的购买行为与公司进行的促销活动方案之间的关系”。 这类非常具体,且能够对公司决策起到关键性作用的问题,基本很难从业务数据库从调取出来。原因在于: 1. 业务数据库中的数据结构是为了完成交易而设计的,不是为了而查询和分析的便利设 计的。 2. 业务数据库大多是读写优化的,即又要读(查看商品信息),也要写(产生订单,完 成支付)。因此对于大量数据的读(查询指标,一般是复杂的只读类型查询)是支持不足的。

仓库管理系统典型数据库

河南城建学院 《典型数据库》课程设计报告 课程名称:《典型数据库》课程设计 设计题目:仓库管理系统 指导教师: 班级: 学号: 学生姓名: 同组人员: 计算机科学与工程学院 2016年1月10日

目录

第1章概述 选题的背景与意义 1、背景: 随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。随着经济全球化、信息网络化和物流现代化进程的全面推进,仓储供需量呈现爆炸式的增长,传统的仓库管理模式和管理系统,已根本满足不了现代社会全面信息化的严峻挑战,如何加强以信息化为指导的现代仓库管理技术已成为物流现代化走向成功的有效途径,如何将互联网技术和仓储物流的信息化技术紧密结合起来,开发出适应当前社会发展需要的、先进的现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础的、又是很关键的、特别值得研究的子课题。ASP技术是面向对象编程的技术,可实现复杂数据库的操作;用ASP开发的Web应用程序安装在网络服务器上,运行在网络服务器上,因而ASP源程序的隐密安全系数性高;而ASP又是基于B/S模型架构的、开放式的Web服务器的应用程序开发技术,因此,采用ASP技术开发运行在服务器端的仓库管理信息系统平台是众多软件设计与开发人士的首要选择。本文比较全面地阐述了与ASP、ADO、B/S模式有关的理论技术,为构建Web仓库管理信息系统提供了必要的理论支持。首先分析了ASP技术的优势、特点及其工作原理,剖析了ASP工作的核心内涵,搭建了ASP技术的工作环境,为开发系统功能提供的必需的技术运行环境;分析了目前Web数据库最佳访问组件ADO技术的对象与数据集之间的关系,直接搭建了Web应用程序与数据库访问的联系梁;根据现代仓储市场的需求特点,对拟开发系统的功能进行了细致地分析与设计,建立了仓储数据管理的E-R模型图、数据库结构,分析了B/S架构模式的三层框架,构建了以该框架为模型的仓库管理信息系统,重点分析介绍了有关功能模块的ASP实现过程,成功地实现了基于ASP运行环境的仓库管理信息系统的开发与设计;并对本系统的各项功能进行了测试与分析,发现系统运行状态良好,人机交互友好,程序设计实现合理,达到了项目设计的目的和要求。最后,对本次的项目设计进行了总结与展望,发现了系统的构架模式关系着程序开发效率,对开发系统有着重要的影响意义,好马配好鞍,优秀的软件必然有优秀的构架。作为软件开发设计人员既要努力学好软件技术又要重视相关模式的学习,这样,就能达到事半功倍的效果,设计开发出

浅谈数据仓库中的元数据管理技术

浅谈数据仓库中的元数据管理技术 孙力君仇道霞方峻峰宋楠 山东省烟草公司信息中心 摘要:数据仓库是数据库的发展方向之一,对企业管理和决策支持起着重要的辅助作用。简要介绍了数据仓库和元数据的基本概念,重点阐述了元数据的概念、作用、CWM标准、来源,并就元数据具体应用进行了初步的研究和探讨。 关键词:数据仓库;元数据; 1. 引言 随着市场竞争的越来越激烈,烟草行业的信息化建设不断的深入发展,全行业形成了“以信息化带动烟草行业现代化建设”的基本共识,明确了“统一标准、统一平台、统一数据库、统一网络”,逐步实现系统集成、资源整合、信息共享的信息化建设总体要求,走过了“由基础性向应用性、由局部性向全局性、由分散性向集中性建设”的三个转变历程,初步形成了“数字烟草”的行业信息化建设格局,既对行业数据中心的建设提出了迫切的要求,也为行业数据中心建设奠定了坚实的基础。 随着数据库技术尤其是数据仓库技术的发展,人类能更容易获得自己需要的数据和信息,由于元数据是数据仓库中非常重要的组成部分,因此讨论和研究元数据在数据仓库中的作用和应用,具有非常重要的意义。 元数据管理是山东烟草数据中心建设的重要组成部分,元数据管理平台为用户提供高质量、准确、易于管理的数据,它贯穿数据中心构建、运行和维护的整

个生命周期。同时,在数据中心构建的整个过程中,数据源分析、ETL过程、数据库结构、数据模型、业务应用主题的组织和前端展示等环节,均需要通过相应的元数据的进行支撑。元数据管理的生命周期包括元数据获取和建立、元数据的存储、元数据浏览、元数据分析、元数据维护等部分。 通过元数据管理,形成整个系统信息数据资的准确视图,通过元数据的统一视图,缩短数据清理周期、提高数据质量以便能系统性地管理数据中心项目中来自各业务系统的海量数据,梳理业务元数据之间的关系,建立信息数据标准完善对这些数据的解释、定义,形成企业范围内一致、统一的数据定义,并可以对这些数据来源、运作情况、变迁等进行跟踪分析。完善数据中心的基础设施,通过精确把握经营数据来精确把握瞬息万变的市场竞争形式,使山东烟草在市场竞争中保持优势。 总的来说,元数据管理平台集成相关的元数据,形成企业的全局数据视图,提供企业级共享元数据的平台,是烟草业务系统的基础设施,对业务系统的发展、应用和数据质量的提升有着深远影响。 2.数据仓库概述 目前有关数据仓库的概念有多种,其中最经典的,引用最为广泛的定义是W.H.Inmon在《Building the Data Warehouse》一书中给出的,他指出:“数据仓库是面向主题的、集成的、随时间变化的、非易失的数据集合,用于支持管理层的决策过程”。[1] 之所以要引入数据仓库,是因为随着信息时代的到来,如何从大量已存在的数据中提取出自己所感兴趣的信息并进行分析和预测越来越成为企业管理者和决策者所关心的问题。为了更好的进行管理和决策,许多企业都选择了数据仓库,利用数据仓库可以对各种源数据进行抽取、清理、加工

数据仓库系统建设方案详细

河北省工商银行 数据仓库系统建设方案 建 议 书

北京世纪明日网络科技有限公司 二零零零年三月 河北省工商银行数据仓库系统建设方案 目录 第一章前言 1.1数据仓库发展史 1.2竞争日趋激烈的金融市场 1.3中国专业银行面临的挑战 1.4中国专业银行实施数据仓库的意义 1.5中国专业银行实施数据仓库已具备的条件 第二章数据仓库总体概述 2.1 数据仓库基础 2.2 数据仓库技术概述 2.3 一个可扩展数据仓库的基本框架

2.4 一个数据仓库实施流程 第三章系统体系结构设计 3.1系统设计指导思想 3.2 方案总体框架图 3.3 系统体系结构设计 3.4 系统方案的组成 第四章银行数据仓库的建设 4.1 面向应用的OLTP系统和面向主题的OLAP系统 4.2 个性化服务的定义 4.3 业务探索/业务发掘 4.4 建立市场客户信息基础 4.5 利用数据仓库实现的基本模块 4.6 更高层次的开发应用 4.7 综合信息发布 第五章方案实施建议 5.1 开发模式 5.2 组织机构 5.3 项目实施进程

5.4 项目进度计划 第六章产品报价 6.1 软件产品报价 6.2 硬件产品报价 6.3 项目开发实施费用 第一章前言 1.1 数据仓库发展史 相对于许多行业而言,信息处理技术还是一门新兴的技术,但是其发展速度却几乎是最快的。随着计算机硬件技术的飞速发展,软件技术也是日新月异。 许多企业和机构已经建立了相对完善的OLTP(联机事物处理)系统。随着时间的推移,这些系统中积累了大量的历史数据,其中蕴含了许多重要的信息。通过对这些历史数据的分析和综合处理,可以找到那些对企业发展至关重要的业务信息,从而帮助有关主管和业务部门作出更加合理的决策。70年代中期出现的MIS(管理信息系统)实际上就是在这种背景下产生的。 但MIS具有极大的局限性。首先,它是按预先定义好的流程对数

数据仓库和数据库

数据仓库和数据库有什么区别? 通常情况下基于业务数据库数据分析人员也能完成数据分析需求,但是为什么要建数据仓库? 没有数据仓库时,我们需要直接从业务数据库中取数据来做分析。 业务数据库主要是为业务操作服务的,虽然可以用于分析,但需要很多额度的调整。 一,业务数据库中存在的问题 基于业务数据库来做分析,主要有以下几个问题: 结构复杂,数据脏乱,难以理解,历史缺失,数据量大时查询缓慢。 结构复杂 业务数据库通常是根据业务操作的需要进行设计的,遵循3NF范式,尽可能减少数据冗余。这就造成表与表之间关系错综复杂。在分析业务状况时,储存业务数据的表,与储存想要分析的角度表,很可能不会直接关联,而是需要通过多层关联来达到,这为分析增加了很大的复杂度。 数据脏乱 因为业务数据库会接受大量用户的输入,如果业务系统没有做好足够的数据校验,就会产生一些错误数据,比如不合法的身份证号,或者不应存在的Null值,空字符串等。 理解困难 业务数据库中存在大量语义不明的操作代码,比如各种状态的代码,地理位置的代码等等,在不同业务中的同一名词可能还有不同的叫法。 这些情况都是为了方便业务操作和开发而出现的,但却给我们分析数据造成了很大负担。各种操作代码必须要查阅文档,如果操作代码较多,还需要了解储存它的表。同义异名的数据更是需要翻阅多份文档。 缺少历史 出于节约空间的考虑,业务数据库通常不会记录状态流变历史,这就使得某些基于流变历史的分析无法进行。比如想要分析从用户申请到最终放款整个过程中,各个环节的速度和转化率,没有流变历史就很难完成。 大规模查询缓慢 当业务数据量较大时,查询就会变得缓慢。 二,数据仓库解决方案 上面的问题,都可以通过一个建设良好的数据仓库来解决。 业务数据库是面向操作的,主要服务于业务产品和开发。 而数据仓库则是面向分析的,主要服务于我们分析人员。评价数据仓库做的好不好,就看我们分析师用得爽不爽。因此,数据仓库从产品设计开始,就一直是站在分析师的立场上考虑的,致力于解决使用业务数据进行分析带来的种种弊端。 数据仓库解决的问题 结构清晰,简单 数据仓库不需要遵循数据库设计范式,因此在数据模型的设计上有很大自由。 数据模型一般采用星型模型,表分为事实表和维度表两类。 其中事实表位于星星的中心,存储能描述业务状况的各种度量数据。

数据仓库中元数据的管理

数据仓库中元数据的管理M etadata M anagem en t i n a Data W arehouse 同济大学计算机科学与工程系(上海200092) 史金红 吴永明 【摘要】 介绍了数据仓库中四种基本类型的元数据,说明了不同类型元数据的收集和维护方法,并着重对分布式元数据的集成和管理进行了详细的阐述。 关键词:数据仓库,数据商场,决策支持,元数据 【Abstract】 T h is p ap er in troduces fou r typ es of m etadata and the m ethods of co llecting and m ain tain ing them.It focu ses on the m etadata m anagem en t and in tegrity. Key words: da ta warehouse,da ta mart, dec ision support,m etada ta 1 引言 随着社会的发展和计算机技术的进步,人们已不满足于用计算机只作简单的数据处理和事务处理。进一步用现有的数据进行分析和推理,从而为决策提供依据的需求导致了决策支持系统(D SS)的出现。90年代以来计算机技术、网络技术和数据库技术的迅速发展为D SS提供了必要的技术环境, OL T P和办公自动化普遍应用积累的大量数据为D SS提供了必要的数据基础,日趋激烈的市场竞争促进了各级管理和决策人员对D SS的实际需求,因此自从1991年W.H.Inm on提出数据仓库的概念和1993年E.F.Codd提出OLA P概念以来,已有许多商品化的数据仓库管理系统和联机分析处理工具软件面市。以上诸因素的共同作用促成许多公司、机构纷纷为提高自己的竞争能力建立数据仓库系统以进行决策支持。 元数据是成功的数据仓库的重要组成部分,它可以帮助数据仓库项目小组明确而全面地理解潜在数据源的物理布局以及所有数据元的业务定义,帮助数据仓库用户有效地使用仓库中的信息,帮助数据库管理员了解某些表的变化将对数据仓库产生怎样的影响以及不同商业过程对应的应用等等。项目小组在开发过程中应当识别元数据并将它收入到元数据商店中,实施适当的过程捕作企业数据结构和应用的变化,从而修改相应的元数据,并向用户提供适当的工具访问元数据。 2 元数据的基本类型 元数据按照其用户可以分为技术元数据和商业元数据。技术元数据提供给数据仓库的技术人员,数据仓库技术人员在仓库的开发和维护中使用这类元数据。商业元数据是商业用户在仓库中寻找他们所需商业信息的一个辅助。但是,技术人员可能也需要访问几种类型的商业元数据,如和商业用户讨论信息需求和建立企业的数据模型。同样,商业用户也需要尝试高水平的技术元数据。 元数据按其内容可以分为四个基本类型: 1)关于数据仓库潜在数据来源的信息,包括现有的业务系统、可得到的外部数据和目前手工维护的信息。例如,一个组织可以从中识别数据来源的潜在仓库数据源有:几个现有的应用程序,由财务部门保存的基于PC机的电子报表,从某一卖主处购买的销售数据,目前由顾客服务部门在纸上保存的顾客联系记录。 2)关于数据模型的信息,包括业务实体、关系、企业规则和企业数据模型。 3)关于业务数据与仓库数据结构间的映射信息。只要那些来源中的一个数据元与仓库建立了映射关系,就应该记录下这些数据元间的逻辑联系以及发生的任何变换或变动。 4)关于数据仓库中信息的使用情况。了解这类信息对更好地调整仓库性能、更多地利用现有查询以及理解仓库中的信息怎样用于解决企业问题是很重要的。 3 元数据的收集和维护 在适当的时间收集适当的元数据是成功实施元数据驱动的数据仓库的基础。为保证较高的准确

数据仓库与数据库的区别

数据仓库与数据库的区别 数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。 数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策 面向主题:而数据仓库中的数据是按照一定的主题域进行组织。 集成:对原有分散的数据库数据经过系统加工,整理得到的消除源数据中的不一致性 相对稳定:一旦某个数据进入数据仓库以后只需要定期的加载、刷新 反映历史变化通过这些信息,对企业的发展历程和未来趋势做出定量分析预测数据仓库建设是一个工程,是一个过程,而不是一种可以购买的产品 企业数据处理方式: 以联机事务处理形式信息,以联机分析处理形式处理信息,并利用信息进行决策;在信息应用过程中管理信息。 OLAP基本概念 从动态的多维角度分析数据,对数据进行钻取,以获得更为精确的信息 数据库设计是信息系统开发和建设中的核心技术。 信息技术基础设施的定义 ? ?可以从技术和服务两个角度来 定义信息技术基础设施 从技术角度来看,信息技术基础设 施---运营整个企业所必需的硬件 设施和软件系统的集合。

?从服务角度定义信息技术基 础设施更为恰当,信息技术基 础设施是整个企业范围内由管 理层所决定的包括人和技术能 力的服务的组合。 信息技术的普及性已经达到相当成熟的阶段 ?信息技术本身对企业来说不 可或缺;尽管能为整个行业带 来彻底的变化,但它已经不能 为单个企业提供战略性的竞争 优势;因为资源的稀缺性。?另一方面,不同企业应用信息技术 的能力差异很大 ?企业在利用信息技术改进业 务流程、创新业务、管理技巧

元数据管理方案

元数据管理方案

元数据管理方案 1.1元数据抽取 为了简化元数据生成工作,系统提供自动生成元数据的功能,即元数据抽取。经过元数据自动抽取,用户能够方便、快捷地获得大量的元数据信息。 1.1.1抽取的对象 元数据抽取主要针正确对象有以下几种: 已有目录:已建业务应用系统中现有的目录资源。 数据库:各种数据库资源,包括关系型数据库、XML数据库等。 格式化电子文件:电子文件,例如Word、PDF、XLS等文件。 1.1.2元数据抽取的流程 元数据抽取的流程有4个主要步骤,分别为: 数据源信息获取:解决要从哪个数据源获得元数据的问题。 内容/结构分析:解决要从数据源中获得哪些元数据的问题。 元数据提取:解决如何从数据源中获取元数据的问题。 存储入库:解决元数据存储的问题。

1.1.3电子文档的元数据抽取 对于电子文档,首先各部门的文档格式不尽相同,另外它们的安全级别也各不相同,同时由于信息化建设水平的不一致,有的部门文档分散在各处,有的部门文档是集中存放的,甚至已经建立了完善的电子系统进行管理。 针对以上状况,对于电子文档的元数据抽取需要进行以下的抽取流程: ●整理归档 对于分散在各处的电子文档(纸质文档需要先进行电子化处理),必须由专人进行统一整理,根据公开共享的前提进行集中,这种集中能够是物理上集中的,也能够是逻辑上集中的。但要满足以下原则,第一根据安全级别,便于外界访问;第二便于文档的增量发布;第三便于采集工具的自动化采集编目。各部门只有在文档完全整理归档的情况下,进行自动化采集才是切实可行的。在整理归档的时候,各部门根据各自情况进行归档,没有必要千篇一律,也没有必要制定繁琐和呆板的规则,只要能够满足以上的原则即可。 ●根据安全级别,建立相应的访问机制 由于受到安全级别的限制,因此对于需要共享的数据要进行安全方面的限制,限制的手段能够有:用户名/密码、数字证书、物理隔断等等,根据实际情况建立安全访问机制,做到重要信息不泄露,不丢失。 ●编目处理

数据仓库元数据管理

1.1.1 第一章元数据概论 企业的计算机系统每年会产生很多数据,很多企业面临着这样的困境,难以有效的管理大量的、繁杂的、不一致的数据,并方便地访问、利用这些数据进行辅助决策。 建立数据仓库提供一个方法,把数据转化为有用的、可信赖的信息,支持商业决策。建立数据仓库一个重要的工作是元数据管理。元数据(Metadata)就是数据的数据,用于建立、管理、维护和使用数据仓库。。元数据管理是企业级数据仓库中的关键组件,贯穿于建立数据仓库的整个过程。 元数据使得用户可以掌握数据的历史情况,如数据从哪里来?流通时间有多长?更新频率是多大?数据元素的含义是什么?对它已经进行了哪些计算、转换和筛选等等。在需求不确定情况下,在瞬间万变的商业环境下,元数据可以更好的支持需求的变化,降低项目风险。 通常把元数据分为技术元数据(Technical Metadata)和业务元数据(Business Metadata)。技术元数据是描述关于数据仓库技术细节的数据,这些元数据应用于开发、管理和维护数据仓库;业务元数据从商业和业务的角度描述数据仓库的数据,提供了良好的语义层定义,业务元数据使业务人员能够更好的理解数据仓库分析出来的数据。 元数据贯彻于建立数据仓库的整个过程,不只是ETL过程需要元数据的支持。 图1 元数据的应用 在使用元数据的同时,随着数据仓库市场的发展,业界出现许多数据仓库管理和分析的工具,各种工具使用不同的元数据标准来表示和处理,不同系统之间的迁移、数据交换变得困难。于是,我们希望用一种单一的元数据标准,使得各种组织的元数据具有单一的元模型(MetaModel),因此,需要建立一种标准使得不同的数据仓库和商业智能系统之间可以相互交换元数据。 1.1.2 第二章元数据标准 1.1. 2.1 一、元数据标准CWM OMG于2001年颁布元数据标准CWM 1.0(Common Warehouse Metamodel Version 1.0)。CWM定义一个描述数据源、数据目的、转换、分析的元数据框架,以及定义建立和管理数据仓库的过程和操作,提供使用信息的继承。 目前宣布支持CWM的厂商包括:IBM、Oracle、Hyperion、Dimension EDI、Genesis IONA、HP、NCR和Unisys等。 CWM基于3个工业标准: UML - Unified Modeling Language,OMG建模标准; MOF - Meta Object Facility,OMG建立元模型和模型库的标准,提供在异构环境下的数据交换的接口; XMI - XML Metadata Interchange,OMG元数据交换标准。 UML在CWM中得到充分的应用,担任3个不同的角色: 1),UML用来做为与MOF对应的meta-metamodel。UML相当于MOF Model,,UML Notation和OCL(Object Constraint Language),被用来做为建模语言、图形符号、约束语言,

仓库管理系统(数据库)

电子与信息工程学院 课程设计报告 (2018-2019学年第二学期) 课程:面向对象程序设计 软件工程实践(数据库设计与开发)题目:企业仓库管理系统 专业班级: 组别: 小组成员: 指导教师: 完成周数: 2019年7月10日

第一章引言 1.1系统开发的背景 随着计算机的发展,生活中仅仅依靠人工管理商场里面大量的的商品会浪费大部分的人力物力,还会造成较高的人工失误,所以有必要开发一个商场库存管理系统来很大程度上减少失误和不必要的浪费。实现信息数字化管理,提高管理效率,降低经营成本。利用商场库存管理系统可以提高商场的运营,提高总体效率 1.2系统开发的意义与目的 仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着计算机技术的发展,如何快速,高效,便捷的管理仓库受到了高度的关注。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库査询统计、出库操作、出库查询统计、库存查询统计等处理情況。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。 1.3开发工具简介 1.3.1数据库系统SQL Servers012: 作为新一代的数据平台产品,SQL Server 2012 不仅延续现有数据平台的强大能力,全面支持云技术与平台,并且能够快速构建相应的解决方案实现私有云

数据仓库二期之数据仓库系统项目

数据仓库二期之数据仓库系统项目 供应商征集要求 一、项目名称 数据仓库二期之数据仓库系统项目 二、项目背景 数据管控与数据仓库项目(以下简称“数据仓库项目”)一期工程于2013年12月正式进场实施,项目范围包括数据仓库平台、数据管控体系、数据应用系统三个子包内容,各子包系统已全部于2014年底前上线试运行,项目一期已于2015年4月底完成初验。 我行数据仓库项目一期工程包括数据仓库平台系统、数据管控体系、数据应用系统三个项目子包的内容,分别由高伟达、美商天睿(以下简称TD公司)以及宇信三家公司负责实施,具体实施情况如下: 1、项目子包一主要涉及数据仓库平台建设,项目组完成数据仓库平台中长期建设规划,引入先进的数据模型,建立数据仓库十大主题数据框架,基本实现上游21个主要业务系统关键业务数据入仓存储,并为下游管理驾驶舱、统一报表平台系统正式供数。 2、项目子包二主要涉及数据管控体系建设,项目组从规划咨询、制度规范、内容建设、系统平台四个方面推进并完成数据管控体系建设各项基础工作,已初步建立我行数据管控体系基础框架,为后续全行数据有效治理打下坚实基础。 3、项目子包三主要涉及管理驾驶舱、统一报表平台两个数据应用系统。管理驾驶舱系统创新了信息服务渠道,为我行中高层管理人员提供决策辅助信息;统一报表平台系统通过传统报表与灵活查询相结合的方式,为我行业务管理和统计分析人员提供超过200张报表及14项专题的的报表数据查询服务。 三、项目要求 我行数据仓库项目一期通过搭建基础平台、构建系统框架,已初步建立基础

框架。为确保数据仓库项目开发的延续性,充分发挥数据价值,切实提高数据质量,我行启动数据仓库项目二期工程建设,本次招标的数据仓库系统子包是二期工程的重要内容,通过本子包内容的实施,一方面拓展数据的使用范围,展现数据的应用价值;另一方面加大数据的整合,提升数据的质量,有效解决数据问题,为后续数据分析挖掘打好基础。同时,通过数据仓库建设,积累经验,为我行打造一支专业的数据管理、挖掘、分析团队。 数据仓库项目二期工程(数据仓库系统子包)主要包括对外供数、数据入仓以及数据挖掘三大部分内容。 (1)对外供数是项目二期的工作重点,主要包括对已纳入今年开发计划的部分新建系统(运营风险预警系统、EAST系统2.0等)提供数据支持,以及对当前存量的下游数据分析系统(反洗钱系统、监管报送系统、管理会计系统等)实施数据接口切换,将此部分系统的数据源由现有的多个系统逐步改为由数仓系统统一供数。 (2)数据入仓是对现有数据仓库数据的持续完善与补充,主要包括根据下游数据应用需求,对上游业务系统未入仓的新产品、新业务数据实施采集并入仓存储,并结合我行历史数据入仓要求,对部分关键业务系统2014及2013年的历史数据按数据仓库抽取、转换、载入要求实施入仓处理。 (3)数据挖掘服务是项目二期引入的新内容,项目组将作为全行数据挖掘与分析应用的连接处,借鉴并引入同业银行的创新数据思维,引导并统筹全行数据挖掘需求,与相关业务部门一起探讨大数据分析应用与业务模型设计,以微创新的方式推动各项业务创新与服务提升,深层次的挖掘数据价值。

相关主题
文本预览
相关文档 最新文档