多维索引研讨.pptVIP

  • 51
  • 0
  • 约1.09万字
  • 约 51页
  • 2017-05-08 发布于湖北
  • 举报
多维索引研讨

四叉树及其所隐含的空间划分 50 , 2 . 5 K 75 , 1 . 25 25 , 3 . 75 45 , 0 . 6 k 50 , 2 . 75 k 60 , 2 . 6 k 50 , 1 . 0 k 50 , 1 . 28 k 50 , 0 . 75 k 30 , 2 . 6 k 25 , 4 . 0 k 45 , 3 . 5 k 0 20 40 60 80 100 5 K * * * * * * * * * * * * 4 K 3 K 2 K 1 K 0 K 四叉树 四叉树所隐含 的空间划分 26 , 0 . 6 k I II IV III Ⅱ IV 70 , 1 . 3 k 85 , 1 . 4 k II Ⅰ IV Ⅲ 3.2.4 R树 GUTTMAN在1984年提出了R树索引。R树索引是最早支持扩展对象存取方法之一,R树是一个高度平衡树,它是B树在k维上的自然扩展。R树中用最小外包矩形(MBR)来表示对象范围,它开辟了空间索引研究的新方向。 3.2.4 R树 SELLIS(1987),GREENE(1989),BECKMANN(1990),KAMEL(1994)和GARCFA(1998)等人在其基础上不断地进行改进,提出了R树的多种变形,形成了由R树、R+树、R*树、Hilbert R树、SR树等组成的R树系列空间索引。R树及其众多变形都是一种平衡树,结构非常类似于B树,也具有类似于B树的一些性质,从而形成了一个R树索引体系。 R树是一种利用B树的某些本质特征来处理多维数据的数据结构。R树表示由二维或更高维区域组成的数据,称之为数据区。一个R树的内结点对应于某个内部区域,原则上,区域可以是任何形状。 R树运用了空间分割的理念,采用了一种称为MBR(Minimal Bounding Rectangle)的方法,在此我把它译作“最小边界矩形”。从叶子结点开始用矩形(rectangle)将空间框起来,结点越往上,框住的空间就越大,以此对空间进行分割。 图(b),首先我们假设所有数据都是二维空间下的点,图中仅仅标志了R8区域中的数据,也就是那个shape of data object。我们把不规则图形看作是多个数据围成的一个区域。为了实现R树结构,我们用一个最小边界矩形恰好框住这个不规则区域,这样,我们就构造出了一个区域:R8。R8的特点很明显,就是正正好好框住所有在此区域中的数据。其他实线包围住的区域,如R9,R10,R12等都是同样的道理。这样一来,我们一共得到了12个最最基本的最小矩形。这些矩形都将被存储在叶子结点中。下一步操作就是进行高一层次的处理。我们发现R8,R9,R10三个矩形距离最为靠近,因此就可以用一个更大的矩形R3恰好框住这3个矩形。同样道理,R15,R16被R6恰好框住,R11,R12被R4恰好框住,等等。所有最基本的最小边界矩形被框入更大的矩形中之后,再次迭代,用更大的框去框住这些矩形 我们来讲个实例,如何查询特定的数据吧。假设我要查询广州市天河区天河城附近一公里的所有餐厅地址怎么办?打开地图(也就是整个R树),先选择国内还是国外(也就是根结点)。然后选择华南地区(对应第一层结点),选择广州市(对应第二层结点),再选择天河区(对应第三层结点),最后选择天河城所在的那个区域(对应叶子结点,存放有最小矩形),遍历所有在此区域内的结点,看是否满足我们的要求即可。 一棵R树满足如下的性质: 1.?????除非它是根结点之外,所有叶子结点包含有m至M个记录索引(条目)。作为根结点的叶子结点所具有的记录个数可以少于m。通常,m=M/2。 2.?????对于所有在叶子中存储的记录(条目),I是最小的可以在空间中完全覆盖这些记录所代表的点的矩形(注意:此处所说的“矩形”是可以扩展到高维空间的)。 3.?????每一个非叶子结点拥有m至M个孩子结点,除非它是根结点。 4.?????对于在非叶子结点上的每一个条目,i是最小的可以在空间上完全覆盖这些条目所代表的点的矩形(同性质2)。 5.?????所有叶子结点都位于同一层,因此R树为平衡树。 叶子结点的结构 叶子结点所保存的数据形式为:(I, tuple-identifier)。 ??????其中,tuple-identifier表示的是一个存放于数据库中的tuple,也就是一条记录,它是n维的。I是一个n维空间的矩形,并可以恰好框住这个叶子结点中所有记录代表的n维空间中的点。I=(I0,I1,…,In-1)。 下图描述的就是在二维空间中的叶子结点所要存储的信息。

文档评论(0)

1亿VIP精品文档

相关文档