[發明專利]一種寫入半結構化數據的方法和分布式NewSQL數據庫系統有效
| 申請號: | 201710580754.2 | 申請日: | 2017-07-17 |
| 公開(公告)號: | CN107402991B | 公開(公告)日: | 2020-05-19 |
| 發明(設計)人: | 晉彤 | 申請(專利權)人: | 云潤大數據服務有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/27 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 梁順宜;郝傳鑫 |
| 地址: | 510000 廣東省廣州市天*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 寫入 結構 數據 方法 分布式 newsql 數據庫 系統 | ||
本發明公開了一種寫入半結構化數據的方法,包括:以JDCB/ODBC的接口方式接入用戶請求,其中,所述用戶請求包括需要寫入的JSON數據;解析所述用戶請求,編譯以及生成對應的執行計劃;根據執行計劃,將所述JSON數據作為普通字符串類型整體作為一個數據字段寫入數據表;在所述JSON數據寫入數據表時,將所述JSON數據作為一個嵌套的類型生成倒排索引形式的多個索引數據,并將多個所述索引數據寫入到所述索引表;將所述JSON數據完成寫入的處理結果返回用戶。本發明還公開了一種分布式NewSQL數據庫系統。本發明能實現JSON格式的數據查詢,解決處理半結構化數據時效果以及性能不佳的問題。
技術領域
本發明涉及大數據技術領域,尤其涉及一種寫入半結構化數據的方法和分布式NewSQL數據庫系統。
背景技術
目前Hbase是Hadoop生態體系中最著名的分布式NoSQL數據庫之一。Hbase主要組件包括HMaster和HRegionsever,為用戶提供表格類型的數據模型,按主鍵范圍劃分為多個region,HMaster負責管理和分配region,HRegionserver負責region數據的讀寫。現有的Hbase存儲的數據沒有數據類型之分,均為byte數組,因此如若要存儲JSON這種半結構化數據即在查詢方面會存在一些問題。在Hbase要存儲JSON格式數據,則常規會將整個JSON對象當作字符串存儲。該方式存在如下缺陷:
要過濾記錄的時候,需要將所有的記錄都讀取出來然后在客戶端進行過濾,在數據量較大的情況下該性能不能被接受。
要更新記錄的時候,需要將記錄讀取出來再針對具體的字段進行更新后重寫入到Hbase進行覆蓋。
發明內容
本發明實施例的目的是提供一種寫入半結構化數據的方法和分布式NewSQL數據庫系統,能實現JSON格式的數據儲存,解決處理半結構化數據時效果以及性能不佳的問題。
為實現上述目的,本發明實施例提供了一種寫入半結構化數據的方法,適用于分布式NewSQL數據庫系統,包括:
以JDCB/ODBC的接口方式接入用戶請求,其中,所述用戶請求包括需要寫入的JSON數據;
解析所述用戶請求,編譯以及生成對應的執行計劃;
根據執行計劃,將所述JSON數據作為普通字符串類型整體作為一個數據字段寫入數據表;
在所述JSON數據寫入數據表時,將所述JSON數據作為一個嵌套的類型生成倒排索引形式的多個索引數據,并將多個所述索引數據寫入到所述索引表;
將所述JSON數據完成寫入的處理結果返回用戶。
進一步的,還包括:將所述用戶請求轉化SQL語句形式的SQL請求。
進一步的,所述解析所述用戶請求,編譯以及生成對應的執行計劃包括:
判斷共享緩存池中是否存在與所述SQL請求相對應的預存SQL語句,若是,則輸出相對應的所述預存SQL語句對應的執行計劃,若否,則,
對所述SQL請求進行語法檢查,若語法錯誤返回錯誤信息給用戶,否則,
對所述SQL請求進行語義檢查,若語義錯誤返回錯誤信息給用戶,否則,
對所述SQL請求進行視圖以及表達式轉換,獲得對應的轉化結果;
根據所述轉換結果選擇優化器,獲得對應的優化器選擇結果;
根據所述優化器選擇結果選擇對應的數據連接方式以及連接順序;
根據連接方式和連接順序選擇搜索的路徑;
根據搜索路徑生成執行計劃,并輸出執行計劃。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于云潤大數據服務有限公司,未經云潤大數據服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710580754.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





