试论中间技术在异构数据库中的应用

时间:2022-08-08 10:22:31

试论中间技术在异构数据库中的应用

摘要:简述中间件技术来源和分类,着重探讨了当前主流的数据库中间件技术,并比较它们之间的不同。重点讨论了JUDB数据库中间件的工作原理和组成模块。

关键词:数据库;数据库中间件基数JUDB数据库连接

数据库技术作为一个计算机软件的重要分支,一直倍受业界关注。随着互联网的兴起,分布式数据库的研究越来越重要.各种数据库之间的互联和差异的屏蔽已经成为我们关注的焦点。

由于各地方分支数据库存在很大的差异,因此,在从各分支数据库中提取数据时,需要屏蔽各个数据库的差异性。而所提出的中间件技术,既是解决这种异构数据库的方法之一。对数据库中间件技术的研究,对于各种分布式系统的扩展提供很大的便利。

中间件通常是由一个API定义的软件层,它负责处理不兼容的操作系统或文件结构,调节各终端之间的通信,通常工作在网络层或传输层之上并且和下层的通信服务相互独立。

其工作机制为:客户端的应用程序需要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。 应用程序负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据或服务,进而传输客户请求,重组答复信息,最后将结果送回应用程序的任务。

中间件的分类包括:数据库中间件(DM,Database:Mi(1dleware);远程调用中间件(RPC,Remote Procedure.(tall);面向消息中间件(Message 0riented Middleware);对象请求(0RB,Dbject.Request,Brobers);事务处理管理(TPM,Transac:tionProcessing Moniter);专用中间件(PM,Propiaetrav Middleware)。

数据库中间件是处于底层数据库和用户应用系统之间的,主要用于屏蔽异构数据库底层细节问题的中间件,是应用程序与后台数据库之间通讯的桥梁。

一、主要的数据库中间件技术

随着数据库技术和网络技术的不断发展,数据库中间件技术也日趋成熟,目前比较流行的技术有CGI、0DBC、0I正I)B/AD0/、JDBC。

(一)通用网关接口CGI

CGI是’Web服务器与CGI应用程序之间进行信息传递的一种标准,是目前访问数据库最常用的方法之一,它移植性好。几乎所有的web服务器都支持CGI标准,(:GI程序驻留在Web服务器上,当Web服务器受到客户浏览器的请求后.执行相应的CGI程序,并通过Web selver将结果返回给浏览器。

CGI有一个致命的弱点,那就是CGI程序不能被多个客户请求共享。创建一个并发进程,并发请求越多,创建的并发进程越多,占用的内存空间越大,会随着用户的增加而延长用户连接数据库的等待时间,使系统的性能降低,并可导致系统最终的崩溃。

(二)开放数据库连接ODBC

0DBC Open Databas Connectivity,开放数据库互连)是微软公司开放服务结构(W0一SA.Windows()pen Services Architecture)中有关数据库的一个组成部分,它建立了一组规范.并提供了一组对数据库访问的标准API(应用程序编程接口)。API利用SQL来完成其大部分任务。0DBC本身也提供了对SOL语言的支持,用户可以直接将SQL。语句送给0DBC。像所有的中间件一样,0DBC提供一个定义良好的、不依赖于数据库的API。使用API时,0DBC通过一个驱动管理器来判定应用程序要连接的数据库的类型,并载入(或卸载)适当的0DBC驱动,这样,就实现了使用0DBC的应用程序和数据库之间的相互独立。

(三)0LE I)B/AD()/AD0

NET OLE DB是微软实施UDA UnJniversal Data Access)策略所产生的一个技术。OLE DB定义了一个数据访问服务器的集合,通过这些服务器可以很容易地连接到任意的数据源。这里的核心思想是生成独立的0LE DB组件对象用以调度数据提供者的各种附加特性和功能。

基于0LE DB之上的AD0更简单、更高级,同时消除了0LE DB的多种弊端。AD0以Record set存储,AD0的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。与一般的数据库中间件相比,AD0可更好地用于网络环境,通过优化技术,它尽可能地降低网络流量;AD0的另一个特性是使用简单,不仅因为它是一个面向高级用户的数据库接口,更因为它使用了一组简化的接口用以处理各种数据源。这两个特性使得AD0必将取代RD0和DA0,成为最终的应用层数据接口标准。

AD0 NET并不是AD0的升级版本,它是全新的面向对象模型。AD0 NET拥有自己的AD0 NET接口并且基于微软的.NET体系架构。AD0 NET提供了一个统一的编程模式和一组公用的类来进行任何类型的数据访问,而不管你用何种语言来开发代码。AD0 NET是WintForms应用程序、ASt,.NET应用程序和Webservices的一个共有的特点。其功能可以跨LAN和Internet连接来实现,可以在有状态(stateful)和无状态(stateless)情况下实现。

(四)1ava数据库连接JDBC

JDB(:(Java I)atabase Connectivity)是第一个支持.Java语言的数据库应用程序接口(API),功能上与0DBC相仿,提供.Java开发人员一个从支持.1ava开发或支持Java应用程序运行的环境访问各种数据库的统一的接口。JDBC主要由两层组成:JDBC应用程序接口(JDBC API)和JDBC驱动应用程序接口。JDBC API提供从应用程序到JDBC管理器的通讯。开发者通过API使用标准Java机制访问数据库。数据库供应商提供-JDBC驱动接口,也可以通过JDBC一0DBC连接桥使用传统的0DBC连接。

综上,在微软与JAVA的两大阵营中,微软程序主要采用0LEDB/AD()/AD0.NE或0DBC技术连接操作数据库,JAVA程序主要采用JDBC技术连接操作数据库。微软的主要优势是简单易用,但受到了只能在Windows操作系统上应用的限制。JAVA中采用的JDBC技术优势是灵活开放,但由于JAVA程序是解释执行的所以执行效率会略低一些,而且对程序员的技术要求也比较高。

异构数据库的问题虽然不是一个新的问题,但是随着企业应用系统环境的不断改变,新的问题也在不断产生,这个课题也在不断的发展。因此,在网络分布式数据库的研究上,还需要专业人士的不懈努力!

上一篇:如何上好初级汉语口语课 下一篇:高校师生互动与学生成长相关性实证研究