国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種分布式newSQL數(shù)據(jù)庫的訪問方法與流程

      文檔序號:12034837閱讀:763來源:國知局
      本發(fā)明涉及大數(shù)據(jù)
      技術(shù)領(lǐng)域
      :,尤其涉及一種分布式newsql數(shù)據(jù)庫的訪問方法。
      背景技術(shù)
      ::目前hbase是hadoop生態(tài)體系中最著名的分布式nosql數(shù)據(jù)庫之一。其設(shè)計理念來源于google的bigtable。hbase主要組件包括hmaster和hregionsever,為用戶提供表格類型的數(shù)據(jù)模型,按主鍵范圍劃分為多個region,hmaster負責(zé)管理和分配region,hregionserver負責(zé)region數(shù)據(jù)的讀寫。但隨著越來越多的應(yīng)用嘗試遷移到hbase上:用戶需要通過api編程訪問hbase,不支持標(biāo)準(zhǔn)jdbc接口,對于復(fù)雜應(yīng)用使用成本過高,直接導(dǎo)致許多較為復(fù)雜的應(yīng)用無法使用hbase,使用成本高。技術(shù)實現(xiàn)要素:本發(fā)明實施例的目的是提供一種分布式newsql數(shù)據(jù)庫的訪問方法,支持jdbc接口的訪問方式,簡化etl過程,降低成本。為實現(xiàn)上述目的,本發(fā)明實施例提供了一種分布式newsql數(shù)據(jù)庫的訪問方法,包括:通過jdbc接口接收用戶請求;通過所述jdbc接口調(diào)用jdbc對象方法以給出所述用戶請求對應(yīng)的sql語句;將所述用戶請求對應(yīng)的sql語句發(fā)送至指定的底層的數(shù)據(jù)庫,以根據(jù)所述用戶請求的sql語句從所述底層的數(shù)據(jù)庫獲取結(jié)果;將所述結(jié)果通過jdbc接口返回用戶。進一步的,所述根據(jù)所述用戶請求的sql語句從所述底層的數(shù)據(jù)庫獲取結(jié)果包括:解析所述用戶請求對應(yīng)的sql語句,根據(jù)所述sql語句編譯以及定制執(zhí)行計劃;并行地執(zhí)行所述計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果。進一步的,所述解析所述用戶請求對應(yīng)的sql語句,根據(jù)所述sql語句編譯以及定制執(zhí)行計劃包括:判斷共享緩存池中是否已經(jīng)存在sql語句,如若存在,輸出sql語句對應(yīng)的執(zhí)行計劃;否則,對sql語句進行語法檢查和進行語義檢查,語法檢查和語義檢查通過后,對sql語句進行視圖以及表達式轉(zhuǎn)換;根據(jù)所述轉(zhuǎn)換結(jié)果進行優(yōu)化器選擇;根據(jù)所述優(yōu)化器的選擇結(jié)果選擇數(shù)據(jù)連接方式以及連接順序;根據(jù)所述連接方式和所述連接順序選擇搜索路徑;根據(jù)所述搜索路徑生成執(zhí)行計劃并輸出。進一步的,所述并行地執(zhí)行所述計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:根據(jù)索引定義將以倒排索引的方式將索引數(shù)據(jù)并行寫入所述索引表,從而建立二級索引;將已建立二級索引的作為結(jié)果;其中,所述用戶請求包括存儲數(shù)據(jù);或,根據(jù)索引定義以及查詢條件優(yōu)先查詢所述索引表,并行地通過所述索引表查詢結(jié)果再次查詢數(shù)據(jù)表;將從所述數(shù)據(jù)表獲取的數(shù)據(jù)作為結(jié)果;其中,所述用戶請求包括查詢數(shù)據(jù);進一步的,所述并行地執(zhí)行所述計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:將json數(shù)據(jù)作為普通字符串類型整體作為一個字段寫入到hbase的數(shù)據(jù)表中;根據(jù)字段描述,提取json中的數(shù)據(jù),以倒排索引的方式將索引數(shù)據(jù)寫入到另外的hbase索引表中,完成半結(jié)構(gòu)化數(shù)據(jù)的存儲;將已建立索引數(shù)據(jù)的作為結(jié)果返回;其中,所述用戶請求包括存儲json數(shù)據(jù);或,根據(jù)查詢條件,并行地查詢索引表;將索引表的索引id返回給所述并行任務(wù)執(zhí)行器;根據(jù)所述索引id,查詢數(shù)據(jù)表,以獲取對應(yīng)的json數(shù)據(jù)作為結(jié)果;其中,所述用戶請求包括查詢json數(shù)據(jù);進一步的,所述并行地執(zhí)行所述計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:將圖片數(shù)據(jù)生成信息摘要算法加密后的圖像數(shù)據(jù)格式,將加密后的圖片數(shù)據(jù)寫入到原始數(shù)據(jù)表;并行地將加密后的所述圖片數(shù)據(jù)寫入到圖片數(shù)據(jù)表中進行獨立存儲,將寫入所述圖片數(shù)據(jù)作為結(jié)果;其中,所述用戶請求包括存儲圖片數(shù)據(jù);或,根據(jù)查詢條件,查詢原始數(shù)據(jù)表,得到信息摘要算法加密后的圖像數(shù)據(jù);并行地根據(jù)加密后的所述圖像數(shù)據(jù);查詢圖片數(shù)據(jù)表,獲取圖片數(shù)據(jù)作為結(jié)果,其中,所述用戶請求包括查詢圖片數(shù)據(jù)。進一步的,所述并行地執(zhí)行所述計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:將需要全文檢索的字段作為普通字符串類型寫入到hbase的數(shù)據(jù)表中進行存儲,根據(jù)字段描述,將數(shù)據(jù)寫入到搜索引擎服務(wù)器中進行索引,將建立的索引作為結(jié)果;其中,所述用戶請求包括獲取全文檢索的字段;或,根據(jù)查詢條件,到所述搜索引擎服務(wù)器中查詢具體的索引id,所述搜索引擎服務(wù)器根據(jù)查詢條件返回索引id,根據(jù)索引id,查詢數(shù)據(jù)表,以獲取查詢數(shù)據(jù)作為結(jié)果;其中,所述用戶請求包括查詢?nèi)臋z索的字段。與現(xiàn)有技術(shù)相比,本發(fā)明公開的通過jdbc接口接收用戶請求;通過所述jdbc接口調(diào)用jdbc對象方法以給出所述用戶請求對應(yīng)的sql語句;將所述用戶請求對應(yīng)的sql語句發(fā)送至指定的底層的數(shù)據(jù)庫,以根據(jù)所述用戶請求的sql語句從所述底層的數(shù)據(jù)庫獲取結(jié)果;將所述結(jié)果通過jdbc接口返回用戶的技術(shù)方案,解決了現(xiàn)有技術(shù)不支持標(biāo)準(zhǔn)jdbc接口,對于復(fù)雜應(yīng)用使用成本過高的問題,獲得了簡化etl過程,降低成本的有益效果。附圖說明圖1是本發(fā)明實施例中一種分布式newsql數(shù)據(jù)庫的訪問方法的流程示意圖的流程示意圖;圖2是本發(fā)明實施例中一種分布式newsql數(shù)據(jù)庫的訪問方法的步驟s3的流程示意圖;圖3是本發(fā)明實施例中一種分布式newsql數(shù)據(jù)庫的訪問方法的步驟s31的流程示意圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。參見圖1,是本發(fā)明實施例1提供的一種分布式newsql數(shù)據(jù)庫的訪問方法的流程示意圖,包括步驟:s1、通過jdbc接口接收用戶請求;s2、通過jdbc接口調(diào)用jdbc對象方法以給出用戶請求對應(yīng)的sql語句;s3、將用戶請求對應(yīng)的sql語句發(fā)送至指定的底層的數(shù)據(jù)庫,以根據(jù)用戶請求的sql語句從底層的數(shù)據(jù)庫獲取結(jié)果;s4、將結(jié)果通過jdbc接口返回用戶?,F(xiàn)有的hbase僅提供了javaapi的訪問接口,其封裝了大量的數(shù)據(jù)操作接口。但其操作模式和方法是hbase特有的api模式。與人們習(xí)慣的jdbc方式完全不同。對于普通用戶使用成本高。本實施例通過上述過程實現(xiàn)以標(biāo)準(zhǔn)jdbc/odbc接口的方式接入用戶請求,即實現(xiàn)對分布式newsql數(shù)據(jù)庫的訪問,保持人們常用的操作習(xí)慣,支持標(biāo)準(zhǔn)jdbc接口,簡便了整個etl過程中的清洗、轉(zhuǎn)換和加載過程,降低了用戶成本。進一步的,參見圖2,步驟s3中根據(jù)用戶請求的sql語句從底層的數(shù)據(jù)庫獲取結(jié)果包括:s31、解析用戶請求對應(yīng)的sql語句,根據(jù)sql語句編譯以及定制執(zhí)行計劃;s32、并行地執(zhí)行計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果。進一步的,參見圖3,步驟s31解析用戶請求對應(yīng)的sql語句,根據(jù)sql語句編譯以及定制執(zhí)行計劃具體包括:s311、判斷共享緩存池中是否已經(jīng)存在sql語句,如若存在,輸出sql語句對應(yīng)的執(zhí)行計劃;否則,對sql語句進行語法檢查和進行語義檢查,語法檢查和語義檢查通過后,對sql語句進行視圖以及表達式轉(zhuǎn)換;s312、根據(jù)轉(zhuǎn)換結(jié)果進行優(yōu)化器選擇;s313、根據(jù)優(yōu)化器的選擇結(jié)果選擇數(shù)據(jù)連接方式以及連接順序;s314、根據(jù)連接方式和連接順序選擇搜索路徑;s315、根據(jù)搜索路徑生成執(zhí)行計劃并輸出。進一步的,步驟s32并行地執(zhí)行計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:根據(jù)索引定義將以倒排索引的方式將索引數(shù)據(jù)并行寫入索引表,從而建立二級索引;將已建立二級索引的作為結(jié)果;其中,用戶請求包括存儲數(shù)據(jù);或,根據(jù)索引定義以及查詢條件優(yōu)先查詢索引表,并行地通過索引表查詢結(jié)果再次查詢數(shù)據(jù)表;將從數(shù)據(jù)表獲取的數(shù)據(jù)作為結(jié)果;其中,用戶請求包括查詢數(shù)據(jù);進一步的,針對用戶請求的數(shù)據(jù)為json數(shù)據(jù),步驟s32并行地執(zhí)行計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果可以包括:將json數(shù)據(jù)作為普通字符串類型整體作為一個字段寫入到hbase的數(shù)據(jù)表中;根據(jù)字段描述,提取json中的數(shù)據(jù),以倒排索引的方式將索引數(shù)據(jù)寫入到另外的hbase索引表中,完成半結(jié)構(gòu)化數(shù)據(jù)的存儲;將已建立索引數(shù)據(jù)的作為結(jié)果返回;其中,用戶請求包括存儲json數(shù)據(jù);或,根據(jù)查詢條件,并行地查詢索引表;將索引表的索引id返回給并行任務(wù)執(zhí)行器;根據(jù)索引id,查詢數(shù)據(jù)表,以獲取對應(yīng)的json數(shù)據(jù)作為結(jié)果;其中,用戶請求包括查詢json數(shù)據(jù);進一步的,針對用戶請求的數(shù)據(jù)為圖片數(shù)據(jù),步驟s32并行地執(zhí)行計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:將圖片數(shù)據(jù)生成信息摘要算法加密后的圖像數(shù)據(jù)格式,將加密后的圖片數(shù)據(jù)寫入到原始數(shù)據(jù)表;并行地將加密后的圖片數(shù)據(jù)寫入到圖片數(shù)據(jù)表中進行獨立存儲,將寫入圖片數(shù)據(jù)作為結(jié)果;其中,用戶請求包括存儲圖片數(shù)據(jù);或,根據(jù)查詢條件,查詢原始數(shù)據(jù)表,得到信息摘要算法加密后的圖像數(shù)據(jù);并行地根據(jù)加密后的圖像數(shù)據(jù);查詢圖片數(shù)據(jù)表,獲取圖片數(shù)據(jù)作為結(jié)果,其中,用戶請求包括查詢圖片數(shù)據(jù)。進一步的,針對用戶請求的數(shù)據(jù)為全文檢索數(shù)據(jù),步驟s32并行地執(zhí)行計劃,以獲取數(shù)據(jù)進行歸并匯總作為結(jié)果包括:將需要全文檢索的字段作為普通字符串類型寫入到hbase的數(shù)據(jù)表中進行存儲,根據(jù)字段描述,將數(shù)據(jù)寫入到搜索引擎服務(wù)器中進行索引,將建立的索引作為結(jié)果;其中,用戶請求包括獲取全文檢索的字段;或,根據(jù)查詢條件,到搜索引擎服務(wù)器中查詢具體的索引id,搜索引擎服務(wù)器根據(jù)查詢條件返回索引id,根據(jù)索引id,查詢數(shù)據(jù)表,以獲取查詢數(shù)據(jù)作為結(jié)果;其中,用戶請求包括查詢?nèi)臋z索的字段。具體實施時,首先,通過jdbc接口接收用戶請求;然后,通過jdbc接口調(diào)用jdbc對象方法以給出用戶請求對應(yīng)的sql語句;接著將用戶請求對應(yīng)的sql語句發(fā)送至指定的底層的數(shù)據(jù)庫,以根據(jù)用戶請求的sql語句從底層的數(shù)據(jù)庫獲取結(jié)果;最后,將結(jié)果通過jdbc接口返回用戶。本實施例解決在實際應(yīng)用中對hbase使用成本高、不支持復(fù)雜查詢、可用性較低的問題,保持了人們習(xí)慣的jdbc方式,簡化etl過程,降低用戶成本。以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本
      技術(shù)領(lǐng)域
      :的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。當(dāng)前第1頁12當(dāng)前第1頁12
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1