实时数据库技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 4. 实时数据库与时态数据库 • 与时态数据库相同之处是,实时数据库也涉及时间信息。但是,时态 数据库与实时数据库存在区别,主要表现在: • 时态数据库目的在于处理包含随时间变化的信息,维护数据库中对 象经历的历史变化;而实时数据库则更侧重考虑信息的“及时”性, 它的查询与事务处理都有与之相联系的定时限制,结果产生的时间与 结果本身一样重要。 时态数据库保存数据库对象随着时间变化的特征,但缺乏维护数据 有效性的机制,不显式考虑查询与事务有关的时间限制。在TDB中, 随时间变化而改变的数据的处理是保留“历史”,增加新的数据项, 可以查询某个过去时间曾经有效的数据。RTDB则提供维护数据有效 性和事务及时性的机制,一般只存取数据库当前“有效”的信息。事 务必须维护数据库对象的“时间一致性”,所以有时间限制与之联系。 时态数据库更多考虑“结构”,实时数据库则侧重考虑“行动”(控 制实时),有时“及时”性比正确性更重要。
• 但是,传统的数据库系统旨在处理永久、稳定的 数据,强调维护数据的完整性、一致性,其性能 目标是高的系统吞吐量和低的代价,并不考虑有 关数据及其处理的定时限制,所以,传统的数据 库管理系统(DBMS)不能满足这种实时应用的需要。 • 而传统的实时系统(RTS)虽然支持任务的定时限 制,但它针对的是结构与关系很简单、稳定不变 和可预报的数据,不涉及维护大量共享数据及它 们的完整性和一致性,尤其是时间一致性。 • 因此,只有将两者的概念、技术、方法与机制 “无缝集成”(Seamless Integration)的实时数据 库才能同时支持定时和一致性。
• 3. 可靠性 • 实时系统的可靠性主要是系统的正确性, 即系统所产生的结果不仅在值上是正确的, 而且在时间上也是正确的。
• 4. 结构复杂性 • 实时任务(事务)往往具有各种结构上的 相互联系,无结构的、原子和隔离的传统 事务模型不完全适用,而实时系统有时要 求嵌套或层次结构事务,有时要求分裂和 合并、通信与数据交换等,因此必须研究 适应实时系统要求的具有复杂结构的事务 模型。
4.2.4 实时数据库与其它高级数据库的联系
• 1. 实时数据库与内存数据库 • 为了实现实时系统中数据和事务的实时(及时)性,必须尽可能加快 实时数据库的响应和处理速度,同时实时数据库中的实时事务要求系 统能较准确地预报事务的运行时间。但对磁盘数据库而言,由于磁盘 存取、内外存的数据传递、缓冲区管理、排队等待及锁的延迟等使得 事务实际平均执行时间与估算的最坏情况执行时间相差很大,不能满 足部分实时系统的“及时性”要求。如果将整个数据库或其主要的 “工作”部分放入内存;使每个事务在执行过程中没有磁盘I/O,则为 系统较准确估算和安排事务的运行时间,使之具有较好的动态可预报 性提供了有力的支持,同时也为实现事务的定时限制打下了基础。 • 内存数据库的设计应该打破传统磁盘数据库的设计观念,考虑内存直 接快速存取的特点,以CPU和内存空间的高效利用为目标来重新设计 开发各种策略与算法、技术、方法及机制。也可以说,内存数据库是 在实际应用系统的实时性要求下而产生的。
4.2 实时数据库简介
4.2.1 实时数据库系统定义
• 实时数据库技术是实时系统和数据库技术相结合的产物。 概括地讲,实时数据库(Real Time Database,RTDB)就 是其数据和事务都有显式定时限制的数据库,系统的正确 性不仅依赖于事务的逻辑结果,而且依赖于该逻辑结果所 产生的时间。 • 但是,必须注意的是:实时数据库并非实时系统和数据库 技术在概念、结构和方法上的简单集成。它在概来自百度文库、理论、 技术、方法和机制方面具备自身特点。如:数据和数据库 的结构与组织;数据处理的优先级控制、调度和并发控制 协议与算法;数据和事务特性的语义及其与一致性、正确 性的关系;数据查询/事务处理算法与优化;I/O调度、恢 复和通信的协议与算法等,这些问题之间彼此高度相关。 需要针对不同的应用需求和应用特点,对实时数据模型、 实时事务调度与资源分配策略、实时数据查询语言、实时 数据通信等大量问题作深入的理论研究。
• 内部一致性 • dv满足预先定义的数据库内部状态的完整 性和一致性限制。这就是传统意义下的数 据正确性。 • 数据库的变更都是以事务的形式进行的, 因而事务操作的完整性校验和可串行化能 提供内部一致性保证。
• 外部一致性
• 外部一致性(又称为绝对一致性)是指实时数据库中的数据应与外部 数据(又称为环境数据)相一致,即要求数据库中的数据能及时地反映 外部环境的状态。 • 设tc为当前或检测时间,当且仅当(tc-dtp)≤devi,则说D是外部一致 的,即dv和对应的外部现实对象的状态是一样的。 • 数据的外部有效期dtp,可以通过足够的外部环境对应参数的取样来 获取。外部一致性与时间限制紧密相关,它难以用可串行化的处理技 术来实现,因为现有的确保可串行性的并发控制协议都是基于封锁或 还原/重起动(Rollback/Restart)的。封锁可能导致优先级颠倒(低优先 级的事务阻塞高优先级事务);而还原/重起动除浪费系统资源从而引 起事务超出时限外。实时系统有的事务根本不能还原/重启动,对于这 种反映外部环境不可逆事件的事务,不能封锁或还原,必要时只有先 牺牲内部一致性而确保外部一致性,然后再来恢复内部一致性。
• 2. 实时数据库与主动数据库
• 今后,实时数据库的应用可能越来越复杂, 为了满足各种复杂的应用要求,有必要使 实时数据库系统具备高度的动态性、自适 应性和智能行为。而主动数据库(ADB) 技术与实时数据库(RTDBS)的结合为 RTDBS的自适应性及智能性的实现创造了 合理的机制。主动数据库(ADB)技术现 在已经在实时数据库(RTDBS)领域广泛 应用。
• 2. 可预测性 • 实时系统的行为必须在一定的时间限度内,而这 个限度是可以从系统的定义获得的。这意味着系 统对来自于外部输入的反应必须全部是可预测的, 就算在最坏的条件下,系统也必须严格遵守时间 约束。因此,在出现过载时,系统必须要能以一 种可预测的方式来降低它的性能级别。这就要求 事先知道任务(事务)的最坏情况执行时间及所 需的数据与资源,并要求这种最坏情况的预测与 实际的的差别尽可能小。
第4章 实时数据库技术
4.1 实时应用的数据处理
• 随着计算机应用技术的发展,实时系统处理的数 据信息量越来越大,对数据处理的功能要求也越 来越高。这些应用有着与传统应用不同的特征, 主要表现在两个方面:一方面,要维护大量共享 数据和控制知识;另一方面,其应用活动(任务或 事务)有很强的时间性,要求在规定的时刻和(或) 一定的时间内完成其处理;所以,这种应用对数 据库和实时处理两者的功能及特性均有需求,既 需要数据库来支持大量数据的共享,维护其数据 的一致性,又需要实时处理来支持其任务(事务) 与数据的定时限制。
4.3.1 RTDB的数据特征
• RTDB中的一个数据对象D由3个分量组成(dv,dtp,devi), 它们分别为D的当前值、采样时间、外部有效期(外部现实 对象状态变化的时间间隔),外部有效期devi即自dtp算起 dv有效的时间长度。对于RTDB中的每一个数据对象D, 都有内部一致性、外部一致性和相互一致性特征。 • 由定义可以看到,实时数据具有时间特征。实时数据给外 部世界提供了一个真实和及时的表示,随着外部环境的变 化,反映外部环境状态的实时数据也随之变化.在实时数 据库中,实时数据的时标dtp必须足够地接近真实时间, 当前值dv只是在一定的时间devi内有效,在超过devi以前, 数据一定要被最新的外部数据更新。
4.2.2 实时系统的主要特性
• 实时应用系统主要特性包括及时性、可预 测性和可靠性等。
• 1. 及时性
• 实时系统所产生的结果在时间上有着严格的要求, 只有符合时间约束的结果才是正确的。在实时系 统中,每个任务都有一个截止期,截止期内完成 任务所得到的结果才是正确的结果。具体应用实 现时必须落实到实时任务(事务)的各项定时特 性:事务的松缓度、截止期的粒度和严格性(事 务软、硬性)、优先顺序限制、起点到终点的定 时限制、价值函数的形状(任务价值随时间的变 化情况)等。这些都是定义和处理实时事务以及 实现实时数据库系统的基本因素。
4.2.3 实时数据库与传统数据库
• 传统数据库的事务具有ACID (Atomaicity,Consistency,Isolation,Durability)特征,其 特点如下: • 1.强调一致性、可恢复性和永久性; • 2.事务无内部构造,是平坦的,彼此间无合作(交互作 用、通信); • 3.事务执行时没有可预测性,其执行时间不可预测; • 4.无“时间维”,更不显式地考虑时间。 • 在传统数据库中,事务的原子性和可串行化是普遍接受的 正确性和一致性标准。
• 实时数据库系统和传统数据库有着根本性的不同,实时事 务由以下特性确定:
• 1.可见性:事务执行时可以查看另一事务的操作结果的 能力; • 2.正确性:事务本身的正确性及提交事务所产生的数据 库状态一致性; • 3.可恢复性:发生故障时使数据库恢复到某种认为是正 确状态的能力; • 4.永久性:事务记录其结果到数据库及识别其中数据的 有效期的能力; • 5.可预报性:事先预测一个事务是否会满足其时限的能 力。 • 最根本的区别在于数据与事务的定时限制。
•
•
4.3 实时数据库的特征
• 一个典型的实时系统由三个紧密结合的子系统组 成:被控系统、执行控制系统、数据系统。被控 系统就是实际的应用过程,称为外部环境或物理 世界,执行控制系统监视被控系统的状态,协调 和控制它的活动,称为逻辑世界;数据系统有效 地存储、操纵与管理实时(准确和及时)信息,称 为内部世界;执行控制系统和数据系统统称为控 制系统。内部世界的状态是外部环境状态在控制 系统中的映像,执行控制系统通过内部世界状态 而感知外部环境状态,并在此基础上与被控系统 交互作用,所有这些都与时间紧密相联。
• 5. 分布规律性 • 实时任务(事务)通常是按一定周期执行的,但 也有非周期或随机的,还有一些是长寿(循环或 无终止事务)的。为了实现有效调度,必须事先 知道各种任务(事务)的类型及其到达的分布规 律。长寿事务和周期事务的实现比较容易,而非 周期和随机事务则很困难。处理时可以将一个非 周期事务的两次执行间的最小间隔时间视作其周 期,从而将其当作周期事务来调度;而对于随机 事务就只能由系统动态地进行处理。
• 3. 实时数据库与分布式数据库 • 随着Internet的迅速推广,实时系统应用范围和规模不断 扩大,也对实时数据库系统提出了分布式计算的要求,因 而有必要将分布式数据库技术运用于实时系统中。为了满 足对数据的实时和分布的要求,分布式实时数据库(DRTDB) 将具有执行期限的数据和事务分布在不同的结点上,由分 布式实时数据库管理系统来统一管理、调度执行。国内的 实时数据库产品与国外的产品相比,都有一定的差距,主 要体现在其事务处理层并没有实现完全的分布式事务处理, 与实时数据库的理论有一定的距离。实时数据库与内存数 据库、主动数据库、分布式数据库的有效集成才可以满足 现代数据库的需求。
• 6. 不可逆性 • 实时应用中有很多活动是不可逆的,如过 程控制的器件加工、物料投放等活动,记 录飞行体的位置、速度、方向的事务等, 它们都是不可逆的。还原或重启动对于不 可逆事务是毫无意义的,因此必须为实时 事务的恢复开发新的概念、技术和方法。
• 7. 替代性 • 当实时系统认定某个任务不能按时完成时, 可以调用其它活动进行替代或补偿,这称 为实时系统的应急计划,它可以提供虽非 最佳但可用的结果。如何确定应急计划以 及应急计划的选择评估及实施都是实时系 统应该考虑的部分。
• 相互一致性
• 相互一致性用来决策或导出新数据的一组相关数 据称为一个相互一致集,记为R,其中的数据必 须尽可能地在一个允许的公共时间期内被采取(或 导出),这个公共时间期就称为R的相互有效期, 记为Rmvi,对于R中的任两个数据D和D‘,有|dtp -dtp’|≤Rmvi(即两个数据的采样时间在公共时间 期间内),则说R中的数据是相互一致的。