Apache Phoenix是HBase的SQL驅(qū)動(dòng),是一個(gè)HBse的開源SQL引擎,Phoenix 使得 HBase 支持通過 JDBC 的方式進(jìn)行訪問,并將你的 SQL 查詢轉(zhuǎn)成 HBase 的掃描和相應(yīng)的動(dòng)作。有需要的朋友歡迎前來下載使用。
更新亮點(diǎn):
Phoenix 4.x 與 HBase 0.98 和 1.3 兼容。
修復(fù)在連接時(shí)創(chuàng)建 SYSTEM.CATALOG 快照的 bug
關(guān)于行刪除處理的大量錯(cuò)誤修復(fù)
統(tǒng)計(jì)收集改進(jìn)
新增 COLLATION_KEY 函數(shù)
Apache Phoenix功能:
Phoenix通過以下方式實(shí)現(xiàn)了比你自己手寫的方式相同或者可能是更好的性能(更不用說可以少寫了很多代碼):
* 編譯你的SQL查詢?yōu)樵鶫Base的scan語句
* 檢測(cè)scan語句最佳的開始和結(jié)束的key
* 精心編排你的scan語句讓他們并行執(zhí)行
* 讓計(jì)算去接近數(shù)據(jù)通過
* 推送你的WHERE子句的謂詞到服務(wù)端過濾器處理
* 執(zhí)行聚合查詢通過服務(wù)端鉤子(稱為協(xié)同處理器)
除此之外,我們還做了一些有趣的增強(qiáng)功能來更多地優(yōu)化性能:
* 實(shí)現(xiàn)了二級(jí)索引來提升非主鍵字段查詢的性能
* 統(tǒng)計(jì)相關(guān)數(shù)據(jù)來提高并行化水平,并幫助選擇最佳優(yōu)化方案
* 跳過掃描過濾器來優(yōu)化IN,LIKE,OR查詢
* 優(yōu)化主鍵的鹽值來均勻分布寫壓力
HBase優(yōu)勢(shì):
一種觀點(diǎn)是:給大伙兒一些他們已經(jīng)熟悉的東西吧。什么是更好的方式去激勵(lì)他們使用HBase呢?最好的方式就是使用JDBC和SQL,原因有以下幾點(diǎn):
* 降低用戶需要寫的代碼的數(shù)量
* 讓性能優(yōu)化對(duì)用戶透明
* 方便利用和整合大量的已經(jīng)存在的工具