摘要:近年來,隨著大數(shù)據(jù)場景的興起,RDBMS由于其自身的擴(kuò)展性和可用性限制無法滿足企業(yè)需求。No SQL數(shù)據(jù)庫的出現(xiàn)彌補(bǔ)了傳統(tǒng)關(guān)系型數(shù)據(jù)庫在大數(shù)據(jù)領(lǐng)域的不足。No SQL數(shù)據(jù)庫本身具有良好的擴(kuò)展性、容錯性以及實時訪問、存儲TB級別數(shù)據(jù)的特點。HBase就是以HDFS和MapReduce為基礎(chǔ)的開源No SQL型分布式數(shù)據(jù)庫,它不支持二級索引、事務(wù)和批量數(shù)據(jù)處理時延長等[1]。本文以HBase和Spark為基礎(chǔ),增加插件使HBase支持SQL語句和二級索引,通過修改Spark源碼,提升對HBase數(shù)據(jù)的本地化計算級別。插件對HBase無侵入、低耦合,支持用戶輸入SQL語句,把輸入字段轉(zhuǎn)化為HBase的列族和列限定符,根據(jù)不同的場景選取不同的執(zhí)行方案。MapReduce計算框架具有計算效率低,無法利用HBase的讀寫緩存的缺陷[1],原始Spark框架不能感知HBase數(shù)據(jù)分片。本文改進(jìn)Spark能感知HBase數(shù)據(jù)分片,對HBase中數(shù)據(jù)進(jìn)行高級別本地化計算。最終,將本文設(shè)計的系統(tǒng)與業(yè)內(nèi)常用的Hive+HBase方案對比常用SQL消耗的時延[3]。通過實驗得出,本文構(gòu)建的優(yōu)化方案在沒有缺失HBase的優(yōu)良特性的基礎(chǔ)上加強(qiáng)了部分應(yīng)用場景的實時性。
注:因版權(quán)方要求,不能公開全文,如需全文,請咨詢雜志社