大。
C/S 数据库系统是近几年计算机界的主要趋势之一,至今方兴未艾。C/S 结构汹涌澎湃的原因分析起来有几个方面。首先是微机以及工作站自 80 年代 初面世以来的飞快发展速度。其处理速度、存储量及各种功能都已远超过当 年的大型机(如 IBM 370 168),在其上已可配置众多的系统软件和工具。 此外,在数据库管理系统方面有人们熟悉的 XBASE 系列、FOXPRO、ACCESS 等, 操作系统则装备有无人不知的 DOS、Windows 3.1 等。严格看来,以上在微机 上流行的系统不“像”典型的操作系统和数据库管理系统。这些系统缺乏许
多 OS 和 DBMS 的典型特征,有些更像是文件系统。但是应用和市场却毫不顾 虑这些“不像”,普及全球数达几千万份之多。可是事实也证明了“真正的” 操作系统和数据库管理系统所实现的体系结构、可靠性、安全性、理论基础 的严谨性等等并非无的放矢,困扰微机环境的病毒,不可靠性、不安全性等 已对软便件环境提出了强烈的改进需求。但是微机究竟规模有限,要做好所 有事情似不可能也无必要,C/S 结构是一条可取的途径。还有,现在的局域 网(LAN)和广域网(WAN)的广泛普及已成大势所趋。网络所联的微机群的 性能和功能有了极大的提高,大可与大型机相媲美,但其价格却仅为几十甚 至上百分之一,这是一项无可匹敌的优势。许多公司和组织都在考虑规模向 下适化(Downsizing)以降低成本,提高效率。在这种微机联网的结构中 C/S 是一种十分优秀的体系。
有了以上的解释之后,C/S 结构的一个决定性原因就清楚了。在今天全
球应用计算机已达半个世纪,所积累的信息数据财富有上万亿美元之巨,且 其中一些数据的价格难以用金钱衡量,在各公司、组织的软硬件环境的升级 换代中,保护投资和压缩规模和复杂程序是最经济合算的。如何保证在这种 转移中使数据财富安全可靠地、平滑地过渡到新环境,显然是各主管考虑的 第一要务(Lagacy Application)。不容置疑,C/S 结构是最优候选结构, 从集中式的 DBS 往下过渡或向上升级,C/S 结构显然较分布式 DBS 更为自然。 如此巨大的需求,它对于 C/S DBS 的推动力之惊人就不足为奇了。但是,C/S 结构并非什么从天而降的技术,它的产生有其背景,它与人们经历的过时的 技术有平滑的密切的联系。
4.数据库的并行处理技术
并行处理是提高数据库系统对事务快速响应能力的一个十分有效的方 法。也是当前数据库系统普遍采用技术手段。并且也是大张旗鼓地进行商业 宣传的素材。
从硬件角度,并行处理是设置若干个能同时工作的部件和设备,如中央 处理部件与外部设备并行,多个外部设备并行,以及多个处理机并行等等。 从软件角度,并行处理是设置若干个可以同时运行的单位。通过这些单 位的运行,可以完成相同或不同的预定功能。已经十分通用的进程(Process) 以及最近几年流行起来的线程(thread)就是这种运行单位的典型代表。这 些运行单位可以在单处理机上交替运行,也可以在多处理机组成的系统中同
时在多个处理机上运行。 并行处理技术已经渗透到计算机技术的各个领域。在数据库系统中,多
线程(Multithread)并行技术和虚拟服务器结构可以大大提高系统的性能。
(1)多线程并行技术
1)多线程的基本概念。对于线程,目前尚无统一的定义。它是从并行处 理的进程概念发展变化而来的,所以有时也称其为轻型进程(Lightweight Process)。
为了减少系统开销,提高系统效率,人们把传统的进程进一步细分为多 个可并行执行的单位,称为线程。
在这种既有进程又有线程的系统中,进程是对计算机资源进行分配的基 本单位,它具有一个地址空间,一组寄存器,一个程序计数器和一个堆栈。 而线程则是系统运行的基本单位。同一进程中的多个线程共享该进程的地址 空间,但各线程保持自己的一组寄存器、程序计数器和堆栈,其中含有处理 器运行的状态,线程睡眠的原因以及换入、换出信号等。UNIX 的进程相当于 这里的单线程进程。
多线程控制机制十分适合并行计算模型。如果有多个 CPU,则多线程可 真正并行工作。例如:一个文件服务进程中有多个线程,每个线程最初都在 等待用户请求。当有一个请求时,其中某一个线程还可以共享数据区,并用 信号灯机制来控制同步。多线程的发展思路与并行处理的多进程思路是一致 的。
上述文件服务器如果设置成单一进程(无线程划分),则会出现一个请 求被处理而进程等待 I/O 时,别的请求无法被接收。当然,也可以设置成多 个进程,但这时空间需求大大增加,由于进程空间的多次切换而大大降低系 统的效率和加大系统的响应时间,而且由于没有共享数据区而无法用信号灯 机制进行同步。
线程之间的通讯是通过消息(message)和端口(port)来实现的。消息
通过端口传送给另一个线程。消息头含有消息种类及目的端口等消息。消息 的传递可以是同步的也可以是异步的。
多线程并行的设计有一些特定的要求,如代码可重入、工作区浮动等。
2)数据库中的多线程。在数据库系统中,对于每个用户一个进程的结构, 为处理增加的用户事务所包含的开销会呈指数增长。影响开销增加的因素主 要有:进程数的增加,存储空间的增加,以及锁数量的增加。在这种系统中, 增加一个用户需要增加大约 1MB 的存储开销,由此带来的页式开销、进程转 换开销以及 OS 系统级的开销,这些都直接影响系统的性能(主要指吞吐量和 响应时间)。
在多线程结构的系统中,服务器作为一个单一进程运行,并且调度、任
务转换、盘缓冲、锁及事务处理均由服务器管理而不要花费任何 OS 开销,每 增加一个用户只需增加一个线程,存储开销只要增加 34KB,是上述每用户一 进程结构的 1/30。于是,可以有更多的存储空间用于磁盘缓冲(caching) 和过程缓冲(caching),从而减少 I/O 开销;由于所用存储器空间减少,自 然使页式开销减少;线程的转换只是简单的运行状态的改变,而不会引起进 程空间的切换,再加上原来的 OS 管理的一些功能可由服务器来实现,从而减 少了系统方面的开销。
综合这些因素,使得单进程多线程结构中事务处理的响应时间和系统的 吞吐能力比在每用户一进程结构中有十分明显的改进,特别是在用户数大量 增加时这种优点更为突出。这也正是为什么在多线程结构用户数增至成百上 千而系统性能(主要指事务响应时间)仍然很少下降的原因所在。
(2)虚拟服务器结构(VSA)。虚拟服务器结构是一种适用于对称多处
理机(SMP)配置的数据库结构。它的基本思想是,在每个指定的 CPU 上设一 个引擎(engine)作为一个服务器。这些服务器在功能上是完全相同的。通 过它们的密切协同工作,成为一个逻辑服务器,处理外部的事务要求。
每个引擎有一个相应的进程,而这个进程具有多线程结构,于是在这种 结构中便形成了一种多进程多线程结构。每一个外部事件要求,由某个运行 于固定 CPU 上的引擎所对应的进程中的一个线程来处理。由于 CPU 的对称性 和每个引擎功能的一致性,事务由哪个线程处理其结果是完全一样的。这样 一来,便使多 CPU 的并行处理能力得到充分发挥,使系统的吞吐量大大增加 而响应时间相对缩短。
2.多媒体数据库
多媒体数据库是数据库技术的新兴领域。它研究的对象已从传统的单一 的字符类型的信息媒体发展为包括图形、图象、声音和字符的多种类型的信 息媒体。由于研究对象的多样化,因而多媒体数据库技术提出了很多比传统 数据库技术更为复杂和更为新颖的研究课题。
多媒体数据库技术的出现和形成,一方面是由于有实际的应用需求,而 另一方面也基于现代计算技术发展的新成果。
由于现实世界的复杂性,因而其表现的形式也就会是多样的,作为信息
传播的形式,除了通常传播媒体文字和符号外,当然也时常见到上述的以图 形、图象和声音等媒体的表现形式,以及它们的相互组合。传统的数据库技 术在文字和符合的输入、存储、处理、检索和输出等方面已有较成熟的技术, 还有相应的理论成果。当初,它的应用主要在事务处理和商业领域。随着计 算机应用领域的扩展和技术的发展,人们已不满足于单一的信息表现形式, 或单一的信息表现形式已不能满足实际应用的需要,而提出了对多种信息媒 体的利用和管理的需要。随着现代计算技术的发展,存储技术,如光存储技 术方面,出现了大容量的光盘;输入/输出手段的更新,如摄象技术、数字化 仪、扫描仪、高分辨率的图形、图象监视器的应用;彩色图形、图象转换设 备的完善以及计算机本身处理能力的提高和数据模型理论的发展和完善都为 多媒体数据库的实现提供了可能性。
多媒体(Multimedia,或译为多媒介/多媒质)的术语在 1983 年正式使
用,1984 年在新加坡召开的超大型数据库(VLDB)第 10 届国际会议上就对 多媒体数据库进行了讨论。
1.多媒体数据模型
一般认为,数据模型化是数据库技术的基础和核心。如果广义地理解, 数据模型化包括了概念模型、逻辑模型和物理模型的建立。其中概念模型是 数据库设计者对现实世界的抽象,逻辑模型是对概念模型的逻辑表示,而物 理模型是对逻辑模型的机器表示。要把复杂的现实世界正确地描述出来,并 将其数据及关系在数据库中进行存储和管理,关键地一步是要把现实世界抽 象为概念模型。多媒体数据库所依托的是多媒体数据模型,首先是需要把各 种媒体所建立的概念模型结合为一有机的统一整体,使概念模型一体化,以 形成一个“多媒体概念模型”,再以某种符号系统加以表示,而后形成多媒 体数据模型的基础。
多媒体数据模型应具有以下特性:
(1)能支持媒体的独立性。这是因为多媒体数据库的目标应能实现诸如 媒体的混合、媒体的扩充、媒体的互换。即应能使用户最大限度地可忽略各 种媒体间的差别,而实现对复杂数据对象的管理和使用。
(2)要支持数据模型的三个基本要素:数据的结构性质,能描述实体及 实体间的联系;具有与数据库相关的语义完整性限制;体现数据的操作特性, 亦即要通过对各种媒体的符号化、抽象化,使得用户可以对各种媒体数据进 行统一的处理和一致性管理。对不同的内部表示的数据用同样的数据库语言 进行操作,并提供能用于多媒体数据库的语言接口。
实现多媒体数据模型的方式是多样的,当前所涉及的方法有:
(1)基于关系数据模型的方法,即在关系数据模型中引入抽象数据类 型,并对数据类型定义所必要的数据表示形式及其操作定义加以扩充。
(2)基于语义数据模型的方法,语义数据模型能提供更自然地处理现实 世界的数据及其联系的能力,并在实体类型的表示及其联系上具有特点。当 然还有其他的方法,如基于面向对象的建模方法等。当然,对于多媒体数据 模型的研究还很不充分,目前仍然缺乏完整的、具有普遍意义的理论。
2.多媒体数据库管理系统
数据库管理系统是为实现数据库的建立、操作和控制的软件系统。对于 多媒体数据库管理系统与传统的数据库系统一样,要提供对数据的管理、查 询和事务处理等功能。除此之外,对于多媒体数据库管理系统必须要求它有 独立于媒体的变化;由于其具有面向对象的特征,而往往需要根据不同的对 象而提供不同的用户接口和存储结构。
多媒体数据库管理系统的体系结构可以划分为三种类型:
(1)单一型的数据库管理系统体系结构。它是由一个单独的数据库来管 理各种不同媒体的数据库以及由不同媒体数据组合的对象数据库。
(2)主从型数据库管理系统体系结构。不同媒体的数据库由几个从属数
据库管理系统自己管理,而这些从属数据库管理系统则由一个主数据库管理 系统统一管理。用户面向主数据库管理系统,并管理由不同媒体数据组合的 对象数据库。
(3)协作型数据库管理系统体系结构。各个媒体数据库由各个分散的成
员数据库系统进行管理,各成员数据库管理系统提供通信、查询和处理的接 口,用户可以通过任一成员数据库管理系统面向整个多媒体数据库,用户组 合媒体数据的对象数据库也分散管理,并允许重复管理。
传统的数据库结构与多媒体数据库结构的差别在于从以记录为中心的存 取变成了以对象为中心的存取。一般是若干个记录的组合才能表示一个可存 取的对象,因此多媒体数据库的存储结构应该是一种能高速存取的存储结 构。
3.多媒体数据库的用户接口
数据库系统的用户界面/接口的友好性在很大程度上影响着系统的成 败。多媒体数据库系统是一类检索对象复杂、用途多样、用户面广的数据库 系统,因而对用户界面的友好性的要求更为迫切,这就给系统的研制和开发 工作带来更高和更多的要求。多媒体数据库的用户界面除了应保持传统的数
据库所提供的功能外,无疑应该有能处理图形、图象等视觉化的界面。
(1)当前高功能工作站的出现,给多媒体数据库用户介面的改善带来了 较大的影响。这些工作站具有高分辨率的按位显示、鼠标定位、窗口及图标 等功能,利用这些功能可提高和完善窗口管理的质量和能力,从而支持多媒 体查询的应用和介面的友好性。
(2)使用图形、图象、等媒体的视象接口。提供视象界面的系统可以划 分为三类:查询视觉化;查询结果或数据库表示以及存取视觉化;兼有上述 两方面的功能和内容。
(3)多媒体数据库的自然语言界面。利用自然语言做为多媒体数据库的 用户界面很适应多媒体数据库系统的数据对象多样、表示抽象化的特点,因 为自然语言接口的本身具有变化度大,抽象性强,可以表示不确定性要求等 优点。当然,实现自然语言接口有很大的难度。
(4)具有一定智能的接口。适用于:①用户对系统了解甚少;②只能表 达部分意图的初级用户。可以为多媒体数据库的应用提供方便。
4.多媒体数据库的硬件环境
多媒体数据库是在数字、符号的基础上,加上图形、图象、声音和它们 的组合等种种不同类型媒体的数据,并对它进行统一管理的数据库。由于存 储对象的扩充,因此多媒体数据库与以前的以数字和符号为管理对象的数据 库相比,对 硬件环境的要求是不完全相同的,主要在输入/输出及存储设备等 环境方面有不同的要求。
输入处理是多媒体数据库的重要课题之一。首先,多媒体信息的机内表
示,同它的输入处理方式直接有关。目前计算机内部表示方法有多种:对于 容易形式化的内容以编码的方式来表示,对于非形式化的内容则通过位串作 为图象信息来表示,而其语义则由用户自己去定义。为了进行输入处理,用 以读入文字、图形、图象等多媒体构成的原信息所采用的输入设备有自动型 和手动型两类:自动型的用光扫描文字及图画,进行阅读并自动输入。扫描 所得的多媒体模拟数据,要把每一象素变换成数字数据。这类自动型的设备 有传真机、图象扫描仪、电视摄象机等。手动型的设备是由操作人员直接读 取操作位置坐标方式输入,如用图象输入板,它通过特殊笔尖所放位置的磁 场变化而得出坐标位置,而鼠标器则是通过球的转动方向和转动量来定出坐 标。
存储系统的硬件环境与传统的数据库相比有更高的要求。多媒体数据库
的特点是要求设备有很大的存储容量。例如,用计算机进行图纸保存,每一 张图面的信息量约为 100KB,而图的数量可能达到几万张及致上百万张,这 样总的存储量就可能达到几 GB 乃至上百 GB。如果多媒体数据库的存储设备, 仍采用以前数据库系统通常采用的磁盘或磁带存储设备,在容量、成本或速 度上都可能会带来困难。
最近,光存储技术的应用,光盘做为多媒体储设备的前景十分可喜。目 前,三种类型的光盘即只读型光盘、一次性可写型光盘和可多次写入的光盘, 都可做为多媒体数据库的候选存储设备。光盘具有容量大,保存时间长(可 保存 10-20 年),存取速度快等特点。满足多媒体信息的存储、利用的要求,
是一种多媒体数据库技术很理想的存储设备。 当然,在构成多媒体数据库的存储结构时,也可以同时使用多种存储设
备。如在文件的存储中,可能将原文件本身(一次信息)作为永久保持信息 存放在一次性可写光盘中,而把它索引或关键词等二次信息存放在磁盘中, 并建立它们之间的联系。
输出处理是将检索结果,根据需要进行必要转换,并加以视象化。用于 视象化的输出设备有显示设备和打印设备。显示设备的种类很多,对于显示 多媒体数据,可根据应用领域和应用目的的不同而加以选择。打印设备种类 亦很多,同样需要根据应用领域和使用目的来选用。如有 XY 绘图仪,高速输 出图纸的激光打印机和显示画面的彩色拷贝机等。
多媒体做为一种很有应用前景的计算机技术内容,目前仍然还是处于发 展的初级价段。据介绍目前还没有成熟的多媒体数据库管理系统推出;其基 础理论,如多媒体数据库的数据模型理论仍还不成熟,需要做更多的工作。
3.专用数据库技术——工程数据库
70 年代以来,数据库应用不仅在商用事务处理方面得到广泛的发展,而 且逐渐向工程技术领域(如 CAD、地理地图、军事指挥等)渗透。工程数据 库与商用数据库有着根本的不同。在工程技术领域,数据模型的构造是从小 到大,从简单到复杂,随之数据装入是逐步增大的。可能一开始是某个阶段 或某个层次,随着设计者的深入,不断地加入语义信息。动态地修改模式或 子模式是经常的,也是必要的。这些工作不仅仅是数据库管理单元事情,而 可能是设计师本身。一旦在设计试探中,发现模型错误,应能及时返回到某 一设计阶段或层次,沿着另一条路继续设计下去。在这个过程中要充分考虑 到工程领域的交互性和实时性。要设计的客体采用什么样的数据结构往往取 决于设计人员的构思和设计目标,要求在设计之前(像商用数据库那样)提 出一个合适的概念模式是不切实际的。工程领域既要处理复杂的数据结构客 体,又要满足快速实时响应、人机交互显示要求。存储结构既要存储图形信 息,又要表达复杂关系的客体。所以工程数据库技术研究引起了数据库专家 的兴趣。
近十年来,国外已开发的工程数据库有 IPIP、MLDB、TORNADO 等,它们
的数据模型是关系和网状混合模型、扩充关系模型、语义网络模型、扩充网 状模型等。我国工程数据库的研究,改造商用数据库管理系统,或者商用数 据库管理和文件管理向结合的方式处理工程环境的结构化或非结构化的信 息,也开发自己的工程数据库系统。
工程数据库的研究成果集中应用于机械制造,这是目前最活跃的领域。 有关飞机、汽车、船舰等产品的 CAD 系统,以及通用计算机集成制造系统, 都采用数据库技术来管理数据。这些数据库管理系统有的还不完全成熟;VLSI 的设计中,由于大规模集成电路的设计要通过系统描述、功能设计、逻辑设 计、线路设计和布图等几个阶段来完成;而且,在各个阶段还需进行模拟和 测试,因此对于一个芯片的设计,数据量是十分巨大的。而且设计各个阶段 要重复使用,对于这些设计数据组织和管理需要有数据库的支持;在其他方 面,如土建施工图,市政信息管理方面也都采用数据库来组织和管理,它们 要求数据库能够支持图形,这些也属于工程数据的范畴。
工程数据库除采用网状、关系模型外,有的系统兼顾网络模型和关系模 型的优点,采用关系/网状模型。工程数据库支持动态模式,支持分布式处理,
因为一个大型项目的设计(如飞机、计算机等),都是很多设计人员共同合 作才能完成的,它们在设计过程中需要使用公共数据,相互之间需要交换, 所以工程数据库的运行必须是分布式的。工程数据库采用结构实体,支持语 义信息的嵌入此,还有版本管理的功能。所谓版本,是一个工程设计过程中, 由于设计方案的差异,在设计的各个阶段形成同一工程实体不同的设计版 本;设计过程有时是一个反复试控的过程,所以要求数据库能保留尽可能多 的设计版本。传统的数据库技术要多个数据库来管理多个设计版本,这样就 会有大量数据冗余,也不便于比较。为此采用版本管理,解决以上问题。
工程数据库是工程设计与制造领域中实用价值较高的软件系统,是当代 工程自动化的核心软件系统。工程数据库是高级数据库技术之一,也是多学 科的总和。工程数据库技术的发展必将对工程技术自动化产生极大影响。
4.专用数据库技术——科学数据库
80 年代以来,数据库技术已在各个领域中得到广泛应用,使数据库处理 从原来简单的数据加工开始为信息化的社会服务。
建立科学数据库是把计算机数据库方法应用到科学技术数据处理领域。 在科学数据库中存放的信息是一种知识成分,是专业科技人员在基础研究、 应用研究、科学实验及新技术研究与开发等各项活动中产生与积累的数据的 集中。这里将保存许多有用的事实、方法、数据、理论及其运用。收集、整 理这些科学技术数据,在高性能、大容量、高速度的中、大型计算机上建立 数据库群体,存储与管理这些数据,通过通讯网络传送数据,向最终用户提 供联机查询及处理,为科学技术活动、社会及经济活动服务,为知识增长和 培养人才服务。
1.科学技术数据的分类和处理
由于科学技术数据来自于不同的学科领域,它们的数据类型、数据用途、 数据间的结构关系是各不相同的。世界科学技术协会、数据委员会(CODATA) 依据数据特点曾提出了科学技术数据分类方法。
现实社会中的许多科技活动都要依据他人所生产的科技数据。建立科学
数据库系统是以专业化的科技数据的收集为基础的,数据收集过程可分为三 个阶段,首先由实验室、原始报告或出版物中按一定的表示方法进行数据生 成。然后对获得的原始数据进行整理、分析、压缩、组织。在当今信息化的 社会中,数据代表了信息,数据就是财富。科技数据信息是科学研究的主要 成果,也是确定新的研究方向,选择研究课题,推动研究工作和发展应用的 基本参考信息。
计算机处理科技术数据是指用计算机采集、评价、归档、存储、检索、 显示、传递数据。计算机系统包含如下四部分工作。
1)数据输入。包括数据源的采集,输入数据集的选择与定义;对数据进 行检查编辑,使之与系统标准相符合;转换数据格式与数据库要求的格式相 一致。
(2)建立数据库。包括设计数据结构,组织并存储数据;设计对数据库 访问的权力和限制措施,以便在执行对数据库的检索、插入、更新和删除等 操作时予以控制;设计数据库的保护和维护措施,防止数据库破坏,保证在
发生意外故障时恢复数据库;设计监督手段及统计算法,以便监督与管理数 据库的运行。
(3)数据检索与加工。包括接收用户使用数据的提问要求;组配这些要 求,形成一定的查找表达式;设计算法从数据库中检索用户所要求的数据; 将检索得到的数据在终端上显示,供用户浏览、选择;保存用户检索得到的 数据或进一步加工处理。
(4)数据输出。包括根据用户的特点要求或用途挑选输出项目;确定并 选择数据的组织和格式以适应数据传输的规定;提供传输数据的方法,直接 打印数据加工的结果等等。
2.科学数据库的类型
由于各种实际应用的需要,在不同的学科及领域中发展起了多种类型的 数据库。依据服务对象可将科学数据库划分为面向具体专业科技人员的专业 性数据库及面向社会广泛用户的综合性信息数据库。依数据库中收录的数据 类型、内容和用途又可将数据库划分为三大类,即:文献数据库、数值数据 库和管理数据库。其中文献数据库的内容是以科技文献资料及图书为主,库 中数据多是一次文献经分析加工而来,一般包括题目、作者、出版单位、出 版年月、文摘、关键词等。这是从原文献产生的数据,文献库容量非常大, 用户使用其检索得到的结果仅仅是文献的线索,再由此线索去找所需的原始 文献。数值数据库的内容极其广泛,涉及了多种学科领域的科技数据及一些 事实材料,这些数据是科学技术成果以最精确的数字形式表示的结晶,数据 入库前要经过鉴定、评选。把经过专门评估的数据或发表的科技数据加工成 为计算机可读的形式装入数据库。例如各种化学谱图,化学分子式及结构数 据,各种物理常数,物质的各种特性,原子及分子特性,材料及其性能,各 种观测数据,地质资料,自然资源资料,图象数据等等。在数值数据库中应 有详细描述实体及其属性的数据,以满足用户希望直接获得科学、计算或工 程方面的详尽的信息要求,专业人员从数值库比从文献库更能直接得到有用 的信息。管理数据库的内容是以服务管理数据为主,如科研课题、科技机构、 科研成果、科研器材及一些管理与决策信息。由于社会各界对科技信息的需 求在增长及计算机技术和通讯网络技术的飞速发展,各类数据库都发展很 快,从 70 年代末期以来,数值数据库的使用次数和增长速度已大大超过文献 数据库。
3.科学数据库管理系统
在 70 年代商用数据库管理系统已广泛应用到科学技术界,使用这种软件 的主要好处是它提出了数据模型化的方法,对理解数据结构有好处。
另外,无论是信息的提供者和信息需求者都可不必了解计算机的复杂 性。例如 IBM 公司的 IBS 是一个层次模型的数据库管理系统,已用于为医学 研究建立的嗜血杆菌数据库;欧洲经济合作与开发组织(OECD)的核能数据 库(NEADB)使用了在 PDP11/70 计算机上的 DBMS-11(CODASYL 网状 DBMS)。 剑桥结晶学数据中心利用了 ADABAS(德国 AG 软件公司生产的 DBMS)开
发并建立金属有机化合物质子坐标信息数据库。 加拿大国家重力数据库使用了 SYSTEM2000(层次模型的 DBMS)。
美国的戴尔斯伯里(Daresbury)实验室的科学和工程研究委员会用关系
数据库管理系统 RAPPORT 建立了数据采集系统,英国森林委员会也用RAPPORT 管理了树木测量方面的观测数据及实验数据,可直接用交互式查询语言,也 可用高级程序设计语言扩充其功能。
美国斯坦福大学开发的 SPLRAS 是一个汇编成的层次数据库系统,已在美 国、加拿大和英国建立了各种科学数据库等。但是,科学数据库系统与商用 数据库系统是有很大差别的。商业数据库系统的典型应用是企业、工厂的管 理控制,如材料、帐单、价格、市场信息等综合数据的管理,建数据库的目 的是为集中控制过程用的数据资料,建库部门可直接从中得到收益。
数据来源是公司和企业生产部门的管理用和控制用数据,这样的数据记 录一般不特别长,基本由字母数据串组成,数值数据通常是整数、浮点数。 用户使用数据的查询要求一般是对数据项定义值的询问,可包括报表显示及 绘图输出,准确度和保密性要求高,绝对不允许有错。
科学数据库的典型应用是联机数据查询、数据计算、数据编辑。建库的 目的以服务为主,提供已有的科学技术数据信息,促进了社会各部门的发展。 建库部门不能直接从中得到效益。
数据来源于科技工作者的实验室、观测台及已有的出版物,数据类型可 为固定长或可变长,一个单个记录可以很长,如微生物性状库数据记录可达
1 万字节,晶体结构数据库记录可达 7 千字节,基本粒子物理数据库中记录
可达 8 万字节。数据可以是位串、矢量、数组或图象。查询用户可提出允许 误差的范围检索,输出的显示要求可能是字母数字串,此上、下标的多维表 及图形。由于它们以公益服务性为主,所以保密要求一般不高。
科学技术数据的性质比商用数据复杂,使用这类数据库的科学家和工程
师要求数据相当精确,对数据库的管理也更为复杂。建库时需要仔细研究各 因素和进行系统化的分析。在数据库中放置科学技术信息并不难,但获取有 用的信息输出往往非常困难,目前还没有一个能适用于建立各科学数据库的 管理系统,正如前面介绍过的,不少科学数据库的设计者与开发者正在使用 现有的商用数据库管理系统,也有的部门结合具体的专用要求,开发了相应 的数据管理程序。这样的科学数据库系统分为单一的数据库系统、多用户单 一应用的数据库系统和多用户多应用的数据库系统。它们一般都包括如下三 类程序,即数据检验和数据装入过程程序;数据库查询程序;与外部程序包 如与统计分析包,分析算法包,报表及图形,数据显示及印刷输出等程序接 口。
4.发展趋势
当今科学数据库系统向两个方向发展,一种是专业性数据库,系统规模 视具体的需求和服务目标而异,既有小型系统,也有大型系统。如美国生物 医学数据库中心的 MEDLINE 系统,是世界上最大的专业性数据库。另一种综 合性数据库系统向以主机为中心的大型化发展,提供有多种学科的数据信息 服务,如美国的 DIALOG,OBDIT,BRS 系统,欧洲的 ESA/IRS,日本的 JOIS 系统等都是国际性的联机数据库,其中位于美国加州帕罗阿尔托(Palo Alto)市的 DIALOG 系统是规模最大的数据库服务系统,供世界范围内 90 个 国家的 10 万多个用户取用,现已有 350 个数据库,数据量达 675GB,每年正
以 20%~30%的比例增加。 从用户方面看,联机检索系统提供的功能大都很近,但各个数据库都有
着不同的文档组织结构及检索命令语言,这使得用户在使用不同系统时必须 重新学习,所以,各种联机科学数据库用法的标准化已提到日程上来,这包 括进入系统标准化,键盘用法标准化,检索语言和命令标准化,截断及其符 号用法标准化,中断功能标准化等。
此外,由于光盘(CD-ROM)的出现及发展,在一台 PC 机上就可存放 500MB 以上的信息,用户可购买光盘使用自己的 PC 机进行检索。还有些科学数据库 在加强对检索结果的处理,以便更适合专业方面的服务。
建立科学数据库及其信息系统是计算机硬件和软件专家、专业科学家、 数据收集者的智力劳动结合的产物,系统发展是计算机网络发展与资源共享 的必然结果,特别是现代商业系统网(如美国的 Telenet 和 Tymnet)已允许 数据库系统联机共享,使世界范围内的任何用户都可做到检索多个系统的数 据库。
5.专用数据库技术——统计数据库
近年来,统计数据库的研究得到很大的发展,这是由于常规的商用数据 库系统不能有效地支持统计与科学数据的存储及应用,而常规数据库所支持 的基于事务处理的并发运算又不是统计与科学数据所必须支持的。因此开发 新型的统计数据库是完全必要的。由于统计数据与科学数据在数据性质与所 需的运算上都有十分相似的地方,所以可以将它们合并在一起用一个数据库 管理系统来支持。统计数据库主用于统计与科学试验数据的存储以及进行统 计分析和归纳。它与常规数据库有许多不同之处。
1.统计与科学数据的特点
(1)数据可分成分类属性集合与汇总属性集合。分类属性集合是包括汇 总属性集合在内的整个记录的组合键。如在人口统计数据中,统计的年代、 省、地、县、乡、职业、民族、性别等属于分类属性集合,而相应的人口值 则属于汇总属性。由于在统计数据中只需将分类属性集中于一个属性的值进 行变化,如性别的变化就可以更改成一个新的记录,所以采用常规的记录形 式进行存储就会造成很大的重复。
(2)统计数据中的分类属性与科学试验数据中测量参数属性很相似。而
它的汇总属性又与科学数据中的测量值属性又很相似,因此,科学数据也可 借用分类属性及汇总属性。加之科学数据的整理也需要借助于整套统计算 法,为此,我们将这 2 种数据用同一种数据库管理系统来支持。
(3)数据量一般很大。以人口统计数据而言,显然其数量是很大的,对 科学数据来说,某些科学试验装置每天所产生的数据量可达数千兆字节。
(4)汇总属性中常常有大量相同的值(通常为零),只要将分类属性进 行适当的排列,就可以将汇总属性中零值或相同的值聚合在一起,这就有利 于对这些稀疏数据利用标头压缩技术进行压缩。
(5)统计运算往往只涉及一个或少数几个属性上的数据。如有常规数据 库所采用以记录为单位对数据进行存储。这样每次存取就要存取整个记录, 而实际使用只是其中一小部分,这是不合适的。所以应当在存储格式上采用 了与常规记录格式完全不同的、以同一属性的值存放在一起的转置文件格 式。
(6)所支持的运算与常规数据库也不一样。它除了一般的检索外还需要 支持大量的统计运算和其他特有的操纵。
(7)统计数据库所保存的数据一般都反应已发生事件的记录。它们都是 很稳定的,一般都不需要随时进行更新。在个别情况下即使要进行更改其频 率也是很低的,而且更改前后的数据一般都需要记载下来。在常规数据库中, 由于数据频频更新的要求,花费在并发控制上,进行事务处理的开销是很大 的,而这种开销在统计数据库中是完全可以省去的。这就能使统计与科学数 据在这方面的功能大为简化。
(8)具有元数据组织。描述有关数据集合的轮廓的数据称为元数据,无 数据包含数据集合的生成者,生成的时间、生成的理由等信息,由于统计数 据库数据量大,数据复杂,用户很容易把这方面的信息遗忘而影响使用,因 此元数据的组织是很重要的。
(9)用户可抽取较小的数据集合以构成汇总集合。汇总集合通常可以采 用类似选择操作的运算以选出有用的记录,可用类似投影操作的运算以选出 有用的属性。
2.数据模型
为了适应统计与科学数据的特点,应当采用与常规数据库不同的数据模 型。这种数据模型的要点是对于其分类属性采用由叉乘节点(简称 X 节点) 及集结节点(简称 C 节点)所构成多维表格形式,也可以树的形式来表示。 叉乘节点用于表示分类属性中多维的本质,如只用行与列则可表示属性的二 维特点。鉴于一般都使用二维的表格,所以我们可以在根节点下人为地加上 二个叉乘节点,以构成只有行和列的二维表格结构。集结节点(简称 C 节点) 用于表示它们之间的族集特点。如行政区中的省市则有北京市、河北省等等。 这样在下面所给出的简单人口统计表中的分类属性就可以用相应的由叉乘节 点和集结节点构成的多维表格式或树形结构来表示。汇总属性数据则按照其 相应的分类值进行定位,并根据不同的分类属性分别存储而构成转置文件。 由于在实际应用中人们遇到的统计与科学数据往往比较复杂,它们既十 分接近上述数据模型但又不能有效地用上述模型来支持。在进行了较广泛的
调查研究以后,我们提出了一种新的混合模型,可以支持这类数据。
统计数据库除了应具有与常规数据所类似的数据操纵,还应当有它自己 所特有的数据操纵。如分类属性的位置变更、重新划分以及聚集运算等。由 于机构变更等原因,会使分类属重新划分,而使其相应汇总属性值的归属重 新安排。如海南建省,则与海南有关的数据应从广东省中分离出来,重新排 列。
聚集运算的特点是:如在集结点下面给定其中某个节点则系统将针对该 节点进行聚集,而在叉乘节点下未给定的节点,则应对其下面的所有节点进 行聚集。
统计数据库的统计算法应当是相当完善的。一般应有矩阵算法、基于统 计量计算、回归分析、统计参数估计、分布参数检验、非参数检验、数据平 滑与滤波、经验分布曲线的选配、统计用表、相关分析等。统计与科学数据 的二维输出格式是很复杂的。这种基本的表格输出格式也应由数据库管理系 统提供。
3.数据压缩
数据压缩的优点有:能减少存储空间、增加数据传输率、加强保密性、 减少后备副本和恢复费用等;其缺点是:需要支付压缩及还原的开销,破坏 了数据的固有特性,降低可靠性,需要存储有关压缩的技术的数据,有时会 使数据长度不能预定。压缩的方法有多种,如顺序保持法、霍夫曼法、标头 压缩法等。由于统计数据库中往往有大量的相同的数据(如零值)相邻地集 结在一起,对于这种数据采用标头压缩技术最为合适。标头压缩技术的基本 思想是采用标头来标明所存数据串的类别,即标明是集结在一起的数据还是 随机数据,是压缩前的数据顺序数,还是压缩后数据串末尾所处的字节数。 这样压缩后对相邻地集结在一起的许多相同的数据可只存放一个数据。从而 达到压缩的目的。标头压缩技术也可分为用于多相邻接数据和变长度数据的 双计数压缩方案,以及单邻接数据和定长度数据的单计数压缩方案等。
4.安全措施
统计数据库又一个特点是它既要为各类用户方便提供有关群体的各种统 计数据,又不能因此而泄露个体的数据,包括防止用户采用推导的办法而获 得个体的信息,从而达到保密的目的。例如全国的或某省市的某种产品的产 量是不保密的,但涉及某个具体工厂的这种产量是不应泄露的。在统计数据 库中虽然不允许一般用户直接访问个体的机密信息,但在每个统计结果中都 会有残留着原始个体数据的痕迹,如不采取适当的措施,用户就可以利用合 法的统计数据推导而获得个体信息。为了防止泄露一般可采用下列安全措 施。
(1)限制查询集合的大小。如果统计查询集合的大小低于或高于预定的
阈值,则该查询将被拒绝。虽然限制查询集合的大小可以直接防止个体信息 的泄露,但用户可以采用多次查询而推导出个体机密信息。
(2)限制查询集合交的大小。采用这种方法时,系统应当保存建库以来
所有进行过的统计查询的痕迹,在每进行一次新查询时都要检查该新查询与 进行的查询的交集的大小是否低于阈值,以决定是否执行或拒绝这个查询。 这种方法虽可确保个体信息不被泄露,但由于每个查询是否可执行都要 追溯到自从数据库建立以来有关的情况,所以,系统要增加附加的存储信息。
一般说来它只适用于规模较小的和用户较少的数据库。
(3)随机取样查询。采用这种方法,每次查询时,查询集体是随机地在 数据库抽样而取得。这样即使通过多次查询也不可能正确地推导出个体信 息,从而防止个体信息的泄露。这种技术适用于大型数据库。
(4)对数据值进行微扰。为了防止泄露个体信息,对统计查询的结果可 用微小的数值进行打扰。这样就不会通过多次查询推导出正确的个体信息。 所采用的办法可在查询时对输出的数据进行打扰,或者对存储在数据库中的 数据进行打扰。它的问题是微扰的值应当取得很适当,不会因打扰所引入的 误差太大而影响使用,又不能太小以至能推导出较正确的个体信息。
(5)对数据库进行划分。在许多应用中,可以预先规定若干个个体群, 而只在这些群体上进行统计以满足查询的需要。由于个体群是预先规定的, 所以就不能随意地进行查询而推导出所需个体机密信息。
这种方法的问题是:有时会因所定义的群体太小(只包含数量较少的个 体)而为推导出个体信息提供方便。
统计数据库的安全措施的种类很多,除上述以外还可采用结合具体的数 据模型、数据结构的各种安全措施。为了确保安全性,可根据具体使用环境 以及所采用的数据模型等选用适当的安全措施。
在科学数据库中访问个体数据一般是允许的。因此,对于这类数据库一 般不需要采用的特殊的安全措施。
5.结束语
从上面所介绍的情况可见,统计数据库都与常规数据库有很大的不同。 因此开发和使用统计数据库管理系统是完全不同的。在实际应用环境中,应 用所介绍的含有叉乘节点及集结节所构成的模型,有时不能很好存放过于稀 疏的数据。为此,在系统中增加了一个混合模型,就拓宽了应用范围。
统计数据库管理系统可用来支持气象、水文、地质、地震等数据库,以 及各企事业单位有关统计数据的数据库,人口统计数据库,各种大型实验装 置的科学数据库。
6.数据仓库与数据挖掘
1.什么是数据仓库
数据仓库(Data Warhouse)是计算机应用领域里的一个崭新方向,它是 一种信息管理技术,其研究的主要宗旨是通过通畅、合理、全面的信息管理, 来达到对管理决策的支持。与联机事物处理(OLTP)相比,它完全是另一种 类型的信息管理方式。
从概念上说,数据仓库是基础十分广泛,具有一种能力。它实质上是把
运作数据转换成商业信息,帮助公司解决许多不同的复杂商业难题。从技术 上说,数据仓库是企业内部各单位的运作数据和事务数据的中央仓库,这些 数据经过了归化、平衡、协调和编辑。它是为最终用户进行分析处理而专门 设计的,使最终用户可以针对任何一个经营单位或整个企业、用任何一个需 要的参数去存取市场数据以及客户、产品或事务的信息。这种能力明显有别 于以前的其他方法。那些方法实际上是把客户数据锁在一直被叫做“数据监 狱”的数据库里。数据库已演变成分散的、独立的子系统,没有能力从统一 的角度提供客户的有关信息,或指出哪些服务和产品与所有客户的关系最密 切。
数据仓库有能力对整个企业各部门送来的各种信息进行统一和综合,这
实际上是决策支持和客户管理的一次革新。以数据仓库在银行的应用为例, 银行可以用它来取得各个重要方面的数据与分析结果,例如利润、市场分析 和风险管理等,进而改善银行的自身管理。比如,数据仓库用户可以立即得 到其单位当前所处地位的准确报告;了解其公司面临的风险,包括备项事务 及整个银行所有业务面临的风险;对市场和法规条例的需要迅速作出反应。 此外,数据仓库对于客户管理和营销还有许许多多的好处。由于银行能够看 到所有帐户和每个人的信息,因而银行有能力真正了解客户并更好地向他们 提供服务。另外,之所以要把涉及每件事情的大量信息都集中到数据库,总 的想法是要在客户的各个生活阶段中知道该客户能使银行前进到哪里,并提 供所谓的“预期服务”。换句话说,银行将能够在客户还未认识到他的某种 需要之前就预测到他的需要。比方说,银行将知道客户的汽车已用了 4 年,
所以将建议向他提供一笔汽车贷款,帮助他更快地买到新车;银行将知道新 生儿出世的消息,并向其家庭建议一个更高层次的教育计划。了解到的客户 信息越多,银行就越能够更好地预测下一个潜在的业务,并通过交叉推销来 提供更多的服务。只有数据仓库环境(它也包含其他的外界信息,如市场统 计信息等)才能提供这种信息。
数据仓库不是一个静止不变的产品,而是一个动态的、不停变化的过程
——这个过程为全企业的管理系统奠定信息基础。该系统可用来测算利润、 管理和分析风险、进行市场分析、帮助规划和加强客户服务计划及市场推进 计划。与现买现装的产品不同,成功的数据仓库实际上是一个过程。它要求 公司仔细分析本公司的基本原则,决定需要哪些运作数据和外部数据源,然 后利用一种严密的方法把所有的数据集中起来,再变换成有用的信息。
数据仓库过程一旦开始实施,就没有终结的时候。它的可用性和中肯性 在极大程度上来自于其信息的新鲜性。因此,公司必须不断对它进行更新, 馈入新的统计信息和新的事务档案。
有人认为在今后,数据仓库将成为保持竞争优势的因素之一。如何更好、 更快地把产品推入市场?如何更好地为客户服务?如何更好地揽到客户?” 越来越多的公司选择数据仓库作为答案。数据仓库是测算利润、管理和分析 风险、进行市场分析,以及加强客户服务与营销活动等的催化技术;它在支 持和管理突飞猛进的商业变化以及在保持这种竞争优势方面已日益扮演着举 足轻重的角色。
2.数据仓库的主要功能和特点
数据仓库的主要功能是提供企业决策支持系统(DSS)或行政和信息系统
(EIS)所需要的信息,它把企业日常营运中分散不一致的数据经归纳整理之 后转换为集中统一的、可随时取用的深层信息,这种信息虽然也是按关系数 据库的存储结构存储起来的,但与面向逐条记录的 OLTP 不同,在数据仓库中 的一条记录,有可能是基础数据中若干个表、若干条记录的归纳和汇总。
数据仓库的基本特点为:
(1)数据仓库存储的信息是面向主题来组织的。它根据所需要的信息, 分不同类、不同角度等主题把数据整理之后存储存来(按横向对数据进行分 类存储)。
(2)数据仓库中要有一处专门用来存储 5 至 10 年或更久的历史数据,
以满足比较、预测之用的数据需求(按纵向对数据进行分类存储)。
(3)不论数据来源于何处,进入数据仓库之后都具有统一的数据结构和 编码规则,数据仓库中的数据具有一致性的特点。
(4)数据仓库是一个信息源,它只是为在其上开发的 DSS 或 EIS 等提供 数据服务,因此它应是只读数据库,一般不轻易做改动,只能定期刷新。
3.数据仓库的基本结构
数据仓库中的信息存储,是根据对数据的不同深度处理来分成不同层次 的。其结构一般划分为以下几个方面:
(1)历史性详细数据层。它存储历史数据,供分析、建模、预测之用。
(2)当前详细数据层。存储最新详细数据,是进一步分析数据的基础。
(3)不同程序的归纳总结信息层。可包含多个层次,根据所需分类和归
纳的不同深度而定,如按周、月、年统计的数据。
(4)专业分析信息层。进一步专业分析的结果,如统计分析、运筹分析、 时间序列分析以及表面数据的内在规律分析等。
(5)结构信息。数据仓库的内部结构信息,反映各种信息在数据仓库中 的位置分布和处理方式等,以便检索查询之用。
4.数据仓库环境
从传统的应用环境向信息启动的、以数据仓库为中心的环境转移是必然 的。问题只是何时转移。
随着这一转移而来的问题是:数据仓库环境的确切意义是什么,以及它 是如何工作的?
数据仓库是设计来为整个机构的信息需求服务的。为实现这一点,数据 仓库在不同的粒度层次存储数据——从当前的详尽数据到高度汇总的数据。 作为规律,越新的数据,越是马上就要用。一般而言,当前详尽数据支持日 常决策,而历史数据支持趋势分析和长期决策。
对数据仓库环境的要求之一是积累和管理大量数据的能力。因此,为仓 库中的数据适当选择粒度层次和汇总是很重要的。为管理仓库中大量数据而 考虑的其他设计方法和技术还有:在多个存储媒体上存储数据,当数据变得 陈旧时做汇总,按人工做的条目存储数据关系,在合适处对数据进行编码和 建立基准,为独立管理和索引对数据进行分区等。
下文对构成数据仓库结构中每个构件的作用进行入门性的介绍。
(1)当前详尽数据数据仓库环境的核心是当前详尽数据,是大量数据留 驻的地方,常常存在并行处理器上。当前详尽数据是直接由正在运转的传统 环境送来的,代表着整个公司,而不是某个应用。当前详尽数据是按隶属脉 络组织起来的。
当前详尽数据中的每个数据单位可以看作是一个瞬象,此时一个时间单
位可以识别出一瞬间,在此瞬象是精确的。当前详尽数据代表着数据仓库环 境中可找到的最低层次的数据粒度。它可以作为原始数据工作为概貌存储—
—它代表原始数据的聚合。当前详尽数据通常为 2~5 年。它按环境的需要不
断地按日、周或月进行更新。
(2)过去详尽数据这是档案数据或通常超过 2 年的数据存储的地方。通 常在过去详尽数据层次上存储着大量的数据,它们的存取概率不高。过去详 尽数据与当前详尽数据粒度上处于同一层次。随着数据进入过去详尽等级, 为了对它进行浓缩,数据可以集合在一起或作概貌加工。由于数据结构随时 间的变化而变化,所以过去详尽数据一般都包含着同一数据结构的多种版 本。它可以存储在多种不同的媒体上。
(3)部门/数据市场。轻度汇总数据是数据仓库中部门成分的印记。部 门层次是经定制而适应拥有此数据部门之需求。定制是在数据从当前详尽送 到部门层次时完成的;部门层次是专门由当前详尽层次馈送的。在任何一个 给定部门数据库中数据量要比当前详尽数据少提多。部门层次包含了详尽与 汇总两种数据。数据送入部门层次时的汇总过程是元数据的重要部分。数据 的部门层次方便地使用关系技术进行多维分析。
(4)高度汇总数据。在数据仓库环境中数据的高度汇总层次是为高级主 管人员设计的,应该允许通过向下挖掘的过程访问层次不断提高的详尽数
据。高度汇总数据来自部门层次的数据或当前详尽数据层次。此处找到的数 据量远少于其他数据仓库层次上的数据量,它代表一种折中的集合,支持多 种多样的需求和利益。
(5)记录系统。建立数据仓库的最初阶段,记录系统是在馈送和支持数 据仓库的应用程序中可找到的数据。记录系统应始终代表着一家公司拥有“最 佳”数据,此处“最佳”被定义成最及时、完整和精确的数据,拥有集成数 据模型的最佳结构一致性,并留驻在最靠近工作环境的入口处。记录数据系 统并不一定是十全十美的,但当它进入数据仓库时,它经历了重要的编辑、 净化和重新格式化的过程。
(6)集成/传输程序。当数据从记录系统进入数据仓库时,它经历了一 组集成和传输的程序,这组程序把应用程序特有的数据转变成公司数据。这 些程序执行下列一些功能:重新格式化、重新计算、修改关键结构、增加时 间单元、识别缺省值、提供多个数据源之间进行选择的逻辑、做汇总、清点 和合并多个来源的数据等。集成和传输程序在每次工作环境或数据仓库环境 改变时都需要作修改。
(7)数据仓库环境的最后一个成分是元数据,或关于数据的数据。它留 驻在数据仓库内数据的所有层次上,但它是在与数据仓库内的其他数据不同 维度上存在和运行的,由于这个原因,元数据常常被误认为是授予的或错误 理解的。
元数据是数据仓库环境最重要的方面之一。它存在于仓库开发和最终用
户应用两个层次。元数据由数据仓库开发人员用于管理和控制数据仓库的生 成与维护。对于最终用户,元数据留驻在本身的数据仓库平台上,并可以作 为访问和分析数据仓库的正常的一部分。
为了成功,数据仓库系统必须是易建立、易管理、易使用。因此,重要
的是了解它的目标和要求,以及确定供应商的产品能在多大程度上满足数据 仓库设计人员、管理人员和业务用户的需求。
数据仓库系统的关键部件包括下列内容:
1)定义部件,用于定义和建立数据仓库系统;
2)数据采集部件,用于把数据从源文件和数据库复制到数据仓库数据 库;
3)管理部件,用于管理数据仓库工作;
4)数据分配部件,用于把仓库数据外输到外部系统;
5)信息目录部件,用于提供有关储存在数据仓库里的数据库中数据的信 息;
6)DBMS(数据库管理系统)部件,用于管理、维护和存取仓库数据;
7)数据存取和分析部件,用于向业务最终用户提供存取和分析仓库数据 所需的工具。
(1)定义部件。定义部件由(数据)仓库设计人员和管理人员用来;① 设计和定义数据仓库的数据库;②定义由仓库数据获得的数据来源;③确定 在将数据从源系统向数据仓库的数据库复制时进行的数据清理和增强的规 则。此部件的输出作为信息目录部件的元数据储存。
(2)数据采集部件。数据仓库系统的主要目标之一是要以业务用户容易 理解和使用的形式存放公司数据。数据采集部件通过把数据从源系统中提取 出来并依据定义部件定义的规则清理和交换数据,从而达到上述目标。清理
可能需要对记录或字段的重建结构、去除只与日常运作有关的数据、对字段 值的译码和解释、提供丢失的字段值,以及检查数据的完整性和一致性、变 换可能涉及增加时间字段(如果在源数据中没有)来反映数据、数据摘要或 推导值计算的现时性。一旦源数据已被清理和变换,它就被映象到目标仓库 的数据库、输送到数据仓库系统以及装入(或更新)相应的仓库数据库。仓 库数据库的装入(或更新)是由 SQL(假设采用关系 DBMS)或者数据库装入 实用程序完成的。
采集数据并把它复制到数据仓库系统有很多种方法。工业界的走向是混 合使用编码生成器和数据复制工具。
(3)管理部件。管理部件由一组供其他仓库部件使用和管理仓库数据集 合的服务组成。数据集合是一组对特定用户或用户群感兴趣的数据。数据集 合是从数据采集部件生成的基础数据中得到的。管理部件提供的服务包括对 从仓库的基本数据推导出来的新数据集合的数据维护服务、把仓库数据外送 至分散的仓库数据库服务器和其他最终用户决策支持系统的分配服务。管理 部件还提供对库数据和数据集合的安全、归档、备份和恢复以及监测等项的 处理服务。这些服务常常要用到基本操作系统和数据库软件提供的一些功 能。
(4)信息目录部件。数据仓库的信息目录部件包含了关于仓库数据库中
数据的信息(称作元数据)。信息目录的主要长处是有助于业务用户了解仓 库存放了哪些信息以及如何访问和使用它们。
信息目录的三大部分是技术目录、业务目录以及信息引导器。
技术目标包含了有关供仓库设计人员和管理人员使用仓库数据信息的。 它拥有关于数据源、目标、清理规划、交换规则以及数据源和仓库数据库之 间映象的信息。技术目录中的多数信息是在仓库设计人员定义数据源和目标 时,以及定义把数据复制到仓库中运用的规则时生成的。它也可以由外部系 统送入,如第三代语言的复制书库、DBMS 系统目录表或 CASE 工具。
有关仓库中的数据量和生成或更新的日期的信息也应存储在目录中。理
想的情况是,这种信息应该由使用的工具收集,以便从源系统采集数据并把 它送到仓库数据库。关于最终用户如何访问和使用仓库数据的信息也应该进 行捕捉,并加到技术目录上,以使设计人员和管理人员凋整和增强数据仓库。 业务目录包含了给予最终用户仓库中数据容易理解的视图的信息。这种
信息为:
1)用于访问仓库数据的业务术语及有关的技术名称和别名;
2)仓库数据源,导出规则和数据的当前值;
3)有关数据拥有者的联系信息;
4)预定义的查询和报表的细节;
5)合法性要求。 这种业务信息通常是由仓库管理员生成的,但它也可以从外部系统,如
CASE 工具或查询与报表书写工具输入。
6)信息引导器使最终用户容易访问业务目标和仓库数据。引导器应该提 供:
①查询与引导功能,以访问和通过业务目标中的信息查找。②利用固定 查询或通过访问助理建立新的查询,生成暂时的或永久的仓库数据集合之能 力。③向仓库管理员发送新的数据采集请求之通信功能。④向数据分配部件
发送请求以把已有的仓库数据集合输送给另一个数据仓库或者外部系统之功 能。⑤与数据分配和数据访问部件的天衣无缝般的接口。
迄今,供应厂商对信息目录中三大部件的支持还是有限的。此领域中的 一些重要开发工作正在进行之中。
随着数据仓库使用的扩大,具有业务目录及相关的信息引导器的综合信 息目录功能将成为最终用户全面使用数据仓库能力之基础。此功能将成为区 别各数据仓库产品的关键因素。
(5)DBMS 部件。DBMS 部件由维护和检索仓库数据的数据库软件组成。 在为数据库仓库系统选购数据库产品时两项关键考虑是可扩缩性和速度性 能。一旦仓库的价值被认识后,仓库数据库通常就非常快速增长,DBMS 能否 高度可扩缩便是至关紧要的了。由于仓库数据库可以含有大量千兆字节的数 据,故数据库产品在处理这些极大的数据库数据时必须能提供高速性能。
为在装载、访问和分析大量数据时解决性能问题,各公司推出了并行处 理数据库产品。
(6)数据访问和分析部件。数据访问和分析部件提供了让用户研究和分 析数据仓库的工具,以便让他们改进决策和增强竞争优势。这些工具包括从 查询生成工具到复杂数据分析的多维产品以及数据采集工具等。
5.数据仓库所面临的主要问题
数据仓库是随着企业对于 DSS 或 EIS 不断增长的市场需求,以及现实中 存在的大量重复工作等问题应运而生的。目前,大多数 DSS 或 EIS 的数据处 理工作都是由应用程序本身完成的,这是一种极不经济和效率低的做法。一 个好的决策支持系统,其 90%以上的数据处理工作应在数据仓库中完成。然 而,要建造一个实用的数据仓库,必须首先解决以下几个问题:
(1)对大量的不同格式、跨越不同软件平台的企业中一般营运数据要能
及时、有效地访问到。
(2)对访问到的基本数据要能进行有效的分类、合并、归纳、整理以及 深层次的分析和处理。
(3)必须具备一个合理的数据存储结构。
(4)建造的数据仓库具有开放性,使其不仅能为某一专门系统提供服 务,更能被其他应用系统访问到,成为众多信息系统的物理信息源。
6.数据挖掘
(1)什么是数据挖掘。在今天的市场上,信息的利用至关重要,各行各 业面临激烈的竞争及经济压力,产品的生命周期缩短,需要为顾客提供更好 的服务。在过去几年中,各公司为了取得必要的市场战略信息及对付市场方 面的各种压力,已经开始采用数据仓库技术。各公司为了确定所要开发的产 品模式及了解市场走势,需要提取数据仓库数据,包括联机事务处理(OLTP) 数据,并与外部的人口统计数据及心理数据结合,从中“挖掘出”最终结果。 利用这种数据仓库信息源,知识工作者在他们的办公室内可根据所取得的数 据,就可以进行决策。数据仓库直接影响事关公司命运的决策。
上述过程被称为数据挖掘(data mining),实施这一过程的基本设施是 数据仓库。这是一种关键性、涉及范围很广的技术手段。利用数据挖掘技术 可使潜在的效益得到最大的发挥。数据仓库是一种数据集成战略,目的是促
进最终用户利用企业数据,同时保护公司的数据财富——关键任务的可操作 数据——安全性和完整性。
只要安排妥当,数据仓库就能发挥它的重要作用,即人们可以很快地作 出决策。因此,数据仓库是实施公司战略的一种技术手段。
一般来说,构筑数据仓库是一个频繁的查阅过程,它可分为若干阶段, 其中包括需求分析、数据仓库的设计、操作数据的提取、不相容数据的集成、 数据仓库的装填、最终交付用户使用。在后续期内,还应该对数据仓库作定 期更新。
数据挖掘对发挥数据仓库的作用有很大影响,因通过它可以识别出商务 中的模式与趋势,而仅通过分析数据仓库数据是无法得出的。当知识工作者 运用结构化查询语言(SQL)对数据仓库查询所需的信息时,查询中的歧义性 常常涉及到与答案集有关的一系列知识。相反地,数据挖掘可以揭示出非常 有价值的信息,这些信息在实施分析之前,知识工作者是无法得知的。这种 新技术,有助于使公司取得较大的市场份额,建立更好的形象并推动公司向 前发展。
(2)数据挖掘的应用。数据挖掘的应用非常广泛,下面介绍一些的应用 可以说明数据挖掘的用途。
1)商品销售。商业部门把数据视作一种竞争性的财富可能比任何其他部
门显得更为重要,为此需要把大型市场营销数据库演变成一个数据挖掘系 统。科拉福特(Kraft)食品公司(KGF)是应用市场营销数据库的公司之一, 该公司搜集了购买它商品的 3000 万个用户的名单,这是(KGF)通过各种促 销手段得到的。KGF 定期向这些用户发送名牌产品的优惠券,介绍新产品的 性能和使用情况。该公司体会到了解自己商品的用户越多,则购买和使用这 些商品的机会也就越多,公司的营业状况也就越好。
2)制造。许多公司不仅决策支持系统用于支持市场营销活动,而且,由
于市场竞争越演越烈,这些公司已使用决策支持系统来监视制造过程,有制 造商声称已经指示它的各个办事机构,在三年内把制造成本每年降低 25%。 不言而喻,该制造商经常收集各部件供应商的情况。因为,它们也必须遵循 该制造商降低成本的战略。为了对付来自各方的挑战,该制造商已拥有一套 “成本”决策支持系统,可以监视各供应商提供的零部件成本,以实现所制 定的价格目标,这种应用需要收集有关各厂商连续一年来的产品成本信息, 以便确定这种组织方式能否满足原先制定的有关降价的战略目标。
3)金融服务/信用卡。通用汽车公司(General Motors)已经采用信用
卡——GM 卡,在该公司的数据库中已拥有 1200 万个持有信用卡的客户。公 司通过观察,可以了解他们正在驾驶什么样的汽车,下一步计划购买什么样 的汽车及他们喜欢哪一类车辆。譬如说,一个持有信用卡的客户表示对一种 载货卡车感兴趣,公司就可以向卡车部门发出一个电子邮件,并把该客户的 信息告诉有关部门。
4)远程通讯。许多远程通讯的大公司近来突然发现它们面临极大的竞争 压力,这在几年前是不存在的。在过去,业务上并不需要他们密切注视市场 动向,因为顾客的挑选余地有限,但是这种情况近来发生很大变化。各公司 当前都在积极收集大量的顾客信息,向他们现有的客户提供新的服务,开拓 新的业务项目,以扩大他们的市场规模。从这些新的服务中,公司在短期内 就可以取得更大的效益。
成为本站VIP会员VIP会员登录,
若未注册,请点击免费注册VIP 成为本站会员.
版权声明:本站所有电子书均来自互联网。如果您发现有任何侵犯您权益的情况,请立即和我们联系,我们会及时作相关处理。