查詢處理優(yōu)化技術(shù)
發(fā)布時間:2012/4/8 15:30:52 訪問次數(shù):1456
針對查詢處理的優(yōu)化問題,國內(nèi)外XTR106UA 研究單位提出了很多解決方案,其中查詢的自適應(yīng)技術(shù)CACQ和基于模型驅(qū)動的查詢處理技術(shù)顯著地改善了查詢處理系統(tǒng)的性能。
(1)無線傳感器網(wǎng)絡(luò)連續(xù)查詢自適應(yīng)技術(shù)(CACQ)
Madden等[16]提出了一種在無限實時感知數(shù)據(jù)流上處理連續(xù)查詢的自適應(yīng)技術(shù)CACQ,可用于傳感器節(jié)點局部查詢處理器。
對于沒有連接操作的單個連續(xù)查詢,CACQ把查詢分解為一個操作序列,由于查詢中沒有連接操作,只需要考慮數(shù)據(jù)流掃描操作和選擇操作。CACQ還為操作隊列中的每個操作立一個輸入隊列,用來存放待處理的數(shù)據(jù)。當查詢相關(guān)的感知數(shù)據(jù)進入系統(tǒng)時,CACQ將針對這個數(shù)據(jù)來順序調(diào)度執(zhí)行操作序列中的每個操作,流水線處理后得到一個部分查詢結(jié)果,保存在局部查詢處理器,等待全局查詢處理器進行最后的綜合處理。此外,為了執(zhí)行感知數(shù)據(jù)流的掃描操作,CACQ還為數(shù)據(jù)流掃描操作建立了一個緩沖池,用來存放等待進入操作輸入隊列的數(shù)據(jù),當緩沖池空時,CACQ啟動掃描操作獲取感知數(shù)據(jù)存入緩沖池中。
CACQ還可以處理多個無連接的連續(xù)子查詢。處理Ⅳ個子查詢的一般辦法是:當一個感知數(shù)據(jù)進入系統(tǒng)時,CACQ輪流把它傳遞到Ⅳ個子查詢的操作序列,完成Ⅳ個子查詢的處理。CACQ不復制感知數(shù)據(jù),這樣做的優(yōu)點是可以節(jié)省復制數(shù)據(jù)占用的存儲區(qū)和復制數(shù)據(jù)消耗的計算資源。無連接多查詢處理的關(guān)鍵在于從多個查詢中提取公共操作,使得多查詢的公共操作只執(zhí)行一次,避免重復計算。
圖8-5所示為CACQ處理多查詢的一個例子。用戶提交了3介查詢Qi、Q2和Q3。Qi的選擇謂詞包括Si(s.a)和S4(s.b),Q2的選擇謂詞包括S2(s.a)和Ss(s,b),Q3的選擇謂詞包括S3(s.a)和S6(s.b)。其中s是感知數(shù)據(jù)流,a和b是感知數(shù)據(jù)的兩個屬性。所有查詢都提交給查詢處理器Eddy,每個查詢都具有一個定義器分為兩組,一組是定義在屬性s.b上的{S4,S5,S6),另一組是定義在屬性s.a上的{Sl,S2,S3)。當一個感知數(shù)據(jù)s(a,b)進入系統(tǒng)后,Eddy把s.a傳送給過濾器組{SI,S2,S3),把s.b傳送給過濾器組{S4,S5,S6),執(zhí)行相應(yīng)的選擇操作,然后由局部查詢處理器將處理結(jié)果返回給全局查詢處理器。這種查詢處理結(jié)構(gòu)的好處是處理同一個感知數(shù)據(jù)流上的多個查詢只需要掃描這個數(shù)據(jù)流一次。
CACQ技術(shù)的優(yōu)越性在于節(jié)省復制數(shù)據(jù)占用的存儲區(qū)和復制數(shù)據(jù)消耗的計算姿源,但CACQ的問題是:只能優(yōu)化單節(jié)點上的局部查詢處理器的查詢結(jié)構(gòu),不能實現(xiàn)面向整個網(wǎng)絡(luò)的查詢優(yōu)化。
針對查詢處理的優(yōu)化問題,國內(nèi)外XTR106UA 研究單位提出了很多解決方案,其中查詢的自適應(yīng)技術(shù)CACQ和基于模型驅(qū)動的查詢處理技術(shù)顯著地改善了查詢處理系統(tǒng)的性能。
(1)無線傳感器網(wǎng)絡(luò)連續(xù)查詢自適應(yīng)技術(shù)(CACQ)
Madden等[16]提出了一種在無限實時感知數(shù)據(jù)流上處理連續(xù)查詢的自適應(yīng)技術(shù)CACQ,可用于傳感器節(jié)點局部查詢處理器。
對于沒有連接操作的單個連續(xù)查詢,CACQ把查詢分解為一個操作序列,由于查詢中沒有連接操作,只需要考慮數(shù)據(jù)流掃描操作和選擇操作。CACQ還為操作隊列中的每個操作立一個輸入隊列,用來存放待處理的數(shù)據(jù)。當查詢相關(guān)的感知數(shù)據(jù)進入系統(tǒng)時,CACQ將針對這個數(shù)據(jù)來順序調(diào)度執(zhí)行操作序列中的每個操作,流水線處理后得到一個部分查詢結(jié)果,保存在局部查詢處理器,等待全局查詢處理器進行最后的綜合處理。此外,為了執(zhí)行感知數(shù)據(jù)流的掃描操作,CACQ還為數(shù)據(jù)流掃描操作建立了一個緩沖池,用來存放等待進入操作輸入隊列的數(shù)據(jù),當緩沖池空時,CACQ啟動掃描操作獲取感知數(shù)據(jù)存入緩沖池中。
CACQ還可以處理多個無連接的連續(xù)子查詢。處理Ⅳ個子查詢的一般辦法是:當一個感知數(shù)據(jù)進入系統(tǒng)時,CACQ輪流把它傳遞到Ⅳ個子查詢的操作序列,完成Ⅳ個子查詢的處理。CACQ不復制感知數(shù)據(jù),這樣做的優(yōu)點是可以節(jié)省復制數(shù)據(jù)占用的存儲區(qū)和復制數(shù)據(jù)消耗的計算資源。無連接多查詢處理的關(guān)鍵在于從多個查詢中提取公共操作,使得多查詢的公共操作只執(zhí)行一次,避免重復計算。
圖8-5所示為CACQ處理多查詢的一個例子。用戶提交了3介查詢Qi、Q2和Q3。Qi的選擇謂詞包括Si(s.a)和S4(s.b),Q2的選擇謂詞包括S2(s.a)和Ss(s,b),Q3的選擇謂詞包括S3(s.a)和S6(s.b)。其中s是感知數(shù)據(jù)流,a和b是感知數(shù)據(jù)的兩個屬性。所有查詢都提交給查詢處理器Eddy,每個查詢都具有一個定義器分為兩組,一組是定義在屬性s.b上的{S4,S5,S6),另一組是定義在屬性s.a上的{Sl,S2,S3)。當一個感知數(shù)據(jù)s(a,b)進入系統(tǒng)后,Eddy把s.a傳送給過濾器組{SI,S2,S3),把s.b傳送給過濾器組{S4,S5,S6),執(zhí)行相應(yīng)的選擇操作,然后由局部查詢處理器將處理結(jié)果返回給全局查詢處理器。這種查詢處理結(jié)構(gòu)的好處是處理同一個感知數(shù)據(jù)流上的多個查詢只需要掃描這個數(shù)據(jù)流一次。
CACQ技術(shù)的優(yōu)越性在于節(jié)省復制數(shù)據(jù)占用的存儲區(qū)和復制數(shù)據(jù)消耗的計算姿源,但CACQ的問題是:只能優(yōu)化單節(jié)點上的局部查詢處理器的查詢結(jié)構(gòu),不能實現(xiàn)面向整個網(wǎng)絡(luò)的查詢優(yōu)化。
上一篇:查詢處理方案