论文部分内容阅读
随着计算机系统在日常生活及工作中的普及,时态信息越来越多的出现在应用系统中,且很大一部分是Now相关的,也即当前的。为了存储和处理大规模的时态数据,人们引入时态数据库。其中,时间维可以有两个:事务时间和有效时间,其二者是正交的。为了有效地存储和查询“当前”的时态数据,需要引入有效时间变量Now和事务时间变量UC。在实际应用中,二者的正交性导致它们在不同的情况下有不同的语义(即取值)。
适合时态数据的高效的索引技术对加快数据的查询和更新速度起着重要的作用。通过分析我们发现,当前流行的时态数据索引技术均假设了事务时间与有效时间的“同步”,这与两者的正交性相悖,不利于实际应用。本文全面分析由于有效时间和事务时间的正交性所造成的Now的多种语义情形,并提出了事务时间提前、滞后、预测等情况下的Now语义的处理技术。针对当前较优的4R树作扩展和完善,提出“支持多种Now语义的4R树模型”(SMNE4R)。当中重新定义了四种双时态数据类型的数据变换、查询变换,使其支持当前版本和过去版本数据库中,Now的过去、将来等多种语义,且可作一定程度的预测查询。
最后利用通用搜索树GiST工具包实现了SMNE4R树。并用大量由程序随机生成的实验数据进行实验,通过比较SMNE4R索引树与其他几种索引技术的磁盘I/O次数来评价它们的查询和更新性能。实验表明,SMNE4R树完善了4R树的主要缺陷,支持更多的Now语义,同时在性能上远优于MTR树和2R树,且基本与4R树相当。这表明了扩展后的SMNE4R模型是有效的。而且它以成熟的R树模型为基础,可以直接应用于商业数据库上而无需修改DBMS。