HBase和Tablestore均為分布式NoSQL數據庫,為了兼容HBase接口,表格存儲推出了Tablestore HBase Client。本文介紹兩者在功能、軟件與服務等方面的差異。
Tablestore和HBase的區別
功能對比
下表列出了Tablestore和HBase的主要功能對比情況。
維度 | Tablestore | HBase |
數據模型 | WideColumn | |
數據類型 | String、Integer等多種數據類型 | 統一為binary bytes |
客戶端 | 輕客戶端,依賴少 | 重客戶端,依賴多 |
傳輸協議 | HTTPS | RPC |
計量計費 | 預留資源、按量計費 | 預留資源 |
服務托管 | 全托管 | 半托管 |
數據多版本 | 支持 | 支持 |
數據生命周期 | 支持 | 支持 |
事務 | 單行事務,分區內事務 | 單行事務 |
索引 | 原生無索引功能,Phoenix支持二級索引 | |
實時訂閱 | 不支持 | |
數據分析 | 支持交互式分析,例如多元索引統計聚合、SQL查詢等 | 不支持 |
外部計算對接 |
| 批計算Spark、MaxCompute |
訪問控制 | 阿里云RAM/STS安全賬號體系 | Kerberos,較復雜 |
數據加密 | 落盤加密、BYOK | 無 |
負載均衡 | 自動熱點分區探測觸發分區分裂和合并 | 簡單策略觸發分區分裂 |
底層存儲 | 盤古 | HDFS |
軟件與服務對比
Tablestore和HBase均參考了Google的Bigtable,兩者的寬表數據模型非常類似,最直接的區別是HBase是一款開源軟件,Tablestore是通過RESTful API使用的云服務,主要區別如下:
維度 | Tablestore | 自建HBase集群 |
成本 | 根據實際使用量進行計費,提供高性能與容量型實例規格,適用于不同應用場景 | 需根據業務峰值進行資源配置,空閑時段資源被閑置,租用及人工運維成本高 |
安全 | 整合阿里云資源權限管理系統,支持RAM Policy、Instance Policy、Network ACL等多種鑒權和授權機制,授權粒度達到表級別和API級別 | 需要額外的安全機制 |
可靠性 | 數據自動多重冗余備份,故障遷移自動完成 | 需要自行保障集群的可用性 |
可擴展性 | 自動負載均衡機制支持單表PB級數據、百萬并發都無需任何人工擴容 | 集群利用率到一定水位后需要繁瑣的機器上下線流程,影響在線業務 |
兼容HBase接口
HBase作為常見的分布式NoSQL數據庫,為了兼容HBase接口,表格存儲推出了Tablestore HBase Client,能夠幫助用戶輕松將業務從HBase遷移至表格存儲。
后續引導
如需了解Tablestore HBase Client,請參見Tablestore HBase Client和快速入門。
如需使用Tablestore HBase Client讀取表格存儲的數據,請參見從HBase Client遷移到Tablestore HBase Client。
雖然與HBase在數據模型及功能上相近,Tablestore HBase Client與原生的HBase API仍然有一些區別。具體差異請參見Tablestore HBase Client支持的功能。
如需兼容HBase 1.0.0之前的版本,請參見如何兼容Hbase 1.0以前的版本。
如果要遷移HBase數據到表格存儲中,您也可以通過DataWorks的數據集成服務或DataX工具進行操作。具體操作,請參見數據集成服務和通過DataX將HBase數據同步到表格存儲。