时态数据库综述
2024-07-21 02:08:49
供稿:网友
时态数据库综述
摘要:本文是时态数据库的一个综述,概要的介绍时态数据库的产生背景,研究动向,然后介绍了时态数据库的分类和现有的比较典型的模型,最后介绍了时态管理和时态数据库设计方面的问题。
l 背景
传统的数据库技术能反映现实世界中的数据,但是它仅仅能体现现实世界中数据的当前状态,只反应了一个对象在某一个时刻的状态(快照),不联系其过去和未来。这就是人们常说得快照数据库(snapshot database)。现代的信息流包含事件的时态信息(temporal information), 其中有时刻信息(instant information), 时间区间信息(interval information)和相对时间信息(之前、之后、重叠)等等。
日益广泛的数据库应用要求了管理被处理事件的历史性信息,和系统中元事件的时态信息。需要迫切解决两个问题:一是要求管理被处理事件的历史性信息,如与人事、财务、金融和自然灾害等有关的历史资料,从中可看出事物发展的本质规律;二是要求管理数据库系统中元事件的时态信息,如增查,删改的时刻和时间区间、在多用户系统中对锁定排队及资源竞争协调的时标等,这些数据有助于提高数据库系统的可靠性和效率。因此引入时态数据库。
l 研究动向
在20世纪70年代初,许多人就开始探索在数据库和信息系统中处理时间信息。
80年代初期,时态数据库研究开始繁荣,在1982-1986年间,一共有80多篇关于时态数据库的论文。到了80年代中期,已经提出了近百种时态数据库的方案,经过十多年的发展和相互学习,逐渐合并为十多种公认的模型。
kahn ketal在1977年在《人工智能》杂志上的文章中研究了关于“时态知识”的问题。
j. ben zvi于1979—1982年对时态数据库作了开创性研究,他的博士论文(加州大学洛杉矶分校,1982) 总结了他的一系列工作。ben zvi 的贡献突出在下列几点∶
(1),他提出了时态数据库模型,引入了时间间隔 ( time period ),后来被学术界改称为时间区间。
(2),在1979—1982这个关系规范型研究的热点时期,ben zvi 突破思想禁区,提出并研究了非1nf 的tdb 。
(3) 以时间区间作字段值,刷新了人们认为数据库字段值只能是一个数或串的观念。
(4)引入了后来被称为双时态的概念,即用有效时间表示被管理对象在库中生命周期,用事务时间表示数据库本身的历史。
(5).引入了时态索引结构。
1982年j. clifford 在纽约大学完成了博士论文“a logical frame work for the temporal semantics and natural language querying of historical database ”及相关的一组文章,对历史数据库的开创性作了重要贡献。它注意到了被管理对象的生命周期 (lifespan), 研究了在关系、元组、字段值上加时态信息的技术细节,引入了历史关系模型,历史关系代数,研究了历史数据库中投影、选择、连接的特殊要求和特殊规律,研究了历史关系模型与传统关系模型的兼容性,即当把区间缩小为一点〔now, now〕时历史数据库即退化为传统快照数据库,且相应的时态代数运算退化为传统快照关系运算。
美国南加利福尼亚大学的s. ginsburg 教授原是形式语言,特别是上下文无关文法研究的先驱者。他于1983年提出对象历史模型(object history)。
l 时态数据库的分类
按spipada和snodgrass的意见,时态数据库按功能可分为三类∶
(1) 事务数据库。数据库本身被查删改的时间称为事务时间(transaction time),事务数据库支持事务时间,他按事务时间编址,保存了所有状态演变中过去的状态。事务的关系是一种三维结构,由元组,属性和事务时间三维构成。
(2) 历史数据库。被管理对象的生命周期称为有效时间(valid time),历史数据库和事务数据库类似,只是用有效时间代替了事务时间,代之以静态状态序列,而是用每个关系记录一个历史的状态。历史的关系也是一个三维结构,由元组,属性和有效时间构成。
(3)时态数据库,既能管理对象历史,又能管理数据库本身的历史,又叫双时态数据库。他具有前两者的优点,支持事务时间和有效时间。时态关系是一个四维结构,由元组,属性,事务时间和有效时间构成。
l dbms的时态信息四种处理方法
事件常常都伴有时态信息,传统的数据库只通过用户定义时间来记录时态信息,dbms没有管理事件时态信息的机制。下表列出了dbms处理时态信息的四种方式。
l 时态管理的问题
长期以来,在没有使用时态数据库的年代里,企业及机关管理历史性数据都是把多个快照(即在不同时刻保存的数据库的备份)放在一起,构成了历史。
(1).取多大的时间间隔保存快照? 如果间隔太大,则不足以保证数据的准确详实,如果间隔太小,则数据冗余多,占存贮空间大。
(2).传统关系数据库中,一个表的多个快照,不能简单地同时装入内存,不能简单地使用传统的选择、投影、连接运算进行操作和查询。因为同一元组同一属性下的值在不同快照中可能不同,必须作较复杂的、非通用的编程。
(3).传统数据库中,对数据库本身历史的维护支持不足,一般只有供恢复回退用的事务日志( transaction log ), 缺乏相应的事务查询命令(例如快速地查出谁对某一字段作了超过十次的修改)。
l 现有时态数据库模型
80年代中期,已经提出的近百种时态数据库的方案,经过十多年的发展和相互学习,逐渐合并为十多种公认的模型,其中有十三种被收入世界第一本关于时态数据库专著《temporal database—theory, design and implementation》。
(1). time relational model, 该模型是ben zvi 在1979--1982在博士论文中提出,是tdb领域的先驱性研究工作。它开创了对时态数据库、时态查询语言的研究。
(2). hrdm (historical relational data model ),j. clifford ,1982.
(3). tempsql, sharshi. k. gadia & sunil, s. nair, 1985.
(4). ixrm (interval-extended relational model ),nikos a. lorentzos,1987.
(5). trm 及tsql (temporal extensions to the relational model ) k. b. navathe,1987.
(6). hsql ( historical query language ),n. l. sarda 1987.
(7). tquel,r. snodgrass , 1985.
(8). trc (temporal relational calculus ),abdullah tansel ,1992
(9). teer, (temporal query language for enhanced entity relationship model ),r. elmasri , 1985.
(10). tdm (temporal data model based on time sequeuce),arie segev & arie shosham, 1988.
(11). oodaplex (object oriented aplex),u. dayal,1989.
(12). object history, s. ginsburg, tanaka, 唐常杰等, 1983。
(13). temporal deductive databases, marianne bandinet 等,1989。
上述13个tdb模型从不同的需求、观点出发,各自独立地建立了一套术语、概念、数学模型,并形成了一套各自独立的理论体系。
l 时态数据库在具体实现过程中的困难
(1)数据量大。时态数据库旨在管理历史数据,随着时间的流逝,新的数据源源不断的进入数据库,为了保证tdb在大数据量的时空效率,必须有高效的数据存储组织和时态索引机制。
(2)在实际应用的时态查询中,选择、投影和连接运算占了主要资源。对时态选择、时态投影和时态连接的优化成了tdb查询优化的技术焦点。
(3)在索引上,由于加入了时态效应,对传统的hash和b树、b+树都需要在时态上进行扩展才能满足tdbms的要求。
l 时态数据管理和人工智能
在人工智能领域,主要研究时态推理机制。这有两种类型:
(1)主要进行数据及其联系的解释 这种系统可用来支持包含了时间问题的自然语言理解。j.f.allen的“时区演算”就是代表。
(2)建立未来的活动的计划 这种系统可用在工厂调度资源的使用,称为“智能调度”,其问题是:在一定的时间限制内,制定能正确使用资源已解决给定调度问题的计划。
l 参考文献
《特种数据库技术》 何新贵,唐长杰 科学出版社2000
《时态数据库技术》 黄楠,刘爱琴 微机发展 2002年第1期