[發明專利]聚合查詢方法及裝置在審
| 申請號: | 202310486003.X | 申請日: | 2023-04-28 |
| 公開(公告)號: | CN116501756A | 公開(公告)日: | 2023-07-28 |
| 發明(設計)人: | 杜沛韓;劉彬;王國平;唐銘豆;余璜 | 申請(專利權)人: | 北京奧星貝斯科技有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 靳玫 |
| 地址: | 100020 北京市朝陽區望京東園*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 聚合 查詢 方法 裝置 | ||
本說明書提供一種聚合查詢方法及裝置,訪方法包括:接收聚合查詢請求針對的數據庫表的數據流;確定數據流中第一數據的待聚合列的非重復值數NDV,并發送第一數據至目標節點;在NDV達到第一設定條件時,根據NDV確定目標存儲閾值,并停止發送第一數據;對待接收的數據流中的第二數據進行聚合操作,并發送聚合結果至目標節點,聚合結果使用的存儲區域不超過目標存儲閾值。通過對接收的第一數據在未聚合的情況下直接進行發送,并在接收數據的期間確定NDV,實現根據實際數據分布來調整聚合結果可使用的存儲區域的上限,可以減小CPU開銷、避免非必要的網絡通信開銷,并且能夠解決相關技術中利用優化器決策引起的數據傾斜問題。
技術領域
本說明書一個或多個實施例涉及數據庫技術領域,尤其涉及一種聚合查詢方法及裝置。
背景技術
分組下推技術(Group?By?Pushdown,GPD)是數據庫在并行場景下計算聚合的優化手段。具體是在數據進行網絡傳輸之前,預先在本地完成一次數據的預聚合,然后將預聚合后的數據分配到不同的工作線程完成最終的聚合。GPD具有很好的擴展性,且在聚合率比較高的場景下可以降低數據分發的成本。
相關技術中這種執行計劃一般由優化器根據數據庫表中的實際數據的統計信息選擇是否使用GPD算法。然而,由于優化器在一些情況下難以得到精確的統計信息,可能無法做出正確的分組下壓決策。
發明內容
有鑒于此,本說明書一個或多個實施例提供一種聚合查詢方法及裝置。
為實現上述目的,本說明書一個或多個實施例提供技術方案如下:
根據本說明書一個或多個實施例的第一方面,提出了一種聚合查詢方法,應用于一個或多個服務器節點,包括:
接收聚合查詢請求針對的數據庫表的數據流,所述數據庫表分布在所述多個服務器節點上;
確定所述數據流中第一數據的待聚合列的非重復值數NDV,并發送所述第一數據至目標節點,其中,所述目標節點是所述多個服務器節點中的一個;
在所述NDV達到第一設定條件的情況下,根據所述NDV確定目標存儲閾值,并停止發送所述第一數據;
對待接收的所述數據流中的第二數據進行所述聚合查詢請求指示的聚合操作,并發送聚合結果至所述目標節點,所述聚合結果使用的存儲區域不超過所述目標存儲閾值。
在一些實施例中,所述方法還包括:
以設定周期獲取所述第一數據的去重率,所述去重率根據所述NDV與接收到的第一數據的總數據量的比值確定;
在所述去重率大于第一比例閾值的情況下,確定所述NDV符合第一設定條件。
在一些實施例中,在確定所述數據流中第一數據的待聚合列中非重復值數NDV之前,所述方法還包括:
對所述數據流中的第三數據進行所述聚合查詢請求指示的聚合操作,并發送聚合結果至所述目標節點,所述聚合結果使用的存儲區域不超過初始存儲閾值;
在所述聚合結果不符合第二設定條件的情況下,確定所述數據流中第一數據的待聚合列中的NDV,并發送所述第一數據至所述目標節點。
在一些實施例中,所述對對所述數據流中的第三數據進行所述聚合查詢請求指示的聚合操作,并發送聚合結果至所述目標節點,包括:
在所述聚合結果使用的存儲區域達到所述初始存儲閾值的情況下,獲取所述聚合結果的去重率;
在所述去重率小于第二比例閾值的情況下,在發送所述聚合結果之后清空存儲區域中存儲的聚合結果,并根據接收的第三數據重新生成聚合結果。
在一些實施例中,所述方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奧星貝斯科技有限公司,未經北京奧星貝斯科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310486003.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種包裝瓶檢查清洗方法及設備
- 下一篇:一種管道檢測機器人





