[發明專利]面向海量分布式數據庫的嵌套查詢方法有效
| 申請號: | 201410333217.4 | 申請日: | 2014-07-14 |
| 公開(公告)號: | CN104090962B | 公開(公告)日: | 2017-03-29 |
| 發明(設計)人: | 劉文潔;裴歐亞;李戰懷;田征 | 申請(專利權)人: | 西北工業大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 西北工業大學專利中心61204 | 代理人: | 王鮮凱 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 海量 分布式 數據庫 嵌套 查詢 方法 | ||
技術領域
本發明屬于云計算環境下的海量數據管理領域,具體涉及一種面向海量分布式數據庫的嵌套查詢方法。?
背景技術
隨著云計算、web2.0等技術的進一步發展,傳統的關系數據庫在應對海量數據處理時顯得力不從心。而NoSQL數據庫由于放棄了傳統關系型數據庫嚴格的事務一致性和范式約束,采用弱一致性模型,支持分布式和水平擴展,滿足了海量數據管理的需求,因此在大數據處理領域得到了廣泛關注和應用,例如Google的BigTable和Amazon的Dynamo。NoSQL數據庫相對于傳統關系型數據,具有性價比高和可擴展性等特點,從而促使NoSQL數據庫成為國內金融企業應對海量數據的首選數據庫。?
但是,傳統的金融業務除了要處理海量數據外,還需要保證數據處理過程中事務的強一致性。但是目前,大多數的NoSQL數據庫不支持事務的強一致性,從而無法滿足金融業務的需求。?
文獻“阿里巴巴.OceanBase0.4.2描述.https://github.com/alibaba/oceanbase/wiki/OceanBase-0.4.2-描述.2013.11”中提出了一種融合了NOSQL數據庫架構和關系數據庫特點的新型數據庫架構-OceanBase,不僅支持跨行跨表的事務的強一致性,也支持數據節點的可擴展性,在國家倡導信息安全和應用國產軟件的背景下,得到了國內金融業的普遍關注。?
Oceanbase采用了NOSQL數據庫的架構,具有可擴展性的特點,同時又較好的支持SQL查詢和事務的強一致性,在應對金融業務上,具有很大優勢。然而,Oceanbase雖然支持關系語言操作,但支持的SQL功能非常有限,特別是對于金融應用中常用的嵌套子查詢,尚未支持,已經實現的查詢策略中,也存在性能問題,使得其難于滿足金融需求,無法導入實際應用中。?
發明內容
為了克服現有Oceanbase的SQL查詢方法中不支持嵌套查詢的不足,本發明提供一種面向海量分布式數據庫的嵌套查詢方法。該方法采用Bloomfilter和HashMap的兩階段過濾方法來應對大數據量查詢,通過構建查詢樹和查詢引擎實現嵌套子查詢功能。在小數據集查詢時,直接綁定子查詢結果集到物理計劃。當大數據量查詢時,啟用兩?階段過濾策略,使用BloomFilter在ChunkServer上進行初次過濾,過濾后的數據在MergeServer進行二次精確匹配,并采用HashMap來存儲需要對比的結果集,保證一次過濾后的數據能快速找到匹配的數據行。由于BloomFilter能快速過濾掉大量無關數據,而HashMap又能快速匹配符合條件的結果集。因此,本發明方法在實現了嵌套查詢的基礎上,大大提高了SQL查詢速度。?
本發明解決其技術問題所采用的技術方案是:一種面向海量分布式數據庫的嵌套查詢方法,其特點是采用以下步驟:?
步驟一、采用關系型數據庫的SQL語句解析結果構建查詢樹:?
查詢樹的節點數據結構如下:?
其中,phy內保存子節點執行結果填充位置標記;phy內的位置標記與next_child一一對應。?
步驟二、為查詢樹構建執行引擎;根據查詢樹的特性,采用從葉節點到根節點的遞歸計算算法。?
遞歸算法如下:?
串行執行每個節點;除根節點外,每個節點執行結束,將本節點從查詢樹移除,以確保查詢樹的正確執行。?
算法中的threshold控制著是否啟用HashMap和Bloomfilter。threshold為可變參數,可變化范圍為(0,511]。?
當子查詢結果集不大于threshold時,直接將子查詢結果集寫入主查詢的物理計劃內,接下來的物理計劃執行等處理遵循OceanBase現有的查詢處理。當子查詢結果集大于threshold時,將主查詢的物理計劃同子查詢結果集生成的Bloomfilter一起發送至Chunkserver處理,MergeServer利用子查詢結果集生成的HashMap過濾獲取的結果集。?
步驟三、首先ChunkServer進行非嚴格的BloomFiter過濾,獲得最終結果集的超集;其次MergeServer進行嚴格的HashMap過濾,獲得最終結果集。?
I、BloomFilter過濾。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北工業大學,未經西北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410333217.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種智能信息推送的方法和裝置
- 下一篇:數據文件處理方法、裝置和系統





