- 相關推薦
基于結構化P2P的分布式數據流系統的查詢處理模型
下面是一篇計算機應用畢業論文范文,由YJBYS為您收集提供,歡迎閱讀!
摘要:分析了基于結構化覆蓋網的分布式查詢處理模型,支持大量數據流的分布式存儲,連續查詢間、查詢內的并行處理操作,能夠在很大程度上消除資源約束問題(主要是內存),提高了查詢性能、服務質量,并且該查詢模型具有很好的擴展性。
關鍵詞:分布式數據流管理系統; 結構化覆蓋網; 分布式散列表; 滑動窗口
近年來,數據流查詢處理是數據庫研究領域的一個熱點方向。數據流的特征可概括為無限性、瞬時性、流速不定性、語義不定性(數據模式隨時可能改變)等。針對數據流的以上特征,不考慮將數據流存儲在傳統的關系數據庫中,數據流上的查詢是近似查詢、連續查詢(continuous query)。 目前,數據流管理系統中所采用的近似查詢的方法主要有以下幾種:隨機抽樣(random sampling)、數據寫生(sketching)、直方圖(histograms)、小波變換(wavelets)、窗口(windows)等。如何保證查詢的服務質量成為上述各種近似查詢方法必須考慮的問題。數據流上的查詢處理給人們提出了一個很大的難題——對處理器、內存等系統資源非常苛刻的需求。到目前已經出現了許多數據流的原型系統:單節點(單CPU)上的數據流管理系統,如Stanford 大學的Stream[1] 系統、布朗大學的Aurora[2,3] 系統等;有分布式數據流處理系統,如MIT的Medusa[4,5] 項目,Brandeis、Brown、MIT 的合作項目Borealis[6,7]等。這些項目在數據流處理的查詢語言、近似查詢算法、保證服務質量的策略,以及系統的負載均衡等方面做了大量的工作,但同時也揭示出在分布式數據流處理系統中更多值得研究的問題。本文將對基于structured overlay network的分布式數據流系統的近似、自適應查詢處理進行研究,給出查詢處理模型。
集中式數據流查詢處理及分布式散列表、Chord路由協議的相關說明
數據流查詢處理相關的概念定義以及假設說明
集中式數據流查詢處理的體系結構由兩部分構成,即查詢計劃生成子系統(FRONT-end)以及查詢執行子系統(BACK)。其中兩部分與關系數據庫系統相比均有較大的區別。查詢執行子系統如圖1所示。
通過這種散列,將系統當前的所有查詢映射到節點空間,然后由該節點上的查詢處理器完成到達的查詢。
b)查詢內并行處理方式。在系統的范圍內,由操作符、輸入均輸出記錄隊列、維持操作符狀態的大綱信息構成網狀結構。
c)命名發現機制。參與查詢處理的節點有全局惟一命名participant(如IP地址等)。當在一個節點上面定義一個新的流模式、數據流、操作符,這些實體均隸屬于其命名空間。該實體可以采用下面的命名方式:(participant,entity-name) 。為了了解系統中數據流模式的定義、系統中的數據流、數據流的到達(存放)位置、系統中哪一部分查詢執行,就要考慮在?catalog中存放必要的數據。其中catalog信息是通過在DHT下分布式存儲的,前面已經分析了catalog信息的存儲問題。
系統中對每一個數據流、每一個查詢、查詢中的算子、算子大綱、節點間輸出隊列均有惟一的命名。查詢處理器位于DHT之上。同查詢相關的數據粒度限定為數據流、輸入數據源(記錄集)、節點間傳輸數據隊列、算子大綱,而不是針對單個記錄而言。對于這些粒度的數據可以通過在DHT中通過put(namespace,object)、get(namespace)、multicast(namespace)消息得到。
對于操作符(算子)在節點間遷移的情況,可以提供遠程算子定義接口。當節點?A?上查詢執行的下一步join操作要求節點?B的查詢執行器完成時,節點B?接收到遠程調用請求,初始化join算子,將節點?A?上發出調用請求算子的狀態信息(大綱,synopsis)作為參數傳遞給?B,然后就可以在節點B?上進行join算子運算。查詢內并行就是有若干這樣的節點間的算子遷移,使一個查詢計劃得以在多節點的算子之間并行執行。
對于基于滑動窗口的數據流處理的join操作,如果有兩個數據流,查詢處理基于時間的窗口,進行join操作的兩個數據流時間范圍較長,那么要求在一個節點上維護操作符的狀態信息將會變得非常困難,join算子狀態信息存儲要求的內存空間可能非常大,則會進行操作符分割操作。在該節點的近鄰節點上同時進行join操作,最終將各個節點上的狀態信息進行合并操作即可。
算子遷移、算子合并、算子分割等操作在基于DHT的系統上實現具有良好的擴展性。DHT層為數據流處理系統在荷載大的情況下進行負載脫落、查詢計劃間并行、查詢計劃內并行提供了可以隨意擴展的基礎平臺。
結束語
本文給出了基于structured overlay network 的分布式數據流查詢處理模型,考慮了對于到達系統的大量數據流的分片存放策略;同時在查詢處理中對查詢內的并行、查詢間的并行、算子在分布式節點的遷移等提供了很好的支持。對系統catalog目錄信息的分布式存放維護,從而消除了單節點查詢處理引擎在資源(CPU、內存)上的約束。本文沒有考慮分布式查詢模型在網絡帶寬資源方面的問題,這將是以后要完善的地方。基于結構化覆蓋網的分布式數據流查詢模型提高了系統性能、查詢服務質量,并且基于Chord實現,具有很好的擴展性。
參考文獻:
[1]BRIAN B, SHIVNATH B, JENNIFER W. Models and issues in data stream systems[C]//Proc of the 21st ACM Symposium on Principles of Database Systems,2002.
?[2]BALAKRISHNAN H, BALAZINSKA M, CARNEY D, ?et al?. ?Retrospective on Aurora[J]. VLDB Journal, 2004,13(4):370-383.
[3]ABADI D, CARNEY D, STONEBRAKER M, ?et al?. Aurora: a new model and architecture for data stream management[J]. VLDB Journal,2003,12(2):120-139.
[4]ZDONIK S, STONEBRAKER M, CHERNIACK M,?et al?. The Aurora and Medusa Projects[J].IEEE Data Engineering Bulletin, 2003,26(1):3-10.
[5]CHERNIACK M, BALAKRISHNAN H, BALAZINSKA M, ?et al?. Scalable distributed stream processing[C]//Proc of the 1st Biennial Conference on Innovative Data Systems Research. Asilomar, California:[s.n.],2003.
[6]ABADI D J, AHMAD Y, BALAZINSKA M, ?et al?. The design of the Borealis stream processing engine[C]//Proc of the 2nd Biennial Conference on Innovative Data Systems Research (CIDR’05). Asilomar:[s.n.],2005.
[7]TATBUL N, ZDONIK S.Dealing with overload in distributed stream processing systems[C]//Proc of IEEE International Workshop on Networking Meets Databases (NetDB’06). Atlanta:[s.n.],2006.
[8]Distributed hash tables links[EB/OL]. http://www.etse.urv.es/~cpairot/dhts.html.
[9]DABEK F, STOICA I, BALAKRISHNAN H, ?et al?. Building peer-to-peer systems with Chord, a distributed lookup service[C]//Proc of the 8th Workshop on Hot Topics in Operating Systems(HotOS-VIII).2001.
[10]STOICAL I, MORRIS R, BALAKRISHNAN H, ?et al?. Chord:a sca-lable peer-to-peer lookup service for internet applications[C]//Proc ofACM SIGCOMM. New York: ACM Press, 2001:149-160.
【基于結構化P2P的分布式數據流系統的查詢處理模型】相關文章:
基于EXCEL的層次分析法模型設計10-08
基于融合細分的紋理圖像重構模型10-06
基于旅游管理的時空數據模型研究論文10-08
淺析基于品牌要素的品牌創建動態模型建構10-05
網絡技術在分布式測試系統上的應用10-07
全國統一學籍號查詢系統11-16