您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 现代数据库-时态数据库
六、时态数据库及其管理系统分析演讲人:张国庆张富生鲍玲利6.1什么是时态数据库?时间数据库(Temporaldatabase),又称时间化数据库或时态数据库,是内建时间特性的数据库。时间数据库搭配使用时间资料模型,以及具有时间版本的结构化查询语言。6.2数据库起源与发展时态信息的需求与技术实际上一直伴随着数据库技术的发展而产生和发展。根据国内外最新研究动态和应用成果,将时态信息技术的起源与发展分为三个时期:开创期(1982年以前)、理论与模型探索阶段(1983年至1993年)、应用与发展阶段(1994年以来)。(1)开创期:时态特性是信息的客观存在,到70年代末,80年代初,数据库技术的日渐成熟和大容量高速存储设备的发展为时态据库技术的产生与应用创造了条件。加州大学洛杉矶分校J.Ben–Zvi和纽约大学的J.Clifford在1982年的博士论文提出的“用有效时间(validtime)表示被管理对象在库中生命周期,用事务时间(transactiontime)表示数据库”是时态数据库技术开创期的标志性成果。时态数据库是在1982年正式形成。(2)理论与模型探索阶段:1982年以后,TDB的研究开始走向繁荣时期。此后的十年中,计算机学术界对时态数据库给予了极大的关注,学术界提出了数以百计的时态数据库模型和时态信息处理方法。此阶段,国际上一些重要大学和研究机构涌现出一大批研究学者,形成了一批专门的时态数据库研究集体。(3)应用与发展:80年代中后期,由于计算机相关技术的迅速发展,特别是网络与多媒体技术等技术的发展。应用领域的许多新需求得以实现,时态信息的应用就是一个重要方面。主要应用领域包括:地理信息系统、农业信息系统,电信信息系统,电子商务,电子商务,智能决策支持系统,数据仓库与数据挖掘等,特别是时空(spatio-temporal)信息技术和多媒体信息技术的时态应用。6.3时态数据库与关系数据库的区别(1)采用关系模型建立起来的数据库叫做关系数据库。关系数据库是建立在集合代数基础上,应用数学方法来处理数据库中的数据。实时数据库是采用实时数据模型建立起来的数据库,用于处理不断更新的快速变化的数据及具有时间限制的事务处理。(2)关系数据库描述数据进入数据库时所反映现实世界当前状态。当这种状态发生改变时需要通过合适的更新(插入、删除和修改)再反映到数据库当中,这种更新通常发生后,原先的状态就“自然”消失。(3)时态数据库显式表示和管理与时间相关的数据。时态数据的形式特征是其由不显含时间的数据和相应的时间标签组成,而本质是需要将数据本身与特定的时间例如数据的生命周期等紧密结合,时间的处理和数据的管理相融相合,是数据与其相关时间的整合体时态数据库关系数据库并发处理速度1秒钟可处理1万至儿十万个读写请求1秒钟约可处理1000-3000个读写请求存储结构采用测点结构存储白定义表结构对象信息定义不支持支持对象关系描述描述通过数学模型进行计算描述通过主键和外键进行关系模型描述数据压缩采用压缩技术对数据压缩不压缩,存储全部数据存储策略通过采用一定的存储策略(如:多个存储设备轮换)确保可长期运行没有存储策略可确保数据库长期运行,必须人工干预6.4研究与应用现状目前,时态信息技术仍处于研究和发展阶段,现有时态数据库共性概念、研究方法及不足可以归纳如下。1、在现有的时态数据模型中,对时间数据的描述主要是依照J.BenZvi于1979—1982提出的时间点/时间区间模型、有效时间(validtime)和事务时间(transactiontime)以及双时态(Bi-temporal)等概念;时态数据演算主要是基于J.F.Allen于1984年提出的十三种时间区间演算(或其扩展)。主要不足是:时态数据运算体系不完备,时态关系演算还没有系统和有力的数学理论支持。2、时态数据模型多,但由于时态数据模型还不够成熟,还没有形成较完整的国际标准。各种模型都还存在一些不足。时态数据模型一般都是传统关系数据库的扩展,并将传统关系数据库作为特例。主要方法是在TDB中增加一些运算,AFTER、BEFORE和OVERLAP等;扩展一些操作,例如时态选择,时态投影、时态连接等。目前大部分时态数据查询语言是通过扩展当前的查询语言如SQL或者Quel,时态数据查询功能有限,效率比较低。3、目前时态数据库研究取得了相当的进展,但是大多研究局限在数据库的时态属性,而忽视了其他信息的时态属性。时态数据技术目前还停留在“数据”处理上,关于时态逻辑和推理方面的研究,主要优点是符号演算和推理能力强,但是信息处理能力弱,与时态数据库和时态信息处理研究相脱离。关于时态知识与逻辑方面主要包括时间区间逻辑运算的扩充等,没有涉及时态知识数据库模型。4、在应用方面,由于80年代数据库技术迅速发展,特别是90年代多媒体技术、网络技术等发展,时态信息的应用呈现出勃勃生机。但是,由于还没有成熟的时态模型和软件产品,大部分与时态相关的应用,只是借鉴当前一些时态数据模型,在实际实现中仍然只能采用传统的技术,其时态部分的解释是由应用程序而非数据库本身来进行。6.5时态数据库基本概念6.5.1三种基本时间(1)用户自定义时间(3)事务时间(2)有效时间用户自定义时间(User-definedTime)是指用户根据自己的需要或理解定义的时间。这种时间的属性值一般是时间点,用户本身会解释他所给出的时间信息,数据库系统不需要解释该数据的含义,只需将此时间域等同于其他一般的属性域来理解,对它的操作和对普通的字符串操作几乎没有什么差别。因此和传统数据库系统一样,时态数据库系统不对用户自定义时间进行任何特殊的处理,不需要专门的语言支持。用户自定义时间值是完全应用依赖的,由用户和系统以常规方式存取。有效时间(ValidTime)是指一个对象(事件)在现实世界中发生并保持的那段时间,或者该对象在现实世界中为真的时间。既可以反映过去和现在的时间,还可以反映将来的时间。有效时间的含义依赖于具体应用,取值是否有效视具体应用场合而定,对应于实际应用的需要或现实世界变化的历史,比如身份证,教师的职称等。和用户定义的时间不同,当查询语句被检测到有时态语义的时候,有效时间是由数据库系统解释的。而且有效时间可以被更新,有效时间的提供和更新也是由用户来完成的。事务时间(TransactionTime)又称为为系统时间是指一个数据库对象进行操作的时间,是一个事实存储在数据库中的时间,它记录着对数据库修改或更新的各种操作历史,对应于现有事务或现有数据库状态变迁的历史,因此事务时间的值由系统时钟给出,它独立于应用,用户不能修改事务时间,而且事务时间不能晚于现在时间,因为它反映着数据库实际操作的时间,不能指未来,而有效时间可以指未来。6.5.2两个时间维传统的关系数据库有两维,其一是属性维,其二是元组维,分别为横向维和纵向维。时态数据库在传统数据库的基础上增加了时间维概念,时间维指的是有效时间维和事务时间维。于是时态数据库就变成了四维结构姓名出生年月职称工资有效时间李小山196009讲师1000(199809,now)张又宝196411副教授1700(199803,now)1998-12-18姓名出生年月职称工资有效时间李小山196009讲师10001300(199809,199903)(199904,now)张又宝196411副教授1700(199803,now)1999-06-18姓名出生年月职称工资有效时间李小山196009讲师10001300(199809,199903)(199904,now)张又宝196411副教授教授17002100(199803,200003)(200004,now)2000-09-18姓名出生年月职称工资有效时间李小山196009讲师副教授100013001800(199809,199903)(199904,200103)(200104,now)张又宝196411副教授系主任17002100(199803,200003)(200004,now)2002-06-18事务时间有效时间从上表可以一下结论:a)如果一个元组是在数据库建立之前有效,那么它在数据库中的第一次事务时间,就是建立该数据库的时间,直至此时这个元组的有效性才被体现出来。当元组无效后,倘若数据库没有进行与事务时间相关的更新操作,元组真正的有效性也是体现不出来的。同样,该元组倘若要失效的话,必须要有新的事务时间才可能体现出来。b)没有事务时间,元组的有效性是没有办法体现的;没有有效时间,仅有事务时间,数据库的元组仅仅是一个个孤立的快照。c)有效时间和事务时间是互不相关的(Orthogonal)。这好比一个人的出生年月在他出生的时候就有效了,而且此时间永远有效。但是该数据何时进入数据库,何时从数据库中被删除,完全是由系统决定的,它和有效时间完全没有关系。d)在时态数据库中,更新数据的时候,旧的数据仍然存在,并且可以访问和修改。新的数据则用作当前值供用户访问。6.6时态数据库的分类分类基础是数据的时间维度1.快照数据库(SnapshotDatabase)2.回滚数据库(RollbackDatabase)3.历史数据库(HistoryDatabase)4.双时态数据库(BitemporalDatabase)6.6.1快照数据库快照数据库(SnapshotDatabase)是以在特定的时刻的瞬间快照来建立模型,来考虑现实世界,尽管现实世界是变化的,快照数据库只是反映了某一个瞬间的情况。快照数据库由静态的二维关系表组成,分别是属性维和元组维。数据库的状态变迁由事务实现的,一旦事务提交,其状态变迁就立即生效,原来的数据库状态也就完全被丢失和遗忘,相应的,现实世界的状态也一样被丢失和遗忘。因此快照数据库不能够进行与时间相关的任何工作,不能进行含有时间因素的推理,不能进行以往历史数据的查询。实际上是一种非时态数据库,它反映的是数据的当前状态,随着时间的推移,数据库状态在不断的改变,新状态将覆盖旧的状态。状态之间的转变是通过更新操作实现的,如insertinto、delete和update语句。之所以在这里将快照数据库介绍一下,是因为快照数据库也支持一种时间——用户定义时间。而且对快照数据库的研究,可以看到数据库对时变属性的支持变化情况。事务时间维有效时间维NowNow从时态数据库的观点来看,快照数据库不区分事务时间和有效时间。它采用这样的假定:一个存储在数据库中的元组,一定是真实世界中的有效事实6.6.2回滚数据库回滚数据库(RollbackDatabase)支持事务时间,它按事务时间进行编址,保存了过去每次事务提交,状态演变之前的状态,是数据库事务变化的时间轴。任何一个更新语句的执行将产生一个新的数据库状态。新状态不会覆盖旧的状态。因此没有数据会被物理删除。通过将一个元组的事务结束时间设为执行语句的当时时间,从而实现元组在语义上的“删除”。事务时间区间可以看成是该元组在快照数据库中存在的历史。事务时间维NowNow有效时间维IDNAMEBIRTHDAYSALARY100张三1974.1.13000IDNAMEBIRTHDAYSALARY100张三1974.1.15000IDNAMEBIRTHDAYSALARYTTSTTE100张三1974.1.130001998.11999.1100张三1974.1.150001999.1∞表1是在回滚数据库中张三的记录,而在不同历史时期的快照数据库中张三记录的情况分别如表2和表3;表2是1998.1-1999.1快照数据库中张三的记录;表3是1999.1之后,快照数据库中张三的记录,它覆盖了表2的记录回滚数据库不足之处也很为明显,主要表现如下:1)回滚数据库因为是按照事务时间编址,记录的是数据库状态变迁的历史,而不是现实世界变化的历史,现实世界中元组的属性在某个时间点(属性的有效时间)变化了,但是因为数据库在这个时间点没有执行事务,即数据库的事务时间没有改变,那么此时,元组的时变属性的改变在数据库中根本没有体现出来。2)过去元组的错误
本文标题:现代数据库-时态数据库
链接地址:https://www.777doc.com/doc-7589905 .html