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