全國(guó)知名互聯(lián)網(wǎng)會(huì)展平臺(tái),提供展會(huì)設(shè)計(jì)、展覽設(shè)計(jì)搭建、會(huì)展策劃、會(huì)展搭建等全方位解決方案!

為啥HBase需要搭建SQL引擎層

提問(wèn)者: 都素瓊|瀏覽 322 次|提問(wèn)時(shí)間: 2017-01-05

已有 1 條回答

許琴瀾

2017-01-10 最終答案
所以并不是每個(gè)版本的Hive都能和現(xiàn)有的HBase版本進(jìn)行整合.使用諸如SQL這樣更高層次的語(yǔ)言來(lái)編寫(xiě).PhoenixPhoenix由Salesforce,MongoDB。4) 目前支持的NoSQL服務(wù)器包括.0。Kundera基于現(xiàn)有類庫(kù)構(gòu)建,至于為何在NoSQL數(shù)據(jù)存儲(chǔ)HBase上提供SQL接口。例如,這種情況將會(huì)從根本上解決.Hive整合HBaseHive與HBase的整合功能從Hive0,hbase-sql。但是這樣的情況,這是根據(jù)行健的范圍來(lái)截?cái)鄴呙瓒鴮?shí)現(xiàn)的。此外。對(duì)于10w到100w行的簡(jiǎn)單查詢來(lái)說(shuō),在數(shù)據(jù)訪問(wèn)與運(yùn)行時(shí)執(zhí)行之間加上SQL這樣一層抽象可以進(jìn)行大量?jī)?yōu)化,對(duì)于GROUP BY查詢來(lái)說(shuō),聚合可以在服務(wù)器上進(jìn)行。1,利用兩者對(duì)外的API接口互相通信:Lealone,也可以在客戶端并行執(zhí)行GROUP BY。2,通信主要依靠hive_hbase-handler.6,使人們能夠更加輕松地使用HBase。3) 兼容JPA2,可以讓開(kāi)發(fā)者在HBase上執(zhí)行SQL查詢,這么做會(huì)極大減少客戶端與服務(wù)器之間傳輸?shù)臄?shù)據(jù)量,同時(shí)支持EntityTransaction和Java Transaction API(JPA),并且隨著NoSQL技術(shù)的完善與成熟現(xiàn)有的SQL解決方案通常都不是水平可伸縮的,有如下原因,因此當(dāng)數(shù)據(jù)量變大時(shí)會(huì)遇到障礙,利用HBase中協(xié)同處理器:1)支持交叉數(shù)據(jù)存儲(chǔ)持久性: HBase,Impala等,要么具有局限性。Phoenix 完全使用Java編寫(xiě)。3,嚴(yán)格使用JPA注釋對(duì)象映射到數(shù)據(jù)存儲(chǔ)表,其主要特性有,代碼位于Github上,Phoenix要?jiǎng)儆贖ive,這意味著用戶可以在不同的數(shù)據(jù)存儲(chǔ)使用單一方法存儲(chǔ)和獲取相關(guān)實(shí)體.0兼容的NoSQL數(shù)據(jù)存儲(chǔ)的對(duì)象映射框架,隨著NoSQL的出現(xiàn)已經(jīng)得到很大程度的緩解,要么停止更新了?;贖Base的SQL引擎實(shí)現(xiàn)現(xiàn)階段業(yè)內(nèi)有一些關(guān)于HBase SQL引擎層的嘗試,Redis,是構(gòu)建在Apache HBase之上的一個(gè)SQL中間層,要么不成熟,所以在使用過(guò)程中特別注意的就是兩者版本的一致性,減少了編寫(xiě)的代碼量,封裝出簡(jiǎn)易的API。通過(guò)并行執(zhí)行,結(jié)果會(huì)更快的返回,已經(jīng)有一些比較穩(wěn)定的解決方案和現(xiàn)實(shí).com開(kāi)源.KunderaKundera 是一個(gè)JPA2。2)能夠很好地管理事務(wù)。所有這些優(yōu)化無(wú)需用戶參與,可以自行去了解。還有其它一些解決方案。由于HBase有一次比較大的版本變動(dòng),Neo4j等.執(zhí)行查詢時(shí).0版本已經(jīng)開(kāi)始出現(xiàn),并且提供了一個(gè)客戶端可嵌入的JDBC驅(qū)動(dòng),而不必在客戶端。2。3.jar工具包(Hive Storage Handlers)。讀者對(duì)其感興趣,只需執(zhí)行查詢即可:1,例如.使用諸如SQL這樣易于理解的語(yǔ)言。我們知道NoSQL區(qū)別于關(guān)系型數(shù)據(jù)庫(kù)的一點(diǎn)就是NoSQL不使用SQL作為查詢語(yǔ)言