【技術實現步驟摘要】
【國外來華專利技術】相關申請案交叉申請本專利技術要求于2014年3月21日遞交的專利技術名稱為“特定列物化調度”的第61/968,793號美國臨時專利申請案的在先申請優先權,以及要求于2015年3月19日遞交的專利技術名稱為“用于特定列物化調度的系統和方法”的第14/663,210號美國非臨時專利申請案的在先申請優先權,這些申請以引入的方式并入本文。
本專利技術主要涉及關系數據庫管理系統(relationaldatabasemanagementsystem,RDBMS),更具體地,涉及一種用于面向列的RDBMS中的特定列物化的系統和方法。
技術介紹
面向列的RDBMS為將數據表存儲為數據列而不是數據行的部分的DBMS。在面向列的RDBMS中執行查詢期間,經常需要整合記錄的多個列。在執行查詢期間,其中一些列被添加到中間結果。該過程稱作物化。在面向列的RDBMS中,如何將列物化是確定查詢性能的重要因素。現有的面向列的RDBMS通常采用固定的早期物化或固定的后期物化。早期物化中,在運算符圖的葉子節點上提取查詢中參考的列,如果上游運算符需要,將這些列從子運算符傳輸至父運算符。后期物化中,在進行處理之前,從列的源頭提取運算符所需的列,之后丟棄。對于大多數面向列的RDBMS,列物化策略是硬編碼的。
技術實現思路
本專利技術涉及在面向列的RDBMS中確定查詢執行中的各列的最佳物化調度。一個示例實施例包括一種在RDBMS中動態建立物化調度的方法。該方法包括:接收查詢文本;將所述查詢文本轉換成Rel無回路有向圖(directedacyclicgraph,DAG);對所述RelDAG進行自底向上的橫 ...
【技術保護點】
一種用于在關系數據庫管理系統(relational?data?base?management?system,RDBMS)中通過動態編程技術建立物化調度的方法,其特征在于,所述方法包括:接收查詢文本;將所述查詢文本轉換成Rel無回路有向圖(directed?acyclic?graph,DAG);對所述Rel?DAG進行自底向上的橫斷操作,以創建平行Rel?DAG;計算所述平行Rel?DAG的特定列物化調度;將所述平行Rel?DAG轉換成函數調用和數據重整動作的DAG,以創建平行語句林;根據所述平行語句林生成調用所述函數調用和數據重整動作的協調語句林;將所述平行語句林和所述協調語句林轉換成一批二元關聯表(binary?association?table,BAT)運算符列表,從而為表格的各列計算最佳物化調度。
【技術特征摘要】
【國外來華專利技術】2014.03.21 US 61/968,793;2015.03.19 US 14/663,2101.一種用于在關系數據庫管理系統(relationaldatabasemanagementsystem,RDBMS)中通過動態編程技術建立物化調度的方法,其特征在于,所述方法包括:接收查詢文本;將所述查詢文本轉換成Rel無回路有向圖(directedacyclicgraph,DAG);對所述RelDAG進行自底向上的橫斷操作,以創建平行RelDAG;計算所述平行RelDAG的特定列物化調度;將所述平行RelDAG轉換成函數調用和數據重整動作的DAG,以創建平行語句林;根據所述平行語句林生成調用所述函數調用和數據重整動作的協調語句林;將所述平行語句林和所述協調語句林轉換成一批二元關聯表(binaryassociationtable,BAT)運算符列表,從而為表格的各列計算最佳物化調度。2.根據權利要求1所述的方法,其特征在于:每個函數調用對應兩個相鄰交換節點之間的平行RelDAG的分片;每個數據重整動作對應一個交換節點。3.根據權利要求1或權利要求2所述的方法,其特征在于,所述RelDAG的葉子節點上注釋有聚類信息。4.根據權利要求1至3中任一項所述的方法,其特征在于,當子Rel節點的輸出的聚類屬性與父Rel節點的輸入的聚類屬性不兼容時,通過在所述父Rel節點與所述子Rel節點之間插入交換節點進行所述橫斷操作。5.根據權利要求1至4中任一項所述的方法,其特征在于,將每個函數調用轉換成語句林,其中,語句代表BAT運算符,從而產生所述函數調用的子語句產生的表達式。6.根據權利要求5所述的方法,其特征在于,所述表達式通過以下方式產生:對相應的RelDAG分片進行深度優先橫斷操作;針對每個Rel,針對Rel輸出的每個表達式,且針對源表格分區的每個組合,為所述表達式生成語句DAG。7.根據權利要求1至6中任一項所述的方法,其特征在于:每個函數調用將其子Rel節點輸出的列數據作為輸入;每個函數調用的輸出為所述函數調用的頂部Rel輸出的表達式;所述函數調用的輸出為所述函數調用的父節點的數據重整動作的輸入,其中,行ID由Rel輸出。8.根據權利要求4所述的方法,其特征在于,每個數據重整動作在各自Rel節點上重整待物化的列,且通過行ID提取子Rel節點沒有輸出的已物化的列。9.根據權利要求8所述的方法,其特征在于,將每個數據重整動作轉換成包含一個語句DAG的語句林,用于為每個重整的列創建平行語句林。10.根據權利要求1至9中任一項所述的方法,其特征在于,所述方法還包括:根據所述平行語句林的深度優先遍歷序列,生成調用函數調用和數據重整動作的語句DAG,從而創建協調語句林。11.一種關系數據庫管理系統(relationaldatabasemanagementsystem,RDBMS),其特征在于,用于:接收查詢文本;將所述查詢文本轉換成Rel無回路有向圖(directedacyclicgraph,DAG);對所述RelDAG進行自底向上的橫斷操作,以創建平行RelDAG;計算所述平行RelDAG的特定列物化調度;將所述平行RelDAG轉換成函數調用和數據重整動作的DAG,以創建平行語句林;根據所述平行語句林生成調用所述函數調用和數據重整動作的協調語句林;將所述平行語句林和所述協調語句林轉換成一批二元關聯表(binaryassociationtable,BAT)運算符列表,從而為表格的各列計算最佳物化調度。12.根據權利要求11所述的RDBM...
【專利技術屬性】
技術研發人員:丘池陽,胡榮春,陳萌萌,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。