本文阐述了数据库中间件的概念、功能、原理,介绍了现今数据库中间件的几种主要技术,并进行了比较。
数据库中间件及其几种技术比较
曹建武
(中铁咸阳管理干部学院陕西咸阳712000)
摘 要:本文阐述了数据库中间件的概念、功能、原理,介绍了现今数据库中间件的几种主要技术,并进行了比较。关键词:数据库中间件;技术比较中图分类号:TP392文献标识码:A文章编号:1000-9795(2010)06-0039-02
一、数据库中间件的基本概念
数据库中间件是处于底层数据库和用户应用系统之间的,主要用于屏蔽异构数据库的底层细节问题的中间件,是客户与后台的数据库之间进行通讯的桥梁。当客户向WebServer发出对某个数据
库的SQL请求时,通过数据库中间件搜索匹配的数据库连接,并将SQL请求转发给对应的数据库服务器,通过其对数据库进行操作。数据库中间件的主要功能:(1)支持常用大型数据库的各种操作。如ORACLE,DB2,MYSQL等常用数据库。(2)提供统一接口,屏蔽数据库之间的操作差异。(3)封装复杂烦琐的数据库应用接口和数据库操作过程,简化应用程序的数据库操作,提高应用程序开发效率。(4)支持常用的操作系统。如Windows、UNIX、Linux等,便于应用代码在各平台之间的移植。(5)支持多线程,可以提供多线程与线程库,满足各种场合应用。
数据库中间件(UniWebServer)工作原理:让其作为前端的客户与后端的数据库之间进行通信的桥梁,当客户向数据库中间件发出对某个数据库的SQL请求时数据库中间件搜索当前可用的与该数据库的连接(UniTclServer)通过UniTclServer将SQL请求转发给对应的数据库服务器,数据库服务器执行SQL语句后将结果通过UniTclServer返回给数据库中间件,再由它返回给客户整个数据库中间件的体系结构采用的是三层(Three-tier)客户机/服务器模型,中间件与各个客户的数据通信采用流套接字(StreamSocket)机制实现并且利用了多线程的优点,使得中间件与各个客户的套接字通信能够并发地进行中间件与后端数据库的接口使用了UniTcl并且根据Internet/Intranet上用户对数据库访问方式的特殊性,采用多客户共享同一个数据库中间件的机制,提高了数据库访问的效率。
二、数据库中间件的技术
(一)ODBC
ODBC实际上并不是一个产品,而是微软在几年前创建的一个标准。ODBC是一个CLI(CallLay-erInterface),通过允许开发者制作一个在大多数关系数据库中可运行的简单的API调用,简化从Windows(以及其它一些操作系统)到数据库的访问。
ODBC目前提供32位版本。大多数的数据库都有ODBC驱动。ODBC是免费的,而其驱动不是。这些ODBC驱动可以从数据库供应商或第三方提供商购买。流行的应用程序开发工具大多通过ODBC提供对数据库的访问。实际上,ODBC是微软VisualBasic以及其它开发工具与数据库连接的唯一途径。
(二)JDBC
JavaSoft的JDBC是第一个支持Java语言的数据库应用程序接口(API),功能上与ODBC相仿,提供Java开发人员一个从支持Java开发或支持Java应用程序运行的环境访问各种数据库的统一的接口。
JDBC主要由两层组成:JDBC应用程序接口(JDBCAPI)和JDBC驱
收稿日期:2010-08-15
作者简介:曹建武(1978-),男,甘肃人,从事数据库方向的研究。
动应用程序接口。JDBCAPI提供从应用程序到JDBC管理器的通讯。
JDBCAPI定义了一个Java类集,允许Ap-plet、Servlet、JavaBean和Java应用程序连接数据库。通常,由这样一个小应用通过网络连接远程关系数据库服务器,如Syabas、Oracle或Informix。这些由数据库供应商提供的原始的JavaJDBC类与用户自定义的应用程序类共存,提供一种“纯Java”的、可移植的数据库访问。这样就允许从任意支持Java的平台到任意数据库的连接。
JDBC管理器和ODBC管理器一样,按Java小应用或应用程序的需要载入或卸载数据库驱动器。JDBC支持单个或多个数据库服务器的连接。就是说,一个小应用可以同时连接本地的所有数据库和Internet上的公用数据库。
(三)OLEDB
OLEDB作为一种数据访问接口体系,体现了Microsoft的通用数据访问(UDA)策略的理念。UDA能够通过标准接口来访问各种类型的数据。同于ODBC体系它也提供了一套标准API,不过OLEDBAPI是完全基于COM的,其特点是采用了多层模型。
(四)ADO
ADO是微软的数据访问组件的一部分,是基于OLEDB之上的面向对象的数据访问模型。ADO组件包含了所有的可以被OLEDB标准接口描述的数据类型,通过ADO的方法和属性可以为应用程序提供统一的数据访问方法和接口,同时ADO对象模型还具有可扩展性。
ADO的主要优点:易于使用、高速度、低内存支出和占用磁盘空间较小。
它同时具有远程数据服务的功能,可以在一次往返过程中实现将数据从服务器移动到客户端应用程序或Web页、在客户端对数据进行处理然后将更新结果返回服务器的操作.这几个特性使得ADO替代了DAO/RDO,成为新一代的访问数据库的接口标准.基于OLEDB之上的ADO更简单更高级,同时消除了OLEDB的多种弊端,ADORecordset存储,ADO的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的(DavidSceppa2003)。ADO对象模型定义了一组可编程的自动化对象,可用于VisualBasic、VisualC++、Java以及其它各种支持自动化特性的脚本语言。
三、比较
(一)ODBC与JDB比较
相同点:ODBC和JDBC技术都是以X/Open和ISO/IEC的调用级接口(CLI)规范为基础,并使用结构化查询语言(SQL)作为它们的数据库访问语言。区别:JDBC使用的是Java语言,而ODBC使用的是C语言,Java语言天然所具有的平台无关、移植性强、稳定安全、分布式、面向对象等众多优点使得JDBC应用程序可以自然地实现跨平台特性。
39