• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 休闲生活 > 正文

    时态数据库管理系统的研究与实现技术

    时间:2021-04-09 07:58:53 来源:达达文档网 本文已影响 达达文档网手机站

    摘要:该文主要阐述了时态数据库在发展过程中所形成的较一般的,为广大在数据库领域研究的专家、学者所认同的,并在进一步发展的模型、技术和遇到的困难。研究了带时态索引的数据查询、时态数据定义、查询优化方法等技术。

    关键词:时态数据库模型;时态查询;时态索引

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)31-7402-02

    在计算机的众多应用中,数据库的应用无疑是今计算机发展最快的应用之一,人们在实际的应用中越来越感受到目前的主流数据库技术不能更好的、更准确的反映客观现实世界。

    客观现实世界的事物是四维的,每个事物都有其空间维和时间维。目前的主流数据库只是存储、管理、查询大量的海量数据,对于带有时间特征的数据还没有直接的方法进行管理。带有时间特征的数据库管理系统还没有像关系数据库那样成熟的产品。

    目前时态数据库技术尚未完全成熟,数据库管理系统的研发商也不会鉴定的把时态处理功能加入现有的数据库管理系统中。因此,现在较可行的一个实现办法,就是依靠成熟的关系数据库管理系统数据库,再结合时态数据库的中间件进行时态数据库管理系统的管理。

    1 时态数据库

    1.1 时态数据库

    时态数据库(Temporal Database),简称TDB,是具有时间维的数据库管理系统,不仅能刻画某个时刻的数据,还能反映数据的历史和未来。

    传统的关系数据库是{属性}×{元组}的二维结构。不能反映被管理对象的历史。如果以年为时间粒度,则构成一个在时间维上的三维数据库。在传统的数据库中一般采用取时间间隔保存快照的方法。

    1.2 时态数据库模型的现状

    近三十年以来,欧洲、美国等国的学者在时态数据库方面作了大量的探索和研究,共提出了十三种TDB的研究模型。这十三种时态数据库的模型基于不同角度、不同的需求,分别、独立地建立了各自独立的理论体系,形成了自己独特一套概念、术语和数学模型。

    其中比较有代表性的时态数据模型有:历史关系数据库模型、TempSQL模型、双时态数据模型。

    2 时态数据库管理系统的实现技术

    基于现在的研究现状,为了实现对时态数据的管理,人们往往利用现有的关系数据库,对数据流和控制流进行时态扩充。

    时态数据定义语言是传统数据定义语言的时态扩展。比如,要建立一个学生的关系结构,执行“Create Table student”,系统将按传统数据定义建立关系结构,同时增加事务时间和有效时间存储结构,经过时态数据定义的编译,存放在数据字典中。

    时态操纵语言是在传统数据操作语言上加上了时态扩展。用户在作带时态增、删、改时,系统根据时态关键字(如Overlap,When,Valid,After,Before等)作时态分析。当没有时态关键字的数据,系统按照默认的时态语义(Now)进行处理。这样传统的数据加上时态表达式求出的时间区间,就实现了时态数据库系统的管理模式。

    时态查询语言也是传统查询语言SQL的时态扩展,其查询过程和传统的SQL语言相似。首先,查询处理器对用户语句作词法分析、语法分析,然后送给时态事务处理模块,将查询分解成一系列单独执行的时态事务,送到事务调度队列等候执行。

    2.1 时态索引技术

    为了加快时态数据库存取速度,研究者从不同的角度为不同的时态数据模型提出了各种各样的时态索引技术,表1列出了部分时态索引技术。时态索引技术基本上是对传统的B+树和R树的时态扩展。

    2.2 时态查询语言

    现有的时态数据模型大多是基于关系的,故大多数时态查询语言也是基于关系查询语言,尤其是SQL的扩展。

    应该如何结合时间到SQL那样的语言,一般认为现有SQL数据模型已很接近具有时态应用所要求的支持,必要的另外支持主要是代数操作和语言的句法。这种观点的一个具体实现是IXSQL,它的数据模型与SQL的一样,但扩展了一种“一般时区”数据型DATEINTERVAL。其语言的代数操作不变地保留了传统的关系代数操作,但增加了两个新的操作:FOLD和UNFOLD。FOLD应用于一个时态关系,将所有其他属性的值相等、DATE型或DATEINTERVAL型属性的值可以合并(即构成单个DATEINTERVAL)的元组“叠合”成一单个元组,该元组的其他属性值不变,而那个(些)DATE或DATEINTERVAL型属性的值为各元组的该属性值的合并。UNFOLD为FOLD的逆操作。按SQL句法,可定义关于时区的新的谓词,因而还增加两个子句:REFORMAT和NORMALISE,以支持FOLD和UNFOLD。

    2.3 时态查询处理的查询优化

    在传统数据库应用中,查询涉及的谓词一般是等值连接、自然连接等,称之为等相性谓词,如果查询中包含了不等性谓词,就很难与其它谓词进行组合。而在时态查询中,具有几个不等性谓词合取的连接会经常出现,所以故其查询优化的复杂度就更高。

    正是由于其查询的复杂度提高,其查询优化的可能性也就更大。时间是按一个正方向发展的,事务时间域就连续地伸展,那么最近的时间点就是该域中的最大值,这在查询优化和评价期都是可以加以利用的。同时时态查询优化还可以利用面向时间的完整性限制,如,Begin(t)<End(t)对每一元组t都成立这样一种判断等。

    单个查询可以通过代换代数表达式以等价的更高效的表达式、改变与特定操作相联的存取方法、对操作采用专门的实现等技术来优化。第一种要求以一组“重说明”形式的“等价”的定义,在许多语言的代数中都标明了这种重说明,有的时态代数支持按标准关系代数定义的这种重说明,故可使用现有的查询优化。

    对每一代数操作确定哪一种存取方法最好,这要求元数据——关于存储的时态数据统计和代价模型——对每一操作符实现或存取方法组合的执行代价,而对时态数据则还要求额外的元数据,如关系的有效期、元组的有效期、代理和元组的到达分布、时变属性的分布、时态数据的规则性和粒度,等等。

    对时态操作符的代价模型需要专门开发,这方面的工作有的已进行,如Tquel的查询做了这方面的工作。

    关于全局查询优化,要求一个查询的集合要同时被优化,这要通过产生一个比各单个评价计划的集合更高效的单一查询评价计划来达到该目的,采用“状态迁移网”似乎是一种好的方法。

    3 结束语

    时态数据库管理系统的研制以及将时态数据库管理系统推出商品化是当今数据库领域的一个研究方向,要研制成为一个商品化的时态数据库管理系统还需围绕时态数据库中的时态来解决这一关键问题。一般,在实现时态数据库管理系统之前,先需具有实现传统关系数据库管理系统原形的经验,在此基础上要扩展数据定义语言、数据操作语言、数据查询语言等,使之能够保存事务时间和有效时间。与传统的数据库系统不同,时态数据库的数据和事务是带有时态信息的,因而它的实现机制、实现技术不能沿用传统的数据库系统。本文分析了时态数据库实现的特点和困难,介绍了几种常见的解决方法,并分析总结了它们的性能。

    参考文献:

    [1] Tansel A,Clifford J,Gadia S,et al. Temporal Databases—Theory,Design and Implementation[M].The Benjamin Cummings Publishing Company,1993.

    [2] Ben Z J.The Time Relational Model[D].Ph.D. Thesis,Computer Science Dept., ucla,1982.

    [3] 何新贵.特种数据库技术[M].北京:科学出版社,2000.

    [4] 汤庸.时态数据库导论[M].北京:北京大学出版社,2004.

    [5] 黄楠,刘爱琴.时态数据库技术[J].微机发展,2002(1).

    [6] 郝忠孝.时态数据库设计理论[M].北京:科学出版社,2009.

    相关热词搜索: 时态 数据库管理系统 研究 技术

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网