软件水平考试程序员高薪算法+计算机职称考试

系统分析师异种数据库集成的主要技术有哪些?

2019-02-18  本文已影响5人  喵的小可爱呀

    CIMS是一个综合的计算机应用系统,由多个不同的功能系统组成,如ERP、PDMS等,这些系统因数据对象的不同有可能使用了不同的数据库系统。另外,企业实施CIMS工程一般都要经历几个发展阶段,由于技术或市场等原因,在不同时期配置的数据库系统可能会不一样。这样,在一个企业的CIMS中,难免会包含几种不同的数据库系统。这里所说的不同,可能是基于不同数据模型的DBMS,如关系型的或对象型的。也可能虽然都是关系型的,但不同商家的产品其SQLAPI不尽相同。这些就是CIMS中面临的异种数据库的集成问题。异种数据库集成的主要技术有以下几种

    1)数据的迁移和转换

    利用数据转换程序,对数据格式进行转换,从而能被其它的系统接收。这种方法处理简单,已为大多数用户理解和接受。许多数据库管理系统DBMS都自带有一些数据转换程序,也为用户提供了方便。但这种方式当数据更新时会带来不同步的问题,即使人工定时运行转换程序也只能达到短期同步,这对于数据更新频繁而实时性要求很高的场合是不太适用。

    2)使用中间件

    中间件(middleware)是位于Client与Server之间的中介接口软件,是异构系统集成所需的粘接剂。现有的数据库中间件允许Client在异构数据库上调用SQL服务,解决异构数据库的互操作性问题。功能完善的数据库中间件,可以对用户屏蔽数据的分布地点、DBMS平台、SQL方言/扩展、特殊的本地API等等差异。

    使用中间件的异种数据库集成有以下几种方法

    (1)通用SQLAPI即在Client端的所有应用程序都采用通用的SQLAPI访问数据库,而由不同的DBMSServer提供不同的数据库驱动程序,解决连接问题。通用的SQLAPI又可分为嵌入式SQL(ESQL——EmbeddedSQL)和调用级SQL(CLI——CallLayerInterface)。ESQL是将SQL嵌入到C、Pascal、COBOL等程序设计语言中,通过预编译程序进行处理,因而SQL的所有功能及其非过程性的特点得到继承。CLI则采用一个可调用的SQLAPI作为数据存取接口,它不需要预编译过程,允许在运行时产生并执行SQL语句。由于CLI更为灵活,现在应用较广,如Microsoft的ODBC、IBM的DRDA、Borland的IDAPI、Sybase的OpenClient/OpenServer等等。

    (2)通用网关网关(gateway)是当前流行的中间件方案。在Client端有一个公共的客户机驱动程序(GatewayDriver);在Server端有一个网关接受程序,它捕获进来的格式和规程(FormatandProtocol,FAP)信息,然后进行转换,送至本地的SQL接口。

    (3)通用协议通用协议是指公共的FAP和公共的API,并且有一个单一的数据库管理接口。公共FAP支持适用于所有的SQL方言的超级设置或容忍全部本地SQL方言通过。

    (4)基于组件技术的一致数据访问接口例如,Microsoft推出的UDA(UniversalDataAccess)技术,分别提供了底层的系统级编程接口和高层的应用级编程接口。前者定义了一组COM(组件对象模型)接口,建立了抽象数据源的概念,封装了对关系型及非关系型各种数据源的访问操作,为数据的使用方和提供方建立了标准;后者是建立在前者基础上的,它提供了一组可编程的自动化对象,更适合于各种客户机/服务器应用系统,尤其适用于在一些脚本语言中访问各种数据源。

    3)多数据库系统

    在CIMS环境下,从系统和规模上来解决异种数据库集成的方法为多数据库系统。所谓多数据库系统就是一种能够接受和容纳多个异构数据库的系统,对外呈现出一种集成结构,而对内又允许各个异构数据库的“自治性”。

    这种多数据库系统和分布式数据库系统有所不同。多数据库系统不存在一个统一的数据库管理系统软件,而分布式数据库系统是在一个统一的数据库管理系统软件的管理与控制之下运行的。多数据库系统主要采用自下而上的数据集成方法,因为异构情况在前而集成要求在后,而分布式数据库系统主要采用自上而下的数据集成方法,全局数据库是各个子库的并集。多数据库系统主要解决异种数据库集成问题,可以保护原有的数据资源,使各局部数据库享有高度“自治性”,而分布式数据库系统是在数据的统一规划下,着重解决数据的合理分布和对用户透明的问题。当然,两者之间在技术上有很多交叉,可以互相借鉴。多数据库系统一般分为两类

    (1)有全局统一模式的多数据库系统。多个异构数据库集成时有一个全局统一的概念模式,它是通过映射各异构的局部数据库的概念模式而得到。

    (2)联邦式数据库系统。各个异构的局部数据库之间仅存在着松散的联邦式耦合关系,没有全局统一模式,各局部库通过定义输入、输出模式进行彼此之间的数据访问。到目前为止,没有商品化的多数据库系统,在CIMS环境中实施有一定难度。

软考交流分享点击这里

上一篇 下一篇

猜你喜欢

热点阅读