[發明專利]實現Hbase數據庫實時查詢的方法和系統在審
| 申請號: | 201310571306.8 | 申請日: | 2013-11-14 |
| 公開(公告)號: | CN104636389A | 公開(公告)日: | 2015-05-20 |
| 發明(設計)人: | 劉德志 | 申請(專利權)人: | 博雅網絡游戲開發(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 何平 |
| 地址: | 518057 廣東省深圳市南山區中山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 hbase 數據庫 實時 查詢 方法 系統 | ||
技術領域
本發明涉及數據庫查詢技術,特別是涉及一種實現Hbase數據庫實時查詢的方法和系統。
背景技術
Hbase數據庫是一個面向列存儲、可伸縮高性能的分布式數據庫。由于其面向列存儲的特性,對海量數據的存儲相比關系型數據庫來說更有優勢,因此廣受用戶親睞。
但是Hbase數據庫是一種noSQL數據庫,即無法直接通過(Structured?QueryLanguage,簡稱SQL)語言實現數據查詢,只能通過rowkey(索引)來實現Hbase數據庫中的數據查詢。對Hbase數據庫雖然可以通過Hive來建立數據倉庫提供SQL數據查詢,但是Hive并不能對Hbase數據庫進行實時查詢。
發明內容
基于此,有必要針對Hbase數據庫不支持SQL語言進行實時查詢的問題,提供一種支持SQL語言實時查詢Hbase數據庫的實現Hbase數據庫實時查詢的方法。
此外,還有必要提供一種支持SQL語言實時查詢Hbase數據庫的實現Hbase數據庫實時查詢的系統。
一種實現Hbase數據庫實時查詢的方法,所述方法包括:
獲取結構化查詢語言文本;
解析所述結構化查詢語言文本得到查詢元素,所述待查詢元素包括第一待查詢表;
將所述查詢元素封裝成第一待查詢表對應的待查詢對象;
根據所述待查詢對象為所述第一待查詢表構造第一索引;
通過所述待查詢對象和所述第一索引在Hbase數據庫中的第一待查詢表中進行數據查詢得到結果集,所述結果集包括行記錄,所述行記錄用于保存查詢數據。
在其中一個實施例中,所述通過所述待查詢對象和所述第一索引在Hbase數據庫中的第一待查詢表中進行數據查詢得到結果集的步驟之后,所述方法還包括:
從所述查詢元素中提取連接條件,根據所述連接條件得到與當前查詢表連接的下一待查詢表;
將所述查詢元素封裝成下一待查詢表對應的下一待查詢對象;
根據所述下一待查詢對象為所述下一待查詢表構造下一索引;
通過所述下一待查詢對象和所述下一索引在Hbase數據庫中的所述下一待查詢表中進行數據查詢得到行記錄,并將所述行記錄更新至所述結果集。
在其中一個實施例中,所述根據所述下一待查詢對象為所述下一待查詢表構造下一索引的步驟為:
讀取所述結果集中行記錄的行值,根據所述行值和所述連接條件得到下一索引構造條件;
根據所述下一索引構造條件和預置的下一索引構造規則為所述下一待查詢表構造下一索引。
在其中一個實施例中,所述下一索引包括起始值和結束值;所述根據所述下一索引構造條件和預置的下一索引構造規則為所述下一待查詢表構造下一索引的步驟為:
根據下一索引構造條件確定下一索引的構造范圍;
根據所述下一索引的構造范圍和所述預置的下一索引構造規則得到下一待查詢表對應下一索引的起始值和結束值。
在其中一個實施例中,所述通過所述下一待查詢對象和所述下一索引在Hbase數據庫中的所述下一待查詢表中進行數據查詢得到行記錄,并將所述行記錄更新至所述結果集的步驟之后,所述方法還包括:將所述結果集嵌套展示于界面中。
一種實現Hbase數據庫實時查詢的系統,所述系統包括:
語句獲取模塊,用于獲取結構化查詢語言文本;
語句解析模塊,用于解析所述結構化查詢語言文本得到查詢元素,所述待查詢元素包括第一待查詢表;第一對象封裝模塊,用于將所述查詢元素封裝成第一待查詢表對應的待查詢對象;
第一索引構造模塊,用于根據所述待查詢對象為所述第一待查詢表構造第一索引;
第一查詢模塊,用于通過所述待查詢對象和所述第一索引在Hbase數據庫中的第一待查詢表中進行數據查詢得到結果集,所述結果集包括行記錄,所述行記錄用于保存查詢數據。
在其中一個實施例中,所述系統還包括:
第二待查詢表獲取模塊,用于從所述查詢元素中提取連接條件,根據所述連接條件得到與當前查詢表連接的下一待查詢表;
第二對象封裝模塊,用于將所述查詢元素封裝成下一待查詢表對應的下一待查詢對象;
第二索引構造模塊,用于根據所述下一待查詢對象為所述下一待查詢表構造下一索引;
第二查詢模塊,用于通過所述下一待查詢對象和所述下一索引在Hbase數據庫中的所述下一待查詢表中進行數據查詢得到行記錄,并將所述行記錄更新至所述結果集。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于博雅網絡游戲開發(深圳)有限公司;,未經博雅網絡游戲開發(深圳)有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310571306.8/2.html,轉載請聲明來源鉆瓜專利網。





