实时数据库系统及其特征目录概述实时数据库的发展实时数据库与时间实时数据库的特征实时系统的主要特性实时数据库与其它高级数据库的联系实时数据库系统的主要技术实时数据库应用与研究概述数据库理论与技术的发展极其迅速,其应用日益广泛,在当今的信息社会中,它几乎无所不在。以关系型为代表的三大经典(层次、网状、关系)型数据库在传统的(商务和管理的事务型)应用领域获得了极大成功,然而它们在现代的(非传统)工程和时间关键型应用面前却显得软弱无力,面临着新的严峻的挑战,由此而导致了实时数据库(RealtimeDatabase,RTDB)的产生和发展。实时数据库的发展数据库的应用正从传统领域向新的领域扩展,如CAD/CAM、CIMS;数据通信、电话交换、电力调度等网络管理;电子银行事务、电子数据交换与电子商务;交通控制、雷达跟踪、空中交通管制;武器制导、实时仿真、作战指挥自动化或C3I系统,等等。这些应用有着与传统应用不同的特征,一方面,要维护大量共享数据和控制数据;实时数据库的发展另一方面,其应用活动(任务或事务)有很强的时间性,要求在规定的时刻和(或)一定的时间内完成其处理;同时,所处理的数据也往往是“短暂”的,即有一定的有效时间,过时则有新的数据产生,而当前的决策或推导变成无效。所以,这种应用对数据库和实时处理两者的功能及特性均有需求,既需要数据库来支持大量数据的共享,维护其数据的一致性,又需要实时处理来支持其任务(事务)与数据的定时限制。实时数据库的发展但是,传统的数据库系统旨在处理永久、稳定的数据,强调维护数据的完整性、一致性,其性能目标是高的系统吞吐量和低的代价,而根本不考虑有关数据及其处理的定时限制,所以,传统的数据库管理系统(DBMS)不能满足这种实时应用的需要。而传统的实时系统(RTS)虽然支持任务的定时限制,但它针对的是结构与关系很简单、稳定不变和可预报的数据,不涉及维护大量共享数据及它们的完整性和一致性,尤其是时间一致性。因此,只有将两者的概念、技术、方法与机制无缝集成(SeamlessIntegration)的实时数据库(RTDB)才能同时支持定时和一致性。实时数据库的发展实时数据库定义:是其数据和事务都有显式定时限制的数据库,系统的正确性不仅依赖于事务的逻辑结果,而且依赖于该逻辑结果所产生的时间。注意:RTDB并非是数据库和实时系统两者的简单结合,它需要对一系列的概念、理论、技术、方法和机制进行研究开发。实时数据库与时间1.数据与时间相关按照与之相关的时间的性质不同又可分为两类:数据本身就是时间即从时间域中取值,如日期,称为用户定义的时间,也就是用户自己知道,而系统并不知道它是时间,系统将毫无区别地把它像其他数据一样处理。实时数据库与时间数据的值随时间而变化数据库中的数据是对其所服务的现实世界中对象状态的描述,对象状态发生变化则引起数据库中相应数据值的变化,因而与数据值变化相联的时间可以是现实对象状态的实际时间,称为真实或事件时间,即数据库中相应数据值变化的时间,称为事务时间。2.实时事务有定时限制典型的就是其截止时间。对于RTDB,其结果产生的时间与结果本身一样重要,一般只允许事务存取当前有效的数据,事务必须维护数据库中数据的事件一致性。实时数据库的特征如上所述,RTDB的特征主要表现在数据和事务的定时限制上,下面分别介绍:1.RTDB的数据特征:在RTDB中,数据随外部环境状态的变化而快速变化,其值只在一定的时间内是流行的,过时则无效了,故系统除了维护数据库内部状态(数据值)的正确性、相容性外,还必须同时维护内部状态与外部环境实际状态的一致性,以及数据用来决策或推导新数据时在时间上的相互一致性。RTDB中的一个数据对象d由三个分量组成(dv,dtp,devi),它们分别为d的当前值、采样时间、外部有效期(外部现实对象状态变化的时间间隔),有效期即自dtp算起dv有效的时间长度。对于RTDB中的每一d,有内部一致性、外部一致性和相互一致性特征。实时数据库的特征内部一致性dv满足预先定义的数据库内部状态的完整性和一致性限制。这就是传统意义下的数据正确性。外部一致性设tc为当前或检测时间,当且仅当(tc-dtp)≤devi,则说d是外部一致的,即dv和对应的外部现实对象的状态是一样的。相互一致性用来决策或导出新数据的一组相关数据称为一个相互一致集,记为R,其中的数据必须尽可能地在一个允许的公共时间期内被采取(或导出),这个公共时间期就称为R的相互有效期,记为Rmvi,对于R中的任两个数据d和d′,有|dtp-d′tp|≤Rmvi,则说R中的数据是相互一致的。外部一致性和相互一致性都是关于时间的,故统称时间一致性。既是内部一致又是时间一致的数据才是正确的。实时数据库的特征2.RTDB的事务特征由于实时任务往往有内部结构和相互之间的联系,有较强的定时性。定时性包含两方面的含义:定时限制即事务的执行有显式的时限,如指定的开始时间、截止时间等,它要求RTDB必须有时间处理机制。定时正确性即事务能按指定的时间要求正确执行,它要求权衡定时限制与数据一致性要求等多方面因素,提供合适的调度与并发控制算法。实时系统的主要特性实时应用系统主要特性包括及时性、可预测性和可靠性等。实时系统的主要特性及时性实时系统所产生的结果在时间上有着严格的要求,只有符合时间约束的结果才是正确的。在实时系统中,每个任务都有一个截止期,截止期内完成任务所得到的结果才是正确的结果。具体应用实现时必须落实到实时任务(事务)的各项定时特性:事务的松缓度、截止期的粒度和严格性(事务软、硬性)、优先顺序限制、起点到终点的定时限制、价值函数的形状(任务价值随时间的变化情况)等。这些都是定义和处理实时事务以及实现实时数据库系统的基本因素。实时系统的主要特性可预测性实时系统的行为必须在一定的时间限度内,而这个限度是可以从系统的定义获得的。这意味着系统对来自于外部输入的反应必须全部是可预测的,就算在最坏的条件下,系统也必须严格遵守时间约束。因此,在出现过载时,系统必须要能以一种可预测的方式来降低它的性能级别。这就要求事先知道任务(事务)的最坏情况执行时间及所需的数据与资源,并要求这种最坏情况的预测与实际的的差别尽可能小。实时系统的主要特性可靠性实时系统的可靠性主要是系统的正确性,即系统所产生的结果不仅在值上是正确的,而且在时间上也是正确的。实时系统的主要特性分布规律性实时任务(事务)通常是按一定周期执行的,但也有非周期或随机的,还有一些是长寿(循环或无终止事务)的。为了实现有效调度,必须事先知道各种任务(事务)的类型及其到达的分布规律。长寿事务和周期事务的实现比较容易,而非周期和随机事务则很困难。处理时可以将一个非周期事务的两次执行间的最小间隔时间视作其周期,从而将其当作周期事务来调度;而对于随机事务就只能由系统动态地进行处理。实时系统的主要特性不可逆性实时应用中有很多活动是不可逆的,如过程控制的器件加工、物料投放等活动,记录飞行体的位置、速度、方向的事务等,它们都是不可逆的。还原或重启动对于不可逆事务是毫无意义的,因此必须为实时事务的恢复开发新的概念、技术和方法。实时系统的主要特性替代性当实时系统认定某个任务不能按时完成时,可以调用其它活动进行替代或补偿,这称为实时系统的应急计划,它可以提供虽非最佳但可用的结果。如何确定应急计划以及应急计划的选择评估及实施都是实时系统应该考虑的部分。与其它高级数据库的联系实时数据库与内存数据库为了实现实时系统中数据和事务的实时(及时)性,必须尽可能加快实时数据库的响应和处理速度,同时实时数据库中的实时事务要求系统能较准确地预报事务的运行时间。但对磁盘数据库而言,由于磁盘存取、内外存的数据传递、缓冲区管理、排队等待及锁的延迟等使得事务实际平均执行时间与估算的最坏情况执行时间相差很大,不能满足部分实时系统的“及时性”要求。如果将整个数据库或其主要的“工作”部分放入内存;使每个事务在执行过程中没有磁盘I/O,则为系统较准确估算和安排事务的运行时间,使之具有较好的动态可预报性提供了有力的支持,同时也为实现事务的定时限制打下了基础。与其它高级数据库的联系实时数据库与主动数据库今后,实时数据库的应用可能越来越复杂,为了满足各种复杂的应用要求,有必要使实时数据库系统具备高度的动态性、自适应性和智能行为。而主动数据库(ADB)技术与实时数据库(RTDBS)的结合为RTDBS的自适应性及智能性的实现创造了合理的机制。主动数据库(ADB)技术现在已经在实时数据库(RTDBS)领域广泛应用。与其它高级数据库的联系实时数据库与分布式数据库随着Internet的迅速推广,实时系统应用范围和规模不断扩大,也对实时数据库系统提出了分布式计算的要求,因而有必要将分布式数据库技术运用于实时系统中。为了满足对数据的实时和分布的要求,分布式实时数据库(DRTDB)将具有执行期限的数据和事务分布在不同的结点上,由分布式实时数据库管理系统来统一管理、调度执行。国内的实时数据库产品与国外的产品相比,都有一定的差距,主要体现在其事务处理层并没有实现完全的分布式事务处理,与实时数据库的理论有一定的距离。实时数据库与内存数据库、主动数据库、分布式数据库的有效集成才可以满足现代数据库的需求。与其它高级数据库的联系实时数据库与时态数据库与时态数据库相同之处是,实时数据库也涉及时间信息。但是,时态数据库与实时数据库存在区别,主要表现在:时态数据库目的在于处理包含随时间变化的信息,维护数据库中对象经历的历史变化;而实时数据库则更侧重考虑信息的“及时”性,它的查询与事务处理都有与之相联系的定时限制,结果产生的时间与结果本身一样重要。时态数据库保存数据库对象随着时间变化的特征,但缺乏维护数据有效性的机制,不显式考虑查询与事务有关的时间限制。在TDB中,随时间变化而改变的数据的处理是保留“历史”,增加新的数据项,可以查询某个过去时间曾经有效的数据。RTDB则提供维护数据有效性和事务及时性的机制,一般只存取数据库当前“有效”的信息。事务必须维护数据库对象的“时间一致性”,所以有时间限制与之联系。实时数据库系统的主要技术实时数据库系统与传统的数据库系统有着根本性的不同。实现一个实时数据库系统,除了一般数据库的问题外,还要注意以下:1.实时数据模型及其语言一般RTDB都使用传统的数据模型,还没有引入时间维,而即使是引入了时间维的时态数据模型与时态查询语言也没有提供事务定时限制的说明机制。实时数据库系统的主要技术2.实时事务的模型与特性实时事务的结构复杂,事务之间有多种交互行动和同步,存在结构、数据、行为、时间上的相关性以及在执行方面的依赖性。3.实时事务的处理RTDB中的事务有多种定时限制,其中最典型的是事务截止期,系统必须能让截止期更早或更紧急的事务较早地执行,又需要基于截止期和紧迫度来标明事务的优先级,然后按优先级进行事务调度。实时数据库系统的主要技术4.数据存储与缓冲区管理传统的磁盘数据库的操作是受I/O限制的,其I/O的时间延迟及其不确定性对实时事务是难以接受的。因此,RTDB中数据存储的一个主要问题就是如何消除这种延迟及其不确定性,这需要底层的内存数据库支持,因而内存缓冲区的管理就显得更为重要。实时数据库系统的主要技术5.恢复在RTDB中,恢复显得更为复杂。这是因为:(1)恢复过程影响处于活跃状态的事务,使有的事务超截止期,这对硬实时事务是不能接受的。(2)RTDB中的数据不一定总是永久的,为了保证实时限制的满足,也不一定是一致和绝对正确的,而有的是短暂的,有的是暂时不一致或非绝对正(准)确的。(3)有的事务是不可逆的,所以,传统的还原/重启动是无意义的,可能要用S补偿、替代事务。实时数据库应用与研究实时数据库应用与研究RTDB无缝地集成了数据库与定时性,在对数据库能力和实时处理技术两者均有要求的各种领域有着极其广泛的应用前景,对多种工程或过程及时间关键型应用更是必要而迫