欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

優(yōu)化對稱資源上的并行查詢執(zhí)行的機制的制作方法

文檔序號:9756911閱讀:309來源:國知局
優(yōu)化對稱資源上的并行查詢執(zhí)行的機制的制作方法
【專利說明】優(yōu)化對稱資源上的并行查詢執(zhí)行的機制
[0001] 相關申請案交叉申請
[0002] 本發(fā)明要求2014年9月4日由Yanchen Liu等人遞交的發(fā)明名稱為"優(yōu)化對稱資源 上的并行查詢執(zhí)行的機制(Mechanism for Optimizing Parallel Execution of Queries on Symmetric Resources)"的第14/477,296號美國專利申請案以及2013年9月5日由 Yanchen Liu等人遞交的發(fā)明名稱為"優(yōu)化對稱資源上的并行查詢執(zhí)行的機制(Me chan i sm for Optimizing Parallel Execution of Queries on Symmetric Resources)''的第61/ 874,027號美國臨時專利申請案的在先申請優(yōu)先權,這兩個在先申請的內容以全文引入的 方式并入本文本中。
[0003] 關于由聯(lián)邦政府贊助研究或開發(fā)的聲明
[0004] 不適用。
[0005] 參考縮微膠片附錄
[0006] 不適用。
【背景技術】
[0007] 數(shù)據(jù)庫大小正在呈指數(shù)級增長,因此面向列的關系數(shù)據(jù)庫被認為是提高大型數(shù)據(jù) 集的查詢速度的一種方法,還可稱為目錄。多核中央處理器(central processing unit, CPU)的快速開發(fā)可提供機會來進一步減少查詢執(zhí)行時間。提高CPU與大型數(shù)據(jù)集的并行使 用成為面向列的關系數(shù)據(jù)庫加速查詢的一個重要問題。分段分區(qū)策略是一種將基于列的數(shù) 據(jù)庫中的表分為多個分段使得多核CPU可以并行作用于這些分段上。分段分區(qū)策略可以最 大化多CPU資源的利用率。

【發(fā)明內容】

[0008] 在一項實施例中,本發(fā)明包括一種方法,所述方法包括:接收用于數(shù)據(jù)庫查詢的邏 輯執(zhí)行計劃,所述數(shù)據(jù)庫查詢對應于所述數(shù)據(jù)庫的多個表,其中所述邏輯執(zhí)行計劃包括一 個或多個操作符;接收所述邏輯執(zhí)行計劃中每個所述操作符的操作符成本;基于所述邏輯 執(zhí)行計劃和對應于第一表的操作符成本計算所述第一表的第一累積處理成本;基于所述邏 輯執(zhí)行計劃和對應于第二表的操作符成本計算所述第二表的第二累積處理成本;將所述第 一累積處理成本與所述第二累積處理成本進行比較以確定具有最高累積處理成本的表;以 及響應于比較所述累積處理成本,計算物理執(zhí)行計劃,所述物理執(zhí)行計劃需要劃分所述具 有最尚累積處理成本的表。
[0009] 在另一項實施例中,本發(fā)明包括一種方法,所述方法包括:接收用于查詢包括多個 表的數(shù)據(jù)庫中數(shù)據(jù)的指令;通過執(zhí)行所述指令接收有關第一表的累積操作符選擇性;基于 所述第一表的所述操作符選擇性計算所述第一表的第一累積處理成本;通過執(zhí)行所述指令 接收有關第二表的累積操作符選擇性;基于所述第二表的所述操作符選擇性計算所述第二 表的第二累積處理成本;將所述第一累積處理成本與所述第二累積處理成本進行比較;以 及響應于所述比較,選擇一個表進行劃分,使得選擇進行劃分的所述表具有最高的累積處 理成本。
[0010] 在又一項實施例中,本發(fā)明包括一種裝置,所述裝置包括:端口,用于接收與多個 線程將對多個數(shù)據(jù)庫表執(zhí)行的查詢相關聯(lián)的查詢樹、存儲在每個表中的多個記錄、多個操 作符成本以及多個累積的有效選擇性值,其中每個操作符成本對應于由所述查詢樹標識的 操作符和其中一個所述表,每個累積的有效選擇性值對應于由所述查詢樹標識的其中一個 所述操作符以及其中一個所述表;以及處理器,耦合至所述端口并用于計算每個表的累積 處理成本包括存儲在所述表中的多個記錄乘以與所述表對應的所述操作符成本之和以及 乘以對應于所述表的所述累積的有效選擇性值的乘積,以及響應于所述比較,計算用于所 述查詢的查詢執(zhí)行計劃,所述查詢執(zhí)行計劃包括用于劃分所述具有最高累積處理成本的所 述數(shù)據(jù)庫表之一的指令。
[0011] 結合附圖和權利要求書可以從以下的詳細描述中更清楚地理解這些和其它特征。
【附圖說明】
[0012] 為了更透徹地理解本發(fā)明,現(xiàn)參閱結合附圖和【具體實施方式】而描述的以下簡要說 明,其中的相同參考標號表不相同部分。
[0013] 圖1為數(shù)據(jù)庫查詢架構的實施例的示意圖。
[0014] 圖2為網(wǎng)元的實施例的示意圖。
[0015] 圖3為處理成本確定的實施例的示意視圖。
[0016] 圖4為用于搜索數(shù)據(jù)庫的物理執(zhí)行計劃的實施例的示意視圖。
[0017] 圖5為用于在數(shù)據(jù)庫中進行基于成本的分段劃分的方法的實施例的流程圖。
[0018] 圖6為用于在數(shù)據(jù)庫中進行基于成本的分段劃分的方法的另一實施例的流程圖。
[0019] 圖7為用于數(shù)據(jù)庫查詢的劃分計劃的實施例的示意視圖。
[0020] 圖8為用于數(shù)據(jù)庫查詢的查詢執(zhí)行時間和CPU資源并行的實施例的圖。
[0021] 圖9為用于數(shù)據(jù)庫查詢的查詢執(zhí)行時間和CPU資源并行的另一實施例的圖。
[0022] 圖10為實驗性數(shù)據(jù)的實施例的圖。
[0023] 圖11為其它實驗性數(shù)據(jù)的實施例的圖。
【具體實施方式】
[0024] 首先應理解,盡管下文提供一項或多項實施例的說明性實施方案,但所公開的系 統(tǒng)和/或方法可使用任何數(shù)目的技術來實施,無論該技術是當前已知還是現(xiàn)有的。本發(fā)明決 不應限于下文所說明的說明性實施方案、附圖和技術,包括本文所說明并描述的示例性設 計和實施方案,而是可在所附權利要求書的范圍以及其等效物的完整范圍內修改。
[0025]替代性分段分區(qū)方法也可以加速多表查詢。在MonetDB中采用的那些方法等可選 擇最大表來劃分。替代性方法可選擇第一個相關表的表以在操作符樹中執(zhí)行聯(lián)合操作。然 而,通過對100千兆字節(jié)(gigabytes,GB)的數(shù)據(jù)使用事務處理性能委員會基準程序Η (Transaction Processing Performance Council benchmark H,TPC-H)進行石角認,如本文 將公開的那樣,用于多表多操作查詢的基于成本的分段分區(qū)(cost-based piece partitioning,CBPP)優(yōu)化器相比于傳統(tǒng)方法可提高性能。
[0026]本文公開的是能夠在關系數(shù)據(jù)庫中并行使用對稱計算資源(例如多個線程和/或 多個內核)進行數(shù)據(jù)查詢的程序。本發(fā)明能夠使用多核CPU的多線程能力,多核CPU通過使用 基于成本的分段分區(qū)對數(shù)據(jù)庫表執(zhí)行數(shù)據(jù)查詢。這種分區(qū)可基于累積處理成本或基于確定 計算成本的其它方法。該累積處理成本可根據(jù)被計算的表中的行數(shù)、將對表進行的操作中 涉及的操作符的操作符處理成本,和/或表的累積操作符選擇性值來確定。在一些實施例 中,可以對具有最大累積處理成本的單個表執(zhí)行分區(qū)。在其它實施例中,可以根據(jù)數(shù)據(jù)庫中 多個表之間的成本差異對多個表進行分區(qū)。
[0027] 圖1為數(shù)據(jù)庫查詢架構100的實施例的示意圖。架構100可用于關系數(shù)據(jù)庫的數(shù)據(jù) 查詢以利用現(xiàn)有的多核CHJ多線程能力和/或本領域普通技術人員在查看本發(fā)明之后了解 到的能夠訪問相同數(shù)據(jù)集的任何其它對稱計算資源集。用戶接口 110可從想要搜索數(shù)據(jù)庫 170的用戶接收一個或多個搜索詞(例如搜索字符串)。搜索詞可告訴查詢解析器120用戶想 要搜索什么信息。在接收到搜索詞之后,可從用戶接口 110向查詢解析器120傳遞這些搜索 詞。在查詢解析器120處,搜索詞可轉換成組織為一系列有序步驟和/或具體指令的用于搜 索數(shù)據(jù)庫170的多個操作符。在某些實施例中,有序步驟和/或具體指令可稱為操作符鏈、邏 輯操作計劃、邏輯執(zhí)行計劃、查詢樹或本領域普通技術人員認為有序步驟和/或具體指令是 數(shù)據(jù)庫搜索的查詢解析結果的任意其它名稱。
[0028] 由查詢解析器120輸出的邏輯執(zhí)行計劃可被傳輸給CBPP優(yōu)化器130。該邏輯執(zhí)行計 劃可告訴CBPP優(yōu)化器130采取哪些步驟來獲取用戶搜索的信息。CBPP優(yōu)化程序130可使用從 操作系統(tǒng)(Operating System,0S)內核140、數(shù)據(jù)統(tǒng)計150和查詢解析器120接收的輸入來確 定在數(shù)據(jù)庫170中搜索的每個表的處理成本。該處理成本可以是執(zhí)行數(shù)據(jù)庫中每個表的邏 輯操作計劃所必需的CPU資源的計算。具體而言,為數(shù)據(jù)庫170中每個表計算的處理成本可 以是累積處理成本,例如,處理成本可能考慮存在于用于搜索數(shù)據(jù)庫170的一系列有序步驟 中的每個操作符。例如,CBPP優(yōu)化程序130可從查詢解析器120接收邏輯操作計劃、從0S內核 140接收對應于邏輯操作計劃中每個操作符的操作符系數(shù)、從數(shù)據(jù)統(tǒng)計150接收當前正為其 確定處理成本的表中的多個記錄,以及從數(shù)據(jù)統(tǒng)計150接收操作符選擇性或累積有效選擇 性。術語"累積有效選擇性"在本文通常用來指代通過操作符鏈的選擇性,操作符鏈可相乘 地累積以產生整個鏈的有效整體選擇性。一旦接收到,可根據(jù)下文描述的累積處理成本估 計到CBPP優(yōu)化器130的輸入以確定數(shù)據(jù)庫170中每個表的處理成本。隨后可比較所計算出的 每個表的累積處理成本以確定具有最高累積處理成本的表。根據(jù)比較的結果,CBPP優(yōu)化器 130可確定用于搜索數(shù)據(jù)庫170的物理執(zhí)行計劃,其包括用于劃分被確定為具有最高累積分 區(qū)成本的表的計劃。在一些實施例中,確定物理執(zhí)行計劃可包括根據(jù)比較結果劃分數(shù)據(jù)庫 170中具有最高累積處理成本的表。
[0029 ]可以根據(jù)任何合適的劃分方案,包括例如分段劃分,對該表進行劃分。該表可根據(jù) CPU中可用的資源劃分為多個分段。例如,該表可劃分為對應于CPU中可用處理線程的數(shù)目 的多個分段。又例如,該表可劃分為對應于CHJ中可用處理內核的數(shù)目的多個分段。可選地, 該表可劃分為對應于CHJ中可用對稱資源的數(shù)目的任意數(shù)
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
漳平市| 南城县| 临江市| 靖江市| 九江县| 丰宁| 英山县| 岳池县| 长岛县| 门头沟区| 延津县| 梁平县| 隆化县| 前郭尔| 栾川县| 繁昌县| 五指山市| 庄浪县| 寻乌县| 安远县| 康定县| 郓城县| 泰兴市| 通道| 神木县| 沙田区| 确山县| 锡林浩特市| 同仁县| 孟津县| 永嘉县| 华池县| 格尔木市| 临颍县| 乌拉特后旗| 三原县| 子长县| 绥江县| 北宁市| 资溪县| 合作市|