林德南+彭志剛+王益新


摘要:云計算在大數據處理、資源共享方面的優勢使得越來越多的行業使用云計算技術。云計算中的數據存儲和檢索方式與傳統的數據庫系統不同,且傳統數據庫的數據查詢方式無法直接遷移到云平臺中。文章利用后綴樹建立云存儲的算法,并討論了基于后綴樹云查詢模型,且該查詢模型可以嵌入到現有的數據查詢系統中,實現傳統查詢平臺向云平臺的遷移。
關鍵詞:查詢;后綴樹;索引;云計算
隨著信息技術的快速發展,越來企業和機構享受到信息技術的帶來的便利,但是隨之而來的海量數據的管理和分析確讓醫療、通信、交通、金融及互聯網等很多行業感到棘手。傳統數據處理方式和手段對于如此大規模的數據管理往往無所適從,同時與此相關的軟硬件以及維護的昂貴成本也是讓大部分用戶捉襟見肘。云計算是是一種新興的計算模式,它隱藏了計算資源以及計算的執行過程,用戶只需要通過瀏覽器或者應用程序界面提交計算任務或者服務請求,而不必考慮如何構建計算架構,如何組織、調度計算資源。越來越多的組織更愿意把數據中心從昂貴的高性能計算集群轉移到公有云或私有云環境中。
由于云計算是建立在資源分布式存儲和設備共享基礎上的數據存儲和計算模式,因此傳統的數據庫技術無法直接遷移到云計算平臺。所以建立云計算平臺其中一個關鍵性的技術就是建立云存儲的數據庫服務,這是一項具有挑戰性的工作。文章主要討論云計算的查詢優化技術,為實現在云平臺數據的快速檢索和操作提供一個可行方法。
1云計算查詢技術
隨著大數據處理的需要,越來越多的應用服務和數據處理從高性能服務器轉移到共有云或私有云系統中。在云計算系統中如何提供數據處理服務以及對數據高效管理成為云計算系統最關鍵的任務之一。由于云計算系統的數據存儲和管理方式與傳統的關系數據庫的管理方式完全不同,因而無法直接將現有的數據庫計算遷移到云計算系統中。并且云計算系統要求數據管理功能能提供良好的可擴展性和快速的、精準的數據存取能力,同時對于集群化的數據分析和高密度的并發性事務處理有高效的解決方案。類似與現有的數據庫系統,查詢處理及優化也是云計算系統中數據管理的關鍵技術。數據檢索能力是云計算系統提供快速響應的服務的重要保障。在框架服務、平臺服務和軟件服務三種主要云計算服務模式下,查詢技術都是重要的技術環節,也是用戶和系統都會使用的重要功能。索引技術在數據管理系統中能夠有效的提高查詢質量,索引用于減少查詢使用的CPU時間、磁盤讀取等操作,以此提高查詢性能,在云計算環境中構建有效的索引也可以提高查詢的處理性能。文章提出了一種后綴樹的快速檢索技術,以實現在云計算系統中的數據快速查詢。
2基于后綴數據的索引技術
當前云計算采用的索引技術分為兩類:集中式索引和分布式索引。集中式索引是將文件劃分為若干固定大小的數據塊,并將數據索引集中存儲在中心管理節點中,以確保元數據的存取效率;而分布式索引將數據均勻地存儲到各個云節點,數據查詢只需要整個云系統上的節點路由進行定位即可。文章提出的后綴樹索引可以進行集中索引和分布索引,在小型私有云中可以進行集中索引,以提高管理效率,而在大型的云平臺中,則可以進行分布式索引,以減輕系統壓力。
2.1后綴樹
對于查詢一個路徑表達式而言,可以通過表達式路徑上的元素名和相應的屬性名形成的表的連接來進行計算。例如對于查詢M1/M2/M3,可以分解為M1/M2和M2/M3兩次查詢。然后把兩次查詢的結果進行連接,就可以得到一個完整的查詢結果。然而,在再查詢路徑比較長的情況下,經過多次分解得到多個中間查詢結果,則進行連接的代價往往比較高,從而影響查詢的效率。如果能實現基于語義的查詢,即把表達語義相同的數據結點集中在一個頂層結點上,在多項式時間內查詢到該結點,將大大簡化查詢的流程和時間。這也是構造基于云計算查詢路徑后綴樹的基本思想。總體上來說,文章提出的后綴樹構造可以描述為:針對每個查詢結點的語義路徑生成一個后綴串,然后再利用這些后綴串形成一個查詢后綴樹,則該后綴樹為查詢路徑上每個結點對應的后綴索引樹(Sufflndex),下面給出Sufflndex的定義:
在云計算系統的數據庫中通常存在多個文檔結構,因此需要構建多個不同的Suffindex樹。為了簡化模型,我們通常假定這些文檔構建的Suffindex樹擁有共同的root虛根,因此可以在該虛根下構建一個多文檔模型的Suffindex樹的集合。為了更快速地實現查詢,通常我們采用了路徑導航的查詢方式來實現云計算下的數據結點查詢。Suffindex樹本身來說也是后綴樹,因此可以把文檔中的路徑提取出來進行字符的編碼,并用后綴樹來對這些路徑進行索引,同時對那些具有相同索引路徑的字符進行歸并。這樣,我們可以在線性時間內,對多文檔結構的云數據庫實現快速索引和查詢,而且對于每個查詢結點上的元素實例都可以按照它所在的文檔模型的根節點到它的路徑模式進行分組。
3基于后綴樹云查詢模型
本節就云計算中的查詢流程給一個清晰的流程結構圖,如圖l所示。對于一個查詢表達式輸入,需要進行形式語句的檢查,然后建立后綴結構。如果事先建立SuffIndex的索引,則直接進入索引查詢器中進行索引查詢;反之則需要進行語義路徑分析,通過路徑拆分生成多個查詢片段,然后再在查詢索引器中進行查詢。云計算的后綴樹查詢就是利用后綴樹建立查詢索引,然后分配到各個節點上去,對于集中查詢的方式,則交給索引數據庫統一管理。
4結語
云計算在各個行業的應用勢必帶來行業信息化的快速發展,特別是低成本,高效率的云平臺,使得資源共享,信息分布式處理以及大數據處理成為行業信息化建設的關鍵技術。文章對云計算中的查詢優化技術進行了探討,提出了一種后綴數據的查詢方法,該方法無論在集中式還是分布式查詢中,都具有一定的適應性,其基于后綴樹云查詢模型可以嵌入現有的數據庫管理系統中,實現傳統數據庫技術向云計算數據管理技術的遷移。