时空索引(数据库)
时间:2022-11-10 06:30:01 | 来源:信息时代
时间:2022-11-10 06:30:01 来源:信息时代
时空索引 : 为有效地实现对时空数据的查询操作而建立的索引。针对移动数据对象的时空索引技术通常借鉴于空间数据索引技术,不同之处在于时空数据索引中有一维必然是时间维。
HR-树(Historical R-Tree): HR-树的每个结点包含时间戳t,表示一个结点产生的时间。所有的操作总是在最新版本的R-树之上运行。它采用了重叠技术,利用部分持久(partially persistent)的高效索引结构。
R-树是对事务时间进行检索,它将时空对象的时间信息按时间递增顺序组织成有序表,时空对象的时间信息为时空对象不发生空间变化对应的时间片; 用R-树结构对每个时间片的对象建立索引,并将R-树的存储信息保存到对应时间片的时间索引结点中。相邻时间片的R-树可能会重叠,为了节省空间,若相邻时间片的R-树有相同的分支,只保留该分支的一个版本。随时间进化的R-树如图1所示。
图1 随时间进化的一棵R-树
假定序列表A索引更新发生的时间点[A/T0]指向初始的完整的R-树,到时间片T1时,对象3的MBR发生改变。最后只有路径{R1,A1,3}需要更新,产生新的路径{R2,A1,3a}。显然在T1时间片R-树的根结点由子树A1、B和C组成。而子树根B和C未发生改变,因此不需要被新生成。同样,在时间片T2,R-树的根结点R3由子树A1、B和C组成,从T1到T2,子树根结点A1和B没有改变,不需要被重建。时间片T2的HR-树如图2所示。
图2 HR-树实例
HR-树的时间索引结点包括{时间片开始时间,时间片结束时间,对应时间片的R-树的根结点指针}。在HR-树中,没有发生变化的结点不需要复制,可以节省一定的存储空间;HR-树索引是对事务时间索引; 时间查询效率与已存储的数据量无关。
HR-树的查找操作包括时间查询和窗口查询。时间查询是指查找在某一时间戳所有活动的空间对象;窗口查询是查找特定时间戳查询窗口内的所有活动对象。时间查询的操作过程为: 在HR-树的时间索引结点中查找时间片包含指定时间戳的结点;遍历所指向的R-树,输出该叶子结点中所有索引数据项信息。对于窗口查询,依次对HR-树的所有时间索引结点指向的R-树执行R-树的窗口操作,输出各时间片中指定窗口内的时空对象。