实时数据库技术漫谈

2021-10-12 06:47王晓东
客联 2021年8期
关键词:实时事务

王晓东

摘 要:实时应用有很强的时间性,所处理的数据也往往具有一定的时效性。实时数据库是实时系统和数据库技术相结合的产物,本文介绍了实时数据库的基本概念和特征,以及事务模型和数据库管理系统。

关键词:实时;实时数据库;事务

一、引言

传统的数据库系统不考虑有关数据及其处理的定时限制,无法满足实时应用的需要。传统的实时系统不涉及维护大量共享数据及其完整性和一致性,尤其是时间一致性。只有将两者的概念、技术、方法和机制有机结合形成的实时数据库,才能同时支持定时和一致性。在传统数据库中,事务的原子性和可串行化是普遍接受的正确性和一致性标准。实时数据库系统和传统数据库有着根本性的不同,其本质的区别在于数据与事务的定时限制,实时事务由可见性、正确性、可恢复性、永久性和可预报性等特性确定。

二、特征

实时数据库的特征主要体现在数据和事务的时间相关方面。在实时数据库中,数据随外部环境的变化而快速变化,其值只在一定的时间是有效的。因此系统除了维护数据库数据值的正确性和相容性之外,还必须同时维护数据值与外部环境实际状态的一致性,以及数据用来决策或者推导新数据时,在时间上的相互一致性。综上所述,实时数据库的数据特征主要有内部一致性、外部一致性、相互一致性、时间一致性和状态正确性。内部一致性是指当前数值满足预先定义的数据库内部状态的完整性和一致性限制,这就是传统意义上的数据正确性。外部一致性是指实时数据库中的数据应与外部数据相一致,即要求数据库中的数据能及时地反映外部环境的状态。相互一致性要求用来导出新数据的一组数据在时间上应尽量接近,外部一致性和相互一致性都是关于时间的,因此统称时间一致性。状态正确性要求既是内部一致又是时间一致的数据,才是正确的。

由于实时任务往往有内部结构和相互之间的联系,导致实时数据库事务表现出了许多与传统事务不同的特征,主要有定时性、语义相关性和实时事务正确性。定时性是实时数据库事务的根本特点,它包含定时限制和定时正确性两方面的含义。定时限制即事务的执行有显式的时限,要求实时数据库必须有时间处理机制。实时事务有不同的定时限制,其中最重要的是截止时间、到达时间和期望执行时间。定时正确性即事务能按指定的时间要求正确执行,它需要权衡定时限制与数据一致性要求等多方面因素,提供合适的调度和并发控制算法。

语义相关性是指实时数据库事务之间存在各种关系,包括结构关系、数据与通信关系和时间关系等等。虽然实時事务正确性与传统事务一样,也包括数据库状态正确性和事务执行正确性两个方面,但是其含义和内容有很大不同。数据库状态正确性包含内部一致和时间一致,事务执行正确性则包含其结果正确性、行为正确性、结构正确性和时间正确性。

三、实时事务

实时数据库与普通数据库的根本性区别在于数据和事务的定时限制,而数据的定时限制最终也要转化成事务的定时限制。实时事务的分类有许多标准,一般来说可按关键性、功能、时间和数据方式等进行分类。按关键性分类有硬实时事务、软实时事务和固实时事务,按功能分类有控制事务、数据接收事务和数据处理事务,按时间分类有周期事务、非周期事务和离散事务,按数据方式分类有只读事务、只写事务和更新事务。

与传统数据库事务不同,实时数据库事务还有以下几个主要特性。(!)功能替代性,功能替代导致事务执行路径的不确定性,但是增强了实时事务的健壮性。(2)结构复杂性,事务间以及事务内部可能存在着多种结构,例如嵌套、分层、合并、分裂和协同通信等等。(3)语义相关性,由于事务间存在着多种关系,使得事务间存在各种相关性,例如结构相关、数据相关、时间相关和行为相关等等。(4)结果补偿性,当实时事务夭折时,需要一种补偿活动来抵消它的影响。(5)执行依赖性,它是由实时事务的结构复杂性和语义相关性引起的。实时事务在执行时存在着各种依赖关系,一般分为开始依赖、提交依赖、夭折依赖、成功依赖和外部依赖等等。

四、数据库管理系统

实时数据库管理系统为了满足数据和事务定时限制要求,需要具有新的特性。其设计的基本原则是宁要部分正确而及时的信息,也不要绝对正确但过时的信息。实时数据库管理系统除了一般数据库管理系统的功能之外,还具有以下功能特性。(!)数据库状态的最新性,即尽可能保持数据库的状态为不断变化的现实世界当前最真实状态的映像。(2)数据值的时间一致性,即确保事务读取的数据是时间一致的。(3)事务处理的实时性,即确保事务的及时处理,使其定时限制尤其是执行的截止期得以满足。

描述实时数据库管理系统运作原理的执行模型包括以下几种。(!)任务/事务模型。传统的事务模型对实时数据库已不适用,需要具有内部构造和彼此相关性的复杂事务模型,即嵌套、合并/分裂、通信和合并事务模型等。实时数据库管理系统必须支持这种复杂事务,处理事务间的结构、行为和时间相关性。(2)资源模型。它确定系统资源的类型及其管理策略,包括分配、使用与回收策略。实时数据库管理系统必须采用基于优先级和考虑定时限制尤其是截止期的分配策略。(3)负载模型。它规定各种类型事务的到达(或在系统中生成)、执行期限以及频率的分布,包括周期、非周期和零星事务,以及软或硬事务及其延迟的代价计算等等。(4)调度模型。它确定事务的优先级分配策略、调度算法、互相冲突的解决(并发控制)策略及其机制,控制事务正确、有效地执行。实时数据库管理系统的调度模型还应有一定的可调度性预测能力,以及应急处理能力。(5)执行的正确性。实时数据库管理系统不但要确保事务执行结果(包括返回数据的状态及产生的数据库状态)的正确性,还要保证其执行在结构、行为和时间上的正确,即要正确实现事务间的结构、行为、时间相关性及执行依赖性。

五、结语

实时数据库需要采集大量实时系统的数据,进而经过处理形成实时数据库系统中的历史数据。实时数据库更为侧重信息的及时性,它的查询与事务处理都有与之相联系的定时限制,结果产生的时间与结果本身一样重要。事务必须维护数据库对象的时间一致性,所以有时间限制与之联系。实时数据库提供维护数据有效性和事务及时性的机制,一般只存取数据库当前有效的信息。

参考文献:

[1] 汤庸. 高级数据库技术与应用[M].北京:高等教育出版社, 2008.

猜你喜欢
实时事务
美国退役军人事务管理对我国的启示
针对基于B/S架构软件系统的性能测试研究
一种Web服务组合一致性验证方法研究
基层知识产权事务工作浅析
Hibernate框架持久化应用及原理探析
一种改进的混音算法的研究与实现
等公交,从“实时”开始
某高校班级量化考核系统的设计与实现
一种基于鼠标定位原理的单目视觉定位技术
SQL SERVER中的事务处理教学研究