[發明專利]層次窗口數據庫查詢進行在審
| 申請號: | 201710579965.4 | 申請日: | 2017-07-17 |
| 公開(公告)號: | CN107798044A | 公開(公告)日: | 2018-03-13 |
| 發明(設計)人: | R.布魯內爾;N.梅 | 申請(專利權)人: | SAP歐洲公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市柳沈律師事務所11105 | 代理人: | 邵亞麗 |
| 地址: | 德國瓦*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 層次 窗口 數據庫 查詢 進行 | ||
相關申請
本申請要求如下美國專利申請的優先權:于2016年7月18日提交的題 為“主存關系數據庫中的索引輔助層次計算(Index-Assisted Hierarchical Computations in Main Memory Relational Databases)”的美國專利申請序列號 62/363,730,其內容通過引用全文并入。
背景技術
在商業和科學應用中,層次(hierarchies)出現在許多場景中:例如,組 織或財務數據通常層次地組織,而科學常規地在分類法中使用層次,例如針 對動物物種。在底層關系數據庫管理系統(underlying relational database management system,RDBMS)中,它們使用關系樹編碼而在層次表中表示。 特別是在分析應用程序中查看典型查詢時,注意層次主要用于兩個目的。第 一個是結構模式匹配,即基于它們在層次中的位置來過濾和匹配行。第二個 是層次計算:傳播測量和進行類似聚合計算以及層次維度。為了在RDBMS 層面上解決兩個目的,需要解決兩個挑戰,即(1)用戶如何在SQL中直觀、 簡潔地表達任務(表達力(expressiveness))?和(2)引擎如何有效率地處 理這些SQL查詢(效率)?
關于模式匹配查詢,兩者可以被認為被充分解決了,因為它們歸結為例 如“是子代(is-descendant)”的層次軸上的直接過濾器和結構連接,并且適 當的索引和連接運算符的技術被很好地研究。層次計算就不能這樣考慮。為 了計算的目的,層次節點的子集與要傳播或聚合的值動態關聯,并且可能被 過濾。在分析應用程序中,這一直是一個常規任務:維度層次通常由非規范 化的級別表(如城市-州-國家-大陸)建模。然后可以使用SQL的基本分組機 制(特別是ROLLUP)來表達某些計算。然而,這對于超出簡單匯總的計算 是不夠的,特別是當層次不被組織成級別而呈現不規則結構——其中一個級 別上的節點可能具有不同類型——和任意深度時。考慮圖1的圖100中的層 次。假設希望計算附加到葉子上的某些值的加權和-如何能夠呈現并入邊(edge)權重的匯總公式?這很快在SQL中變得非常困難。想到的一個工具 是遞歸的常用表表達式(recursive common table expression,RCTE)。然而, 更復雜的類似聚合計算往往會導致復雜的、本質上低效的語句。缺少RDBMS 支持,今天的用戶使用存儲過程(stored procedure)或客戶端代碼作為解決方 法。這些不僅表達力不足,而且忽視了已知的層次,從而在效率方面受到阻 礙。
發明內容
目前的主題通過增強RDBMS后端來解決關于任意不規則層次的復雜計 算的表達力和效率的問題。當前方法的基礎是數據模型和SQL結構,其允許 用戶方便地定義和查詢任意層次。這種安排開辟了新的機會:后端變得意識 到層次結構,并且可以依賴于用于查詢處理的強大的索引方案。下面介紹了 層次計算和對應的SQL結構的概念,可以將其轉換為關系代數中的結構分組 操作。結構分組的有效估計可能需要索引輔助的物理代數運算符。
在一個方面,由數據庫接收以表格的形式請求數據的查詢,其中,在表 格中,每行與節點層次的不同節點相關,查詢指定層次窗口子句和包含由層 次窗口子句指定的層次窗口上的窗口函數的至少一個表達式。然后基于層次 窗口子句,在窗口化表格中構造行的至少一部分的有向無環圖。然后,基于 查詢指定的表達式通過累積來自穿過有向無環圖的邊的行的數據,獲得響應 于查詢的結果。然后可以提供包含所獲得結果的至少一部分的數據。
有向無環圖可以顯式地構造或不顯式地構造。
層次窗口子句可以指定其內容表示行在節點層次中的位置的行字段;通 過這個布置,有向無環圖的結構可以從節點層次的結構派生。層次窗口子句 可以進一步指定穿過構造的有向無環圖的期望數據流的方向。期望數據流的 方向可以遵循節點層次的邊的方向。期望數據流的方向可以遵循節點層次的 反向邊的方向。
穿過有向無環圖的數據流可以繞過節點層次的至少一個中間節點。
提供數據可以包括以下中的至少一個:持久化所獲得結果的至少一部分、 將所獲得結果的至少一部分加載到存儲器中、將所獲得結果的至少一部分傳 送到遠程計算系統、或者將所獲得結果的至少一部分顯示在電子視覺顯示器 中。
查詢還可以指定窗口分區子句,并且根據窗口分區子句對存儲在節點層 次中的數據進行分區,其中,節點層次的所生成的有向無環圖基于所分區的 數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于SAP歐洲公司,未經SAP歐洲公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710579965.4/2.html,轉載請聲明來源鉆瓜專利網。





