共1条
1/1 1 跳转至页
实时数据库系统及其特征(老站转)
第四十期(10月18日): 产品与技术
半年版名: 产品与技术
半年栏目: 专题报道
出版日期: 19991018
实时数据库系统及其特征
刘云生 卢炎生 李国徽
数据库理论与技术的发展极其迅速,其应用日益广泛,在当今的信
息社会中,它几乎无所不在。以关系型为代表的三大经典(层次、网状
、关系)型数据库在传统的(商务和管理的事务型)应用领域获得了极
大成功,然而它们在现代的(非传统)工程和时间关键型应用面前却显
得软弱无力,面临着新的严峻的挑战,由此而导致了实时数据库(Real-
time Dat abase,RTDB)的产生和发展。
实时数据库的发展
数据库的应用正从传统领域向新的领域扩展,如CAD/CAM、CIMS;
数据通信、电话交换、电力调度等网络管理;电子银行事务、电子数
据交换与电子商务、证券与股票交易;交通控制、雷达跟踪、空中交
通管制;武器制导、实时仿真、作战指挥自动化或C3I系统,等等。这
些应用有着与传统应用不同的特征,一方面,要维护大量共享数据和控
制数据;另一方面,其应用活动(任务或事务)有很强的时间性,要求在
规定的时刻和(或)一定的时间内完成其处理;同时,所处理的数据也往
往是"短暂"的,即有一定的有效时间,过时则有新的数据产生,而当前
的决策或推导变成无效。所以,这种应用对数据库和实时处理两者的
功能及特性均有需求,既需要数据库来支持大量数据的共享,维护其数
据的一致性,又需要实时处理来支持其任务(事务)与数据的定时限制
。
但是,传统的数据库系统旨在处理永久、稳定的数据,强调维护数
据的完整性、一致性,其性能目标是高的系统吞吐量和低的代价,而根
本不考虑有关数据及其处理的定时限制,所以,传统的数据库管理系统
(DBMS)不能满足这种实时应用的需要。而传统的实时系统(RTS)虽然
支持任务的定时限制,但它针对的是结构与关系很简单、稳定不变和
可预报的数据,不涉及维护大量共享数据及它们的完整性和一致性,尤
其是时间一致性。因此,只有将两者的概念、技术、方法与机制"无缝
集成"(Seamless Integration)的实时数据库(RTDB)才能同时支持定
时和一致性。
因此,实时数据库就是其数据和事务都有显式定时限制的数据库,
系统的正确性不仅依赖于事务的逻辑结果,而且依赖于该逻辑结果所
产生的时间。近年来,RTDB已发展为现代数据库研究的主要方向之一,
受到了数据库界和实时系统界的极大关注。然而,RTDB并非是数据库
和实时系统两者的简单结合,它需要对一系列的概念、理论、技术、
方法和机制进行研究开发,如数据模型及其语言,数据库的结构与组织
;事务的模型与特性,尤其是截止时间及其软硬性;事务的优先级分派
、调度和并发控制协议与算法;数据和事务特性的语义及其与一致性
、正确性的关系,查询/事务处理算法与优化;I/O调度、恢复、通信的
协议与算法,等等,这些问题之间彼此高度相关。
实时数据库与时间
实时数据库系统在两方面与时间相关:
1. 数据与时间相关
按照与之相关的时间的性质不同又可分为两类:
数据本身就是时间 即从"时间域"中取值,如"日期",称为"用户定
义的时间",也就是用户自己知道,而系统并不知道它是时间,系统将毫
无区别地把它像其他数据一样处理。
数据的值随时间而变化 数据库中的数据是对其所服务的"现实世
界"中对象状态的描述,对象状态发生变化则引起数据库中相应数据值
的变化,因而与数据值变化相联的时间可以是现实对象状态的实际时
间,称为"真实"或"事件"时间(现实对象状态变化的事件发生时间),也
可以是将现实对象变化的状态记录到数据库,即数据库中相应数据值
变化的时间,称为"事务时间"(任何对数据库的操作都必须通过一个事
务进行)。实时数据的导出数据也是实时数据,与之相联的时间自然是
事务时间。
2. 实时事务有定时限制
典型的就是其"截止时间"。对于RTDB,其结果产生的时间与结果
本身一样重要,一般只允许事务存取"当前有效"的数据,事务必须维护
数据库中数据的"事件一致性"。另外, 外部环境(现实世界)的反应时
间要求也给事务施以定时限制。所以,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的事务特征
由于实时任务往往有内部结构和相互之间的联系,传统的"原子的
、平淡的数据库操作序列"的事务概念及模型对实时事务不适合。RTD
B事务表现出了许多不同的特征,这里只给出其标识性特征定时性,其
余的在后面的文章"实时数据库的事务处理"中讨论。
定时可以是绝对、相对或周期时间。RTDB的定时性一方面由数据
的时间一致性引起,此时它往往取周期或定期性限制的形式,如"每5秒
取样一次"、"7∶00启动机器人"等;定时性的另一根源是对现实世界
施加于系统的反应时间的要求,这时它典型地取施加于非周期事务的
截止时间限制的形式,如"若温度达到1000度,则在5秒内加冷却剂到反
应堆"。
定时性包含两方面的含义:
定时限制 即事务的执行有显式的时限,如指定的开始时间、截止
时间等,它要求RTD B必须有时间处理机制。
定时正确性 即事务能按指定的时间要求正确执行,它要求权衡定
时限制与数据一致性要求等多方面因素,提供合适的调度与并发控制
算法。
实时数据库的特征
如上所述,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的事务特征
由于实时任务往往有内部结构和相互之间的联系,传统的"原子的
、平淡的数据库操作序列"的事务概念及模型对实时事务不适合。RTD
B事务表现出了许多不同的特征,这里只给出其标识性特征定时性,其
余的在后面的文章"实时数据库的事务处理"中讨论。
定时可以是绝对、相对或周期时间。RTDB的定时性一方面由数据
的时间一致性引起,此时它往往取周期或定期性限制的形式,如"每5秒
取样一次"、"7∶00启动机器人"等;定时性的另一根源是对现实世界
施加于系统的反应时间的要求,这时它典型地取施加于非周期事务的
截止时间限制的形式,如"若温度达到1000度,则在5秒内加冷却剂到反
应堆"。
定时性包含两方面的含义:
定时限制 即事务的执行有显式的时限,如指定的开始时间、截止
时间等,它要求RTD B必须有时间处理机制。
定时正确性 即事务能按指定的时间要求正确执行,它要求权衡定
时限制与数据一致性要求等多方面因素,提供合适的调度与并发控制
算法。
实时数据库系统的主要技术
实时数据库系统与传统的数据库系统有着根本性的不同。要实现
一个实时数据库系统,除了一般数据库的问题外,还要研究一系列关键
理论与技术问题。主要有:
1. 实时数据模型及其语言
到目前为止,研究实时数据库的文献鲜有专门讨论数据建模问题
的,大多数文献,尤其是关于实时事务处理的都假定其具有有变化颗粒
的数据项的数据模型。但这种方法有局限性,因为它没有使用一般的
及时间的语义知识,而这对系统满足事务截止时间是很有用的。一般R
TDB都使用传统的数据模型,还没有引入时间维,而即使是引入了时间
维的"时态数据模型"与"时态查询语言"也没有提供事务定时限制的说
明机制。
系统应该给用户提供事务定时限制说明语句,其格式可以为:
<事务事件>IS<时间说明>
<事务事件>为事务的"开始"、"提交"、"夭折"等。<时间说明>指
定一个绝对、相对或周期时间。
2. 实时事务的模型与特性
前面已说过,传统的原子事务模型已不适用,必须使用复杂事务模
型,即嵌套、分裂/ 合并、合作、通信等事务模型。因此,实时事务的
结构复杂,事务之间有多种交互行动和同步,存在结构、数据、行为、
时间上的相关性以及在执行方面的依赖性,具体可参考后面"实时数据
库的事务处理"一文。
3. 实时事务的处理
RTDB中的事务有多种定时限制,其中最典型的是事务截止期,系统
必须能让截止期更早或更紧急的事务较早地执行,换句话说,就是能控
制事务的执行顺序,所以,又需要基于截止期和紧迫度来标明事务的优
先级,然后按优先级进行事务调度。
另一方面,对于RTDB事务,传统的可串行化并发控制过严,且也不
一定必要,它们"宁愿要部分正确而及时的数据,而不愿要绝对正确但
过时的数据",故应允许"放松的可串行化"或"暂缓可串行化"并发控制
,于是需要开发新的并发控制正确性的概念、标准和实现技术。
4. 数据存储与缓冲区管理
传统的磁盘数据库的操作是受I/O限制的,其I/O的时间延迟及其
不确定性对实时事务是难以接受的,因此,RTDB中数据存储的一个主要
问题就是如何消除这种延迟及其不确定性,这需要底层的"内存数据库
"支持,因而内存缓冲区的管理就显得更为重要。这里所说的内存缓冲
区除"内存数据库"外,还包括事务的执行代码及其工作数据等所需的
内存空间。此时的管理目标是高优先事务的执行不应因此而受阻,它
要解决以下问题:
(1) 如何保证事务执行时,只存取"内存数据库",即其所需数据均
在内存(因而它本身没有I/O)。
(2) 如何给事务及时分配所需缓冲区。
(3) 必要时,如何让高优先级事务抢占低优先级事务的缓冲区。
因此,传统的管理策略也不适用,必须开发新的基于优先级的算法。
5. 恢复
在RTDB中,恢复显得更为复杂。这是因为:
(1) 恢复过程影响处于活跃状态的事务,使有的事务超截止期,这
对硬实时事务是不能接受的。
(2) RTDB中的数据不一定总是永久的,为了保证实时限制的满足,
也不一定是一致和绝对正确的,而有的是短暂的,有的是暂时不一致或
非绝对正(准)确的。
(3) 有的事务是"不可逆"的,所以,传统的还原/重启动是无意义
的,可能要用"补偿" 、"替代"事务。
因此,必须开发新的恢复技术与机制,应考虑到时间与资源两者的
可用性,以确定最佳恢复时机与策略,而不致太伤害事务实时性的满足
。
实时数据库应用与研究
RTDB无缝地集成了数据库与定时性,在对数据库能力和实时处理
技术两者均有要求的各种领域有着极其广泛的应用前景,对多种工程
或过程及时间关键型应用更是必要而迫切的,为国家的现代化尤其是
国防现代化建设及国民经济的发展提供有力的、必不可少的支持,在
信息技术、信息高速公路及信息产业的建设中必将起到重大作用。
国外对RTDB的研究非常关注,尤其是美国、英国、德国、瑞典等
国起步较早,现已有许多成功的实验系统,有的甚至已商品化,典型的
有HiPAC、Zip-RTDBMS等系统。国内的研究起步稍晚,基本上是在80年
代末、90年代初才开始,但发展很快,目前已有成功的实验系统,但尚
未形成正式产品,其主要原因是国内缺乏合适的实时操作系统,这已成
为RTDB发展的重要障碍,希望能引起有关方面的重视。
关键词: 实时 数据库 系统 及其 特征 老站转 技术 应用
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |