什么是异构数据库

什么是异构数据库,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

Foxpro数据和Asscess数据库是异构数据库吗

Access和SQL是异构数据库吗

它们之间又当如何转换呢

解析:

异构数据库系统是相关的多个数据库系统的 ,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面:

计算机体系结构的异构

各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。

基础 *** 作系统的异构

各个数据库系统的基础 *** 作系统可以是Unix、Windows NT、 Linux等。

DMBS本身的异构

可以是同为关系型数据库系统的Oracle、 SQL Server等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。

----异构数据库系统的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。其中关键的一点就是以局部数据库模式为基础,建立全局的数据模式或全局外视图。这种全局模式对于建立高级的决策支持系统尤为重要。

----大型机构在许多地点都有分支机构,每个子机构的数据库中都有着自己的信息数据,而决策制订人员一般只关心宏观的、为全局模式所描述的信息。建立在数据仓库技术基础上的异构数据库全局模式的描述是一种好的解决方案。数据仓库可以从异构数据库系统中的多个数据库中收集信息,并建立统一的全局模式,同时收集的数据还支持对历史数据的访问,用户通过数据仓库提供的统一的数据接口进行决策支持的查询。

数据库转换

----对于异构数据库系统,实现数据共享应当达到两点:一是实现数据库转换;二是实现数据的透明访问。由华中科技大学开发的,拥有自主版权的商品化数据库管理系统DM3系统,通过所提供的数据库转换工具和API接口实现了这两点。

----DM3提供了数据库转换工具,可以将一种数据库系统中定义的模型转化为另一种数据库中的模型,然后根据需要再装入数据,这时用户就可以利用自己熟悉的数据库系统和熟悉的查询语言,实现数据共享的目标。数据库转换工具首先进行类型转换,访问源数据库系统,将源数据库的数据定义模型转换为目标数据库的数据定义模型,然后进行数据重组,即将源数据库系统中的数据装入到目的数据库中。

----在转换的过程中,有时要想实现严格的等价转换是比较困难的。首先要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括:

命名冲突:即源模型中的标识符可能是目的模型中的保留字,这时就需要重新命名。

格式冲突:同一种数据类型可能有不同的表示方法和语义差异,这时需要定义两种模型之间的变换函数。

结构冲突:如果两种数据库系统之间的数据定义模型不同,如分别为关系模型和层次模型,那么需要重新定义实体属性和联系,以防止属性或联系信息的丢失。

----总之,在进行数据转换后,一方面源数据库模式中所有需要共享的信息都转换到目的数据库中,另一方面这种转换又不能包含冗余的关联信息。

----数据库转换工具可以实现不同数据库系统之间的数据模型转换,需要进一步研究的问题是:如果数据库转换同时进行数据定义模式转换和数据转换,就可能引起同一数据 在异构数据库系统中存在多个副本,因此需要引入新的访问控制机制。在保证各个参与数据库自治,维护其完整性、安全性的基础上,对于异构数据库系统提供全局的访问控制、并发机制和安全控制。

----如果数据库转换只进行数据定义转换,不产生数据的副本,那么在新的目的数据库定义模型的框架下访问数据,实现上仍是对源数据库系统中数据的访问。这时利用新的数据库系统中的数据处理语言实现的事务,不能直接访问源数据库,必须进行事务级的翻译才可以执行。

数据的透明访问

----在异构数据系统中实现了数据的透明访问,用户就可以将异构分布式数据库系统看成普通的分布式数据库系统,用自己熟悉的数据处理语言去访问数据库,如同访问一个数据库系统一样。但目前还没有一种广泛使用的数据定义模型和数据查询语言,实现数据的透明访问可以采用多对一转换、双向的中间件等技术。开放式数据库互连(Open DataBase Connectivity,简称ODBC)是一种用来在相关或不相关的数据库管理系统中存取数据的标准应用程序接口(API)。ODBC为应用程序提供了一套高层调用接口规范和基于动态链接库的运行支持环境。目前,常用的数据库应用开发的前端工具如Power Builder、 Delphi等都通过开放数据库互联(ODBC)接口来连接各种数据库系统。而多数数据库管理系统(如:Oracle、Sybase、SQL Server等)都提供了相应的ODBC驱动程序,使数据库系统具有很好的开放性。ODBC接口的最大优点是其互 *** 作能力,理想情况下,每个驱动程序和数据源应支持完全相同的ODBC函数调用和SQL语句,使得ODBC应用程序可以 *** 作所有的数据库系统。然而,实际上不同的数据库对SQL语法的支持程度各不相同,因此,ODBC规范定义了驱动程序的一致性级别,ODBC API的一致性确定了应用程序所能调用的ODBC函数种类,ODBC 20规定了三个级别的函数,目前 DM3 ODBC API支持 ODBC 20规范中第二级扩展的所有函数。

----随着Inter应用的不断普及,Inter的异构分布式信息系统正在迅速发展,Java以其平台无关性、移植性强,安全性高、稳定性好、分布式、面向对象等优点而成为Inter应用开发的首选语言。在Inter环境下,实现基于异种系统平台的数据库应用,必须提供一个独立于特定数据库管理系统的统一编程界面和一个基于 SQL的通用的数据库访问方法。Java与数据库接口规范JDBC(Java Database Connectivity)是支持基本SQL功能的一个通用的应用程序编程接口,它在不同的数据库功能模块的层次上提供了一个统一的用户界面,为对异构数据库进行直接的Web访问提供了新的解决方案。 JDBC已被越来越多的数据库厂商、连接厂商、Inter服务厂商及应用程序编制者所支持。

DBMS的五个重要的软件组成部分\x0d\①DBMS引擎\x0d\是DBMS中最重要的部分,它接受来自其他各个DBMS子系统的逻辑查询请求,并将逻辑查询请求转换成其对应的物理形式,实际上对数据库和数据字典的存取感觉上就如同对它们在存储设备上进行的存取。\x0d\②数据定义子系统\x0d\帮助人们在数据库中建立并维护数据字典,以及定义数据库的文件结构。\x0d\③数据 *** 作子系统\x0d\帮助用户增加、修改及删除数据库中的信息,并帮助用户在数据库中挖掘有价值的信息。\x0d\④应用程序生成子系统\x0d\包含了用以帮助用户建立面向事务处理的应用程序 。工具包括:建立数据输入屏幕功能,为特定的DBMS选定程序设计语言,并利用程序设计语言为每个独立的DBMS建立一个公共的 *** 作交互界面。\x0d\⑤数据管理子系统\x0d\通过自身提供的备份与恢复工具、安全管理工具、最优化查询工具、并发控制和更新管理工具,帮助人们管理整个数据库环境。

事务在当今的企业系统无处不在,即使在高并发环境下也可以提供数据的完整性。一个事务是一个只包含所有读/写 *** 作成功的集合。

一个事务本质上有四个特点ACID:

Atomicity原子性

Consistency一致性

Isolation隔离性

Durability耐久性

原子性

原子性任务是一个独立的 *** 作单元,是一种要么全部是,要么全部不是的原子单位性的 *** 作。

一致性

一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。

一致性有下面特点:

如果一个 *** 作触发辅助 *** 作(级联,触发器),这些也必须成功,否则交易失败。

如果系统是由多个节点组成,一致性规定所有的变化必须传播到所有节点(多主复制)。如果从站节点是异步更新,那么我们打破一致性规则,系统成为“最终一致性”。

一个事务是数据状态的切换,因此,如果事务是并发多个,系统也必须如同串行事务一样 *** 作。

在现实中,事务系统遭遇并发请求时,这种串行化是有成本的, Amdahl法则描述如下:它是描述序列串行执行和并发之间的关系。

“一个程序在并行计算情况下使用多个处理器所能提升的速度是由这个程序中串行执行部分的时间决定的。”

大多数数据库管理系统选择(默认情况下)是放宽一致性,以达到更好的并发性。

隔离性

事务是并发控制机制,他们交错使用时也能提供一致性。隔离让我们隐藏来自外部世界未提交的状态变化,一个失败的事务不应该破坏系统的状态。隔离是通过用悲观或乐观锁机制实现的。

耐久性

一个成功的事务将永久性地改变系统的状态,所以在它结束之前,所有导致状态的变化都记录在一个持久的事务日志中。如果我们的系统突然受到系统崩溃或断电,那么所有未完成已提交的事务可能会重演。

1 数据库的实施\x0d\\x0d\数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。它相当于软件工程中的代码编写和程序调试的阶段。\x0d\用具体的DBMS提供的数据定义语言(DDL),把数据库的逻辑结构设计和物理结构设计的结果转化为程序语句,然后经DBMS编译处理和运行后,实际的数据库便建立起来了。目前的很多DBMS系统除了提供传统的命令行方式外,还提供了数据库结构的图形化定义方式,极大地提高了工作的效率。\x0d\具体地说,建立数据库结构应包括以下几个方面:\x0d\l 数据库模式与子模式,以及数据库空间的描述。\x0d\l 数据完整性的描述。\x0d\l 数据安全性描述。\x0d\l 数据库物理存储参数的描述。\x0d\此时的数据库系统就如同刚竣工的大楼,内部空空如也。要真正发挥它的作用,还有必须装入各种实际的数据。\x0d\\x0d\2 数据库的试运行\x0d\\x0d\当有部分数据装入数据库以后,就可以进入数据库的试运行阶段,数据库的试运行也称为联合调试。数据库的试运行对于系统设计的性能检测和评价是十分重要的,因为某些DBMS参数的最佳值只有在试运行中才能确定。\x0d\由于在数据库设计阶段,设计者对数据库的评价多是在简化了的环境条件下进行的,因此设计结果未必是最佳的。在试运行阶段,除了对应用程序做进一步的测试之外,重点执行对数据库的各种 *** 作,实际测量系统的各种性能,检测是否达到设计要求。如果在数据库试运行时,所产生的实际结果不理想,则应回过头来修改物理结构,甚至修改逻辑结构。\x0d\\x0d\3 数据库的运行和维护\x0d\\x0d\数据库系统投入正式运行,意味着数据库的设计与开发阶段的基本结束,运行与维护阶段的开始。数据库的运行和维护是个长期的工作,是数据库设计工作的延续和提高。\x0d\在数据库运行阶段,完成对数据库的日常维护,工作人员需要掌握DBMS的存储、控制和数据恢复等基本 *** 作,而且要经常性地涉及物理数据库、甚至逻辑数据库的再设计,因此数据库的维护工作仍然需要具有丰富经验的专业技术人员(主要是数据库管理员)来完成。\x0d\数据库的运行和维护阶段的主要工作有:\x0d\l 对数据库性能的监测、分析和改善。\x0d\l 数据库的转储和恢复。\x0d\l 维持数据库的安全性和完整性。\x0d\l 数据库的重组和重构。

以上就是关于什么是异构数据库全部的内容,包括:什么是异构数据库、数据库管理系统 (DBMS) 的五个重要软件组成部分是什么、什么是数据库ACID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9540992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存