亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于R樹的空間查詢連接處理優(yōu)化與實現(xiàn)

        2011-11-24 02:17:32呂閩暉呂敏蓉
        關(guān)鍵詞:排序實驗方法

        呂閩暉 ,呂敏蓉

        (1.海軍工程大學(xué) 裝備經(jīng)濟研究所,湖北 武漢 430033;2.湖南女子學(xué)院,湖南 長沙 410004)

        常見的空間查詢有點查詢、窗口查詢 (或稱范圍查詢)、相交查詢(或稱區(qū)域查詢)、被包圍查詢、毗連查詢、最近鄰查詢、空間連接查詢等,其中空間連接查詢是最重要、最耗時的空間查詢[1]。本文首先對Ingres原有空間連接方式進行研究。然后參照已有的相關(guān)研究論文,采用基于寬度優(yōu)先的R樹空間連接算法,并對其進行全面測試(包括功能和性能測試),并與 Ingres原有空間連接進行性能對比。

        1 Ingres空間連接算法

        Ingres原有的空間連接執(zhí)行時,如果兩個表都建有R樹索引,其QEP為TID Join。如有兩個表RTreeJoin1和RTreeJoin2,對應(yīng)的空間索引為 RTree1和 RTree2,如果執(zhí)行 Select*from RTreeJoin1,RTreeJoin2 where RTreeJoin1.obj overlaps RTreeJoin2.obj,QEP如圖 1所示。

        圖1 Ingres原有空間連接QEP

        圖中Spatial Join即Key Join,首先是將RTreeJoin1.obj的值作為鍵值查找索引RTree2,所得對應(yīng)RTreeJoin2中的TID,然后再以此TID直接訪問RTreeJoin2中的元組,即TID Join。此種方式?jīng)]有利用兩個基表都建有RTree的優(yōu)勢,因此在部分情況下不能獲得最優(yōu)的性能。這種方法稱為“One-Rtree-Only”空間連接方法[2]。

        2 Ingres空間連接算法改進

        針對上述分析,希望能夠在過濾階段即利用兩個R樹索引。通過對兩個索引進行按深度或按寬度的遍歷,執(zhí)行過濾運算,不可能滿足連接條件的空間對象迅速排除[3-4]。本文將參考文獻[5]使用廣度優(yōu)先遍歷算法優(yōu)化R樹空間連接。

        2.1 在遍歷R樹時剪枝

        在R樹中維護的一個重要信息就是它的層次性蘊含著它的包含性。即一個樹結(jié)點的MBR總是包圍著它的子孫結(jié)點的MBR。利用這一特點可知,一對結(jié)點nRir和nSjS需要進行連接僅當(dāng)它們父結(jié)點的MBR相交,稱為剪枝。簡單的從頂至底的圖遍歷算法可以在任何層次上使用這種剪枝。參考文獻[5]中剪枝是在同時深度優(yōu)先遍歷兩棵輸入的R樹時進行的 (DFRJ),而參考文獻[6]則是在同時廣度優(yōu)先遍歷兩棵R樹時進行的(BFRJ)。在R樹的所有層次施行剪枝達到的效果是從頂層起,分別來自兩棵R樹的兩個結(jié)點被遍歷到僅當(dāng)它們父結(jié)點的MBR相交。這樣,相比簡單的嵌套循環(huán)的遍歷方式,剪枝將使得被遍歷的不相交的結(jié)點對數(shù)大大減少。

        2.2 BFRJ算法

        基于廣度優(yōu)先遍歷的R樹空間連接算法 (BFRJ)步驟為:(1)對兩棵R樹的根結(jié)點(NR,NS)做一次結(jié)點連接。所謂結(jié)點連接,就是對輸入的兩個非葉子結(jié)點,返回其相交的元素項對。對根結(jié)點做結(jié)點連接的結(jié)果是一個二元組(oidR0,oidS0)的集合,稱為 0階中間連接索引 IJI0(intermediate join index at level 0)。因為本文主要著眼于對相交運算的空間連接,因此每一個二元組(oidR0,oidS0)意味著這兩個元素項的MBR相交。(2)對于IJI0的每一個二元組,BFRJ找出其在兩棵R樹中對應(yīng)的結(jié)點,進行結(jié)點連接。當(dāng)BFRJ從IJI0中讀入一個二元組進行計算時,它會以二元組(oidR1,oidS1)的形式保存結(jié)果,加入當(dāng)前的1階中間連接索引IJI1。當(dāng)BFRJ處理完IJI0中的所有二元組后,它會釋放IJI0并開始對IJI1進行相應(yīng)的連接操作。這個過程隨著BFRJ算法逐層遍歷R樹而繼續(xù)著。當(dāng)中間連接索引由兩棵R樹的葉子結(jié)點產(chǎn)生時,算法終止。如果兩棵R樹不等高,算法將在到達一棵樹的葉子結(jié)點(如R)時,枚舉葉子結(jié)點中的每一個元素項對另一棵樹S中對應(yīng)子樹做查詢操作。到此,空間連接過濾環(huán)節(jié)已經(jīng)結(jié)束,當(dāng)前的(葉子級的)IJI已經(jīng)不在空間連接的范疇之內(nèi)了。

        2.3 局部優(yōu)化技術(shù)

        局部優(yōu)化技術(shù)是在結(jié)點連接的過程中進行的。在參考文獻[6]中介紹了兩種局部優(yōu)化技術(shù),分別為搜索空間限制(Search Space Restriction)和平面掃描(Plane Sweep)。

        2.3.1 搜索空間限制

        在一對結(jié)點nRir和nSjS進行連接時,它們的MBR的交叉區(qū)域仍然是 MBR(稱為 intersect-MBR)。如果nRir中的元素項(oidRir,mrbRir)x同nSjS中的元素項(oidSjS,mrbSjS)y相交,則mrbRir和mrbSjS必須同兩個結(jié)點的intersect-MBR相交。因此,可以首先對nRir和nSjS的元素項分別進行掃描,排除掉那些MBR同intersect-MBR不相交的元素項。在進行結(jié)點連接時,僅對剩余項進行連接。

        2.3.2 平面掃描

        這一優(yōu)化方式同合并兩個普通的數(shù)據(jù)集合時采用的排序-歸并技術(shù)類似。在一對結(jié)點nRir和nSjS進行連接的過程中,首先分別對兩個結(jié)點中的元素項依MBR進行排序。為了對多維數(shù)據(jù)進行排序,用MBR的最小x值作為關(guān)鍵字。在合并階段,依次對排序的MBR進行掃描。對于一棵樹中的MBR,僅對于其x坐標(biāo)相交的MBR進行相交測試。

        這兩種優(yōu)化技術(shù)各有側(cè)重,搜索空間限制技術(shù)可以對于結(jié)點容量較大但元素項分散的數(shù)據(jù)進行較大優(yōu)化,而平面掃描對于多維數(shù)據(jù)的優(yōu)勢更大。

        2.4 全局優(yōu)化技術(shù)

        在BFRJ算法框架下,i階中間連接索引(IJIi)在兩棵樹中所有的i層結(jié)點連接完畢后產(chǎn)生。而在i層進行結(jié)點連接的結(jié)點對來自于由更高的 (i-1層)結(jié)點連接產(chǎn)生。因此可以在對一層結(jié)點進行結(jié)點連接之前,獲取該層所有結(jié)點訪問預(yù)計(包括它們可能的訪問順序和重復(fù)訪問次數(shù))的全局信息,可以利用一些技術(shù)來對中間連接索引進行高效的管理。

        2.4.1 中間連接索引排序

        設(shè)結(jié)點的MBR同R樹S的k個t級結(jié)點的MBR相交,則nRit的索引ID在IJIt-1中出現(xiàn)了k次。在計算t層的結(jié)點連接時,nRit將被恰好計算k次。對于一個固定大小的LRU系統(tǒng)緩沖,如果ID在IJIt-1中出現(xiàn)的比較分散,則結(jié)點nRit將從硬盤中被多次讀取(最多k次)。這是因為第一次和后面出現(xiàn)的對nRit的調(diào)用之間可能會比較遠,在需要被再次讀入時可能已經(jīng)從緩沖區(qū)中刪除。因此希望IJI能夠維護在一種有序的狀態(tài)下,使得多次出現(xiàn)的相同結(jié)點的ID在IJI中出現(xiàn)的位置不要分散得太過稀疏。

        2.4.2 中間連接索引內(nèi)存管理

        IJI可以被存儲在內(nèi)存中或是磁盤上。前者能提高IJI排序的效率并減少讀取IJI時多余的I/O操作;而后者能解放出更多的內(nèi)存資源用于連接計算。

        2.4.3 中間連接索引緩沖管理

        IJI排序技術(shù)傾向于維護索引的順序,使得任意兩個相同ID出現(xiàn)的位置不會相隔太遠。然而,對兩個項目都實現(xiàn)很好的聚類效果是不可能的,在連接運算中,對一個結(jié)點的多次磁盤讀取依然存在。如果緩沖管理可以預(yù)測哪個結(jié)點已經(jīng)連接完畢,而哪個結(jié)點將來還會參與運算,則這種多次讀取可以被進一步縮減。用這種方式,緩沖管理可以保留那些將來還會參與運算的結(jié)點頁面,而將已經(jīng)結(jié)束所有連接運算的結(jié)點頁面清理釋放。

        3 實驗結(jié)果

        采用實際數(shù)據(jù)進行實驗。實驗數(shù)據(jù)來自www.rtreeportal.org的兩個數(shù)據(jù)組:

        (1)“Germany”數(shù)據(jù)組,包含四個數(shù)據(jù)包:

        ①“roads”:包含了德國的30 674條街道的 MBR;

        ②“rrlines”:包含了36 334條鐵路線的MBR;

        ③“utility”:包含了17 790條公用網(wǎng)絡(luò)的 MBR;

        ④“hypsogr”:地勢圖,由 76 999個 MBR組成。

        (2)“Greece”數(shù)據(jù)組,包含兩個數(shù)據(jù)包:

        ①“roads”:包含了希臘的23 268條街道的 MBR;

        ②“rivers”:包含了 24 650條河流的 MBR。

        將這些數(shù)據(jù)包組成四個連接對進行實驗,即“Germany:roads,rrlines”,“Germany:roads,utility”,“Germany:roads,hypsogr”,“Greece:roads,rivers”。

        在實驗中,固定了R樹的頁面大小,這樣,影響連接性能的主要參數(shù)除了使用的方法外即為緩沖大小。用緩沖區(qū)最多存放R樹頁面的個數(shù)作為衡量緩沖大小的參數(shù),這樣在不失一般性的同時可以簡化緩沖管理操作在程序內(nèi)實現(xiàn)。

        表1~表 4 給出了連接對 “Germany:roads,rrlines”的實驗結(jié)果,其中的數(shù)據(jù)表示在給定的緩沖大小下給定空間連接方法在給定緩沖大小下對應(yīng)的頁面I/O次數(shù)m。

        表1 連接對“Germany:roads,rrlines”實驗結(jié)果

        表2 連接對“Germany:roads, utility”實驗結(jié)果

        表3 連接對“Germany:roads, hypsogr”實驗結(jié)果

        表4 連接對“Greece:rivers,roads”實驗結(jié)果

        從實驗結(jié)果分析各連接方法,Buff size表示緩沖區(qū)大小,One-Rree-Only表示只對一個數(shù)據(jù)包建R樹;DFRJ表示使用DFRJ方法進行R樹連接;OrdOneStorDiskPinNo表示采用基于磁盤存儲的非特定排序優(yōu)化組合BFRJ方法進行空間連接;OrdOneStorMemPinYes表示采用基于主存存儲的對單棵樹排序優(yōu)化組合BFRJ方法進行空間連接,OrdSumStorMemPinYes表示采用基于主存存儲的對中值和排序的優(yōu)化組合BFRJ方法進行空間連接。由于StorMem意味著要將IJI保存在主存中,因此對緩沖大小有要求,當(dāng)緩沖較小時則不適用,對應(yīng)的表格項為N/A。

        在真實數(shù)據(jù)的條件下,對于任意的緩沖大小,基于兩棵R樹的空間連接算法(DFRJ和BFRJ)的性能總是優(yōu)于基于一棵R樹的算法(One-Rree-Only)。而在R樹空間連接方法中,使用適當(dāng)全局優(yōu)化組合的BFRJ又明顯優(yōu)于DFRJ。在緩沖較小時,OrdOneStorDiskPinNo最適用;在適中的緩沖條件下,StorDisk的性能要比StorMem差,OrdOneStorMemPinYes相對更優(yōu);而在較大的緩沖條件下,OrdSumStorMemPinYes能夠獲得最好的空間連接性能。

        [1]KAMEL I, FALOUTSOS C.Hilbert R-tree: An improved R-treeusingfractals[M].In: Proceedingsofthe20th VLDB, Santiago, Chile, 1994,500-509.

        [2]HUANG P W, LIN P L, LIN H Y.Optimizing storage utilizationinR-treedynamicindexstructureforspatialdatabases[J].Journal of Systems and Software, 2001,55(3):291-299.

        [3]BRAKATSOULAS S, PFOSER D, THEODORIDIS Y.Revisiting R-tree construction principles[M].In:Proceedings of the 6th ADBIS, Bratislava, Slovakia, 2002,149-162.

        [4]BRINKHOFF T, KRIEGEL H.P, SEEGER B.Efficient processing of spatial joins using R-trees[M].In:Proceedings of ACM SIGMOD, Washington DC, 1993,237-246.

        [5]MARTYNOV M.Spatial joins and R-trees.In:Proceedings of the 3rd ADBIS[M], Moscow, Russia, 1995,295-304.

        [6]HUANG Y W,JING N,RUNDENSTEINER E.Spatial joins using R-trees:Breadth First traversal with global optimizations.In:Proceedingsofthe23rdVLDB,Athens,Greece,1997,396-405.

        猜你喜歡
        排序實驗方法
        記一次有趣的實驗
        排序不等式
        恐怖排序
        做個怪怪長實驗
        節(jié)日排序
        刻舟求劍
        兒童繪本(2018年5期)2018-04-12 16:45:32
        可能是方法不對
        NO與NO2相互轉(zhuǎn)化實驗的改進
        實踐十號上的19項實驗
        太空探索(2016年5期)2016-07-12 15:17:55
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        91麻豆国产香蕉久久精品| 亚洲最大成人网站| 婷婷色香五月综合激激情| 国产精品麻豆aⅴ人妻| 亚洲免费视频网站在线| av有码在线一区二区三区| 人妻久久久一区二区三区蜜臀 | 西西人体大胆视频无码| 青青草手机在线免费视频| 在线无码中文字幕一区| 久久综合九色综合网站| 国产人成亚洲第一网站在线播放 | 成人无码视频| 久久久亚洲精品免费视频| 色播视频在线观看麻豆| 天天爽夜夜爽人人爽一区二区| 中文无码精品一区二区三区| 人妻爽综合网| 在线免费看91免费版.| 亚欧色一区w666天堂| 国产精美视频| 亚洲精品中文字幕乱码人妻| av熟妇一区二区三区| 精品深夜av无码一区二区| 无码精品一区二区三区超碰| 国产免费一区二区三区在线视频 | 国产精品久久久| 四虎影视国产884a精品亚洲| 日韩不卡一区二区三区色图| av无码国产在线看免费网站| 一本一本久久a久久精品综合| 久久91精品国产91久久麻豆| 加勒比精品视频在线播放| 国产深夜男女无套内射| 无码电影在线观看一区二区三区| 亚洲av自偷自拍亚洲一区| 中文字幕人妻丝袜成熟乱| 日本无遮挡吸乳呻吟视频| AV中文码一区二区三区| 国产草逼视频免费观看| 俺去俺来也在线www色官网|