• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    用于特定列物化調度的系統和方法技術方案

    技術編號:14706793 閱讀:155 留言:0更新日期:2017-02-25 14:05
    本發明專利技術提供了一種用于在面向列的RDBMS中動態計算各列的最佳物化調度的方法。通過基于執行成本選擇物化策略,使在分布式面向列的RDBMS中的動態特定列物化調度最佳化,其中所述執行成本包括每個單獨的交換運算符的中央處理單元(central?processing?unit,CPU)、磁盤以及網絡成本。子計劃的最佳調度在與路徑無關,因此,該動態編程法在計算上是可行的。

    【技術實現步驟摘要】
    【國外來華專利技術】相關申請案交叉申請本專利技術要求于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進行自底向上的橫斷操作,以創建平行RelDAG;計算所述平行RelDAG的特定列物化調度。所述平行RelDAG被轉換成函數調用和數據重整動作的DAG,以創建平行語句林。根據所述平行語句林生成了調用所述函數調用和數據重整動作的協調語句林。所述平行語句林和所述協調語句林被轉換成一批二元關聯表(binaryassociationtable,BAT)運算符列表,從而為表格的各列計算最佳物化調度。在另一示例實施例中,RDBMS用于動態建立物化調度。在另一示例實施例中,關系數據庫管理系統(relationaldatabasemanagementsystem,RDBMS)用于動態建立物化調度。所述RDBMS包括:接收工具,用于接收查詢文本;轉換工具,用于將所述查詢文本轉換成Rel無回路有向圖(directedacyclicgraph,DAG);執行工具,用于對所述RelDAG進行自底向上的橫斷操作,以創建平行RelDAG;計算工具,用于計算所述平行RelDAG的特定列物化調度。所述平行RelDAG被轉換成函數調用和數據重整動作的DAG,以創建平行語句林。根據所述平行語句林生成了調用所述函數調用和數據重整動作的協調語句林。所述平行語句林和所述協調語句林被轉換成一批二元關聯表(binaryassociationtable,BAT)運算符列表,從而為表格的各列計算最佳物化調度。附圖說明為了更完整地理解本專利技術及其優點,現在參考下文結合附圖進行的描述,相同的數字表示相同的對象,其中:圖1示出了事物處理性能委員會(TPC)基準H(TPC-H)的表模式;圖2示出了結構化查詢語言(SQL)語句的查詢計劃的語法樹;圖3示出了本專利技術提供的特定列物化算法的示例;圖4示出了本專利技術提供的平行查詢最佳化的示例方法;圖5示出了平行語句林的示例;圖6示出了協調語句林的示例;圖7示出了本專利技術提供的平行查詢最佳化的計算設備的示例。具體實施方式以下討論的圖1至7以及該專利文檔中的各種實施例僅通過舉例說明的方式描述本專利技術的原理,而不應以任何方式理解為對本專利技術范圍的限制。本領域技術人員可以理解的是,本專利技術的原理可通過任何一種設置合理的設備和系統實現。在面向列的RDBMS中的特定查詢中,運算符的不同集合訪問不同的列。因此,對查詢中的所有列使用單一的物化方法可能會導致在最佳方式中一些列不能被物化。本專利技術實施例提供用于分布式面向列的RDBMS中的動態特定列物化調度的方法和裝置。通過基于執行成本選擇物化策略,使物化調度最佳化,其中所述執行成本包括每個單獨的交換運算符的中央處理單元(centralprocessingunit,CPU)、磁盤以及網絡成本。所揭示的實施例使用動態編程技術確定最佳物化調度。子計劃的最佳調度與路徑無關,因此,針對所揭示的實施例,動態編程在計算上是可行的。如前文描述的,傳統物化方案包括早期物化和后期物化。為更好說明這些物化方案,下面將描述每個物化方案的例子。為說明早期物化的例子,考慮以下示例查詢1,該示例查詢1基于圖1所示的事物處理性能委員會(TPC)基準H(TPC-H)的表模式中的現有表格。示例查詢1:SELECTl_suppkeyfromlineitem,partWHEREl_partkey=p_partkeyANDl_shipdate>‘2008-01-01’;為達到該示例的目的,假設表格PART由列p_partkey劃分,表格LINEITEM由列l_orderkey劃分。基于PART和LINEITEM表格中的已知數據,可以表明,對于查詢1,連接選擇性大約為50%。如本領域中已知的,連接選擇性為連接結果中的記錄間存在多少變化(例如,多少個不同的值)的測量。低選擇性意味著列中的值沒有很多變化,而高選擇性意味著列中的值有大量的變化。在表格LINEITEM中的記錄重排之前,可以檢查該連接選擇性,從而確定早期物化和后期物化的成本。計算該成本之后,發現對于查詢1,早期物化(即,整合l_suppkey與l_partkey,然后重排)更好。這是因為發送50%的行ID和l_suppkey列數據的通信/CPU成本將會比重整全部的l_suppkey列數據成本更高。為說明后期物化的例子,考慮以下示例查詢2,該示例查詢2也基于圖1所示的TPC-H表格模式。示例查詢2:SELECTl_suppkeyfromlineitem,partWHEREl_partkey=p_partkeyANDl_shipdate>‘2014-10-01’;再次假設表格PART由列p_partkey劃分,表格LINEITEM由列l_orderkey劃分。基于查詢2中不同的shipdate值,可以表明針對查詢2的連接選擇性大約為1%。能夠確定使用早期物化和后期物化在表格LINEITEM中重排記錄的成本。計算該成本之后,發現對于查詢2,后期物化(即,首先連接,然后提取有用的l_suppkey數據)更好。這是因為分別發送1%的行ID和l_suppkey列數據的通信/CPU成本將會比重整全部的帶有l_partkey數據的l_suppkey列成本更低。對于具有多個表格連接的一些查詢,可以使用本專利技術提供的混合物化方案。例如,考慮示例查詢3,該示例查詢3基于圖1所示的TPC-H表格模式。示例查詢3:SELECTl_suppkeyfromlineitem,parta,partbWHEREl_partkey=a.p_partkeyANDl_suppkey=b.p_partkeyANDl_shipdate>‘2008-10-01’;再次假設表格PART本文檔來自技高網...
    用于特定列物化調度的系統和方法

    【技術保護點】
    一種用于在關系數據庫管理系統(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

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码人妻精品一区二区三区66| 永久免费无码日韩视频| 无码国产精品一区二区免费式芒果| 未满小14洗澡无码视频网站| 亚洲a∨无码精品色午夜| 无码AV一区二区三区无码| 亚洲AV人无码综合在线观看 | 成人免费无码H在线观看不卡 | 粉嫩大学生无套内射无码卡视频 | 国产免费久久久久久无码| 无码精品国产一区二区三区免费| 成人无码精品一区二区三区| 无码伊人66久久大杳蕉网站谷歌| 亚洲av无码片vr一区二区三区| 丰满熟妇乱又伦在线无码视频| 永久无码精品三区在线4| 男男AV纯肉无码免费播放无码| 久久无码人妻一区二区三区| 狠狠躁夜夜躁无码中文字幕| 无码综合天天久久综合网| 久久久久久亚洲精品无码| 无码爆乳护士让我爽| 精品人妻大屁股白浆无码| 国产AV巨作情欲放纵无码| 在线播放无码高潮的视频| 精品一区二区无码AV| 久久青青草原亚洲av无码| 国产AV无码专区亚洲AV琪琪| 久久精品无码中文字幕| 蜜色欲多人AV久久无码| 日韩精品无码区免费专区| 中文无码一区二区不卡αv| 亚洲Av无码一区二区二三区| 久久无码人妻一区二区三区 | 无码一区二区三区AV免费| 久久久久亚洲av无码专区 | 日韩精品无码一区二区中文字幕 | 日韩精品久久无码中文字幕 | 久久精品中文字幕无码绿巨人| 夜夜添无码一区二区三区| 无码国产乱人伦偷精品视频|