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数据同步到表格存储。