ABSTRACT
目前的關鍵詞查詢只關注單個查詢。對於查詢系統來說,短時間內會接受大批量的關鍵詞查詢,往往不同查詢包含相同的關鍵詞。
因此本文研究圖數據多關鍵詞查詢的批處理。爲多查詢和單個查詢找到最優查詢計劃都是非常複雜的。我們首先提出兩個啓發式的方法使關鍵詞的重疊最大並優先處理規模小的關鍵詞。然後設計了一個同時考慮了數據統計信息和搜索語義的基於cardinality的成本估計模型。
1. INTRODUCTION
在過去的十年中,網絡搜索技術發展迅速。用戶依賴搜索引擎爲了不斷增加的信息分享和其他需求,在此過程中取代了其他的打印,電子和人類信息資源。相似的,數據庫服務提供者希望給用戶提供一個能夠對多種信息進行關鍵詞搜索的接口。現在大部分的關於關鍵詞搜索的研究只關注單個關鍵詞搜索,在實際中不實用。
(接下來舉例說明批搜索處理的重要性)
第三方公司作爲重要的數據用戶爲了優化其業務可能通過批查詢執行數據分析和挖掘潛在數據。對在短時間內接收到的大量查詢在幾分之一秒內返回結果十分重要。目前特定領域的搜索引擎被廣泛使用。通常其潛在數據是高度結構化的,往往被表示成圖結構。對於流行的特定領域搜索引擎,短時間內會接收到大量的查詢,並且這些查詢共享關鍵詞的可能性非常高。因此對批量的關鍵詞應答會顯著提高特定領域搜索引擎的性能。
(介紹相關工作)
本文研究圖數據上關鍵詞搜索的批處理問題,目標是在最小化總時間成本的前提下處理一組關鍵詞查詢。批量查詢處理是數據庫領域的經典問題。Sellis et.al 將SQL查詢拆分成子查詢並且保證批中每個SQL查詢能夠被子查詢應答。但其有時可能會需要維護所有子查詢的中間結果,這樣會導致高昂的空間花銷和額外的IO成本。Roy et. al.通過對比pipeline成本和重用成本對子查詢的中間結果重用和重計算進行了平衡。Jacob and Ives解決了關係數據庫中批量的交互關鍵詞查詢問題,在他們的工作中,關鍵詞搜索語義通過candidate networks定義,需要提前知道關係型數據庫的schema。
(問題的獨特性)
在對不同內容的批查詢和圖數據庫上的單個關鍵詞查詢處理的相關工作調研後,我們發現現有技術無法解決“圖數據上批量關鍵詞查詢”問題。
原因如下:
- Meaningful Result Semantics: 因爲r-clique能夠發現給出關鍵詞的最緊密的關係,所以r-clique能很好的定義圖數據上關鍵詞搜索的語義。但沒有研究使用該meaningful result semantics的批查詢處理工作。
- Complexity of the Optimal Batch Processing: NP完全問題。因爲每個查詢對應幾個查詢計劃,我們不能枚舉出所有的單個查詢的結合方式來得到最優的查詢計劃。
- Not-available Query Historic Information: 我們在執行查詢之前不需要假設知道任何子查詢的結果,因爲此類歷史信息不可獲取。
即便我們簡單的按照預定義的順序處理批查詢並重用中間結果,也不能保證我們能夠最優的處理批查詢。爲解決該問題,我們首先開發了兩個啓發式的方法首先處理規模較小且關鍵詞重合度高的關鍵詞。然後設計了一個cardinality estimation cost model通過考慮圖的連通性和result semantics of r-clique. 基於該成本模型我們通過拓展
本文貢獻如下:
- 我們提出並研究了在原始圖數據上進行批關鍵詞查詢的新問題。
- 證明該問題是NP完全的,並在考慮了批關鍵詞查詢的特點後設計兩個啓發式的規則解答該問題。
- 爲了最優的執行批查詢,我們設計了一個基於估計的成本模型去評估可能子查詢的計算成本,然後用來計算批查詢的最優計劃。
- 在DBLP和IMDB數據集上測試。
2. PRELIMINARIES AND PROBLEM DEFINITIONS
2.1 Keyword Query on Graph Data
Native graph data. 原始圖數據
點
邊
Query processing for Single keyword query. 給定在圖G上的查詢
對於查詢
圖2(a)展示了
σki(G) 選擇圖G中匹配關鍵詞ki 的節點。爲使該操作更加高效,我們爲每個關鍵詞建立了節點的倒排列表,所以該操作的花費爲O(1)。查詢計劃的成本主要依賴於連接操作。⋈R 連接兩個r-cliques。
An r-clique is a group of content nodes that cover all the input keywords and the distance between each two nodes is less than or equal to r.
——《Keyword search in graphs:Finding r-cliques.》
2.2 Batched Multiple-Keyword Queries
批處理查詢最naive的解決方法是一個接一個的處理查詢,如圖2(b)和圖2(c)所示,顯然這樣並不高效,理想情況下,我們希望共享一些查詢處理的中間結果以避免重複計算。如圖2(d)中所示,關鍵詞
Problem definition 給定一個批關鍵詞查詢
問題的重要性:
- 一個查詢可能有多個查詢計劃,我們不可能枚舉所有查詢的查詢計劃的組合找到最優的結果。
RC(K1∪K2,G)=RC(K1,G)⋈RRC(K2,G) 。RC(K1∪K2,G) 的大小並不和RC(K1,G) RC(K2,G) 成比例,因此不易預測RC(K1∪K2,G) 的大小。
3. HEURISTIC-BASED APPROACHES
3.1 A Shortest List Eager Approach
首先提出一個方法Basic,其主要思想在於按順序處理批查詢中的每個查詢,對於每個查詢
Rule 1. Given two inverted lists of keywords
ki andkj , respectively.RC({ki},G) takes precedence to r-join with the existing intermediate results, if the list ofki is shorter than that ofkj .
算法1展示了Basic算法的細節,避免處理被處理過的關鍵詞。對每輪迭代,對於被處理過的關鍵詞,它用處理過關鍵詞的最大集合的中間結果。對於未處理的關鍵詞,它與有最小集合的關鍵詞進行join。
顯然該方法優於最簡單的挨個處理的方法。
3.2 A Maximal Overlapping Driven Approach
Basic 算法不能充分利用共享的關鍵字。因爲優先處理較爲頻繁出現的共享關鍵詞能夠使更多的查詢獲益,我們提出了算法2。
Definition 1. Sharing factor. Given a batch query
Q={q1,...,qn} , for any two queriesqi,qj∈Q(i≠j) , we use the intersection ofqi andqj to express their overlapped keywords, which is called sharing factor ofqi andqj , denotedSF(qi,qj) .SF(qi,qj)=qi∩qj Rule 2. Given a batch Q and let S be the set of sharing factor w.r.t. Q. For any two sharing factors
SFi andSFj in S,RC(SFi,G) takes precedence overRC(SFj,G) if|SFi|⋅freq(SFi)>|SFj|⋅freq(SFj) , where freq(SF) is the frequency of SF in Q.
Rule 2平衡了出現頻率和共享因子長度。
算法首先計算Q中所有查詢的共享因子,在line 5按照規則2找到需要處理的共享因子sf。對共享因子sf找到其子共享因子
4 COST ESTIMATION FOR QUERY PLANS
最大化overlap並不意味查詢計劃的成本最低。本節提出首先提出查詢計劃的估計方式,然後基於對成本估計生成最佳的查詢計劃。
4.1 Cost of an r-Join
對於任何r-clique pair
4.2 Estimating Cardinality of an r-Join Result
對於給定的查詢q,有
對於倒排列表L(K)中的一個點v,如果對每個
Estimating cardinality of an r-join between two inverted lists for keywords. 對於
Estimating cardinality of an r-join between an r-clique set and an inverted list for a keyword.
5. ESTIMATION-BASED QUERY PLANS
基於查詢計劃的估計成本,我們使用最先進的
5.1 Finding Optimal Solution based on Estimated Cost
使用
Search space. 批查詢
因此搜索空間中每個狀態
爲了算法快速收斂,lower bound 函數
上式是說從
總結本文算法EstPlan:如果任何狀態
5.2 Reducing Search Space
6. EXPERIMENT
Basic——the Shortest List Eager Approach
Overlap——the Maximal Overlapping Driven Approach
EstPlan——