深入对比 HBase 与阿里云的表格存储服务

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 谷歌的 Bigtable 于 2016 年推出了兼容 HBase 的接口,而作为国内最早推出分布式 NoSQL 数据存储服务的阿里云表格存储也在最近正式发布了HBase Client,能够帮助用户将业务轻松从 HBase 迁移至表格存储。

随着互联网时代的兴起,NoSQL 类型数据库正日渐成为大数据时代下分布式数据库领域的主力,分布式 NoSQL 数据库中最为著名的莫过于 HBase。谷歌的 Bigtable 于 2016 年推出了兼容 HBase 的接口,而作为国内最早推出分布式 NoSQL 数据存储服务的阿里云表格存储也在最近正式发布了 TableStore HBase Client,能够帮助用户将业务轻松从 HBase 迁移至表格存储。

让我们来深入对比下阿里云的表格存储与 HBase 到底有何异同。

功能对比表

20190807171455

软件与服务

通过对表格存储数据模型的了解,可以发现表格存储与 HBase 在数据模型上非常类似,在设计上都极大参考了 Google 的三驾马车之 Bigtable。 两者最直接的区别就是 HBase 是一款开源软件,而表格存储是通过 Restful API 暴露出来的云服务,两者主要区别如下:

自建HBase集群 TableStore
成本 需要根据业务峰值进行资源配置,空闲时段资源被闲置,租用及人工运维成本高 根据实际用量进行计费,提供高性能与容量型两种规格实例,适用于不同的应用场景
安全 需要额外的安全机制 整合阿里云 RAM 资源权限管理系统,支持多种鉴权和授权机制及VPC、主子账号功能,授权粒度达到表级别和API级别
可靠性 需要自行保障集群的可用性 数据自动多重冗余备份,故障迁移自动完成,可用性不低于 99.9%,数据可靠性达 99.99999999%
可扩展性 集群利用率到一定水位之后需要繁琐的机器上下线流程,影响在线业务 TableStore自动负载均衡机制支持单表PB级数据、百万并发都无需任何人工扩容

而对上述的区别,我们再进一步细化如下。

无缝扩展

表格存储中表的数据量没有限制,随着用户写入数据量的增加,表格存储的自动负载均衡机制会对数据表上的数据分区根据数据分布和访问情况进行自动切分,从而分配更多的存储和服务节点,这样单表的并发上限也得到进一步的提升。

而作为服务,表格存储屏蔽了底层架构,从而做到让用户在数百台服务器上无缝扩展单个数据表。

更低的使用门槛与使用成本

表格存储即开即用,根据实际的使用进行计费,没有额外的资源开通费用。以一个 1TB 数据量和 1亿 日均PV 的业务系统为例,使用表格存储容量型实例日均费用约为 __10元的数据存储费用和40元的数据读写费用__,而搭建一个最小化 HBase 集群的成本远高于此,且还需要根据预估的业务峰值时刻准备着机器上线下线。

而高性能实例的预留读写吞吐量机制能够让用户按照容量型实例的读写成本享受极高的读写性能。

每个月还有大量的免费额度提供给用户试用,详细请参考:表格存储定价详情

高可用与高可靠

表格存储是完全托管的服务,用户只需要创建数据表,其余的事情都交给该服务代劳。用户无须关心硬件或软件的配置、升级、维护等工作,也不必担心随着扩展的需要在多个实例间对数据进行分区等问题。

依托于底层分布式存储的3 paxos master 机制,表格存储提供了 3个9 的高可用及 10个9 的数据可靠性保证,从官网公开的技术文档中我们也能够发现,表格存储是基于阿里云的分布式系统,服务端采用 C++ 编写,所以也不会遇到让人头疼的 GC 问题,服务稳定性又进一步得到保证。

权限与安全机制

与 HBase 不同,表格存储在设计时就充分考虑到了多租户资源隔离的重要性,采用经过验证的加密方法验证用户身份,避免对未授权数据访问,支持 HTTPS 并且提供了丰富的权限管理机制。支持 RAM 的主子账号机制,授权粒度达到表及可调用的 API 级别,进一步降低 AK 泄露所带来的数据风险。

对 VPC 网络的支持可以避免数据暴露在公网环境或者非期望的网络环境,用户可以方便的将测试环境与生产环境隔离,避免上线前的误操作。

功能区别

作为一个全托管的 NoSQL 数据存储服务,表格存储大大降低了用户在运维管理上的烦恼, TableStore HBase Client能够兼容1.1.*版本以上大部分的数据读写方法 ,通过表格存储和HBase的区别 也能够发现表格存储与 HBase 在功能上还有一些细微的差别:

  • 表格存储不支持多 ColumnFamily,所以相关的接口不支持
  • 表格存储屏蔽了服务端的运维接口,用户只需要关心数据的使用,所以像 Region 管理、Table 管理方面的接口不支持
  • 表格存储对协处理器 Coprocessors 相关的接口都不支持
  • 表格存储对 Distributed procedures 相关的接口都不支持
  • 表格存储提供了 __多个主键及多种数据类型__,避免的主键拼接对齐的问题
  • 表格存储提供了 __主键自增列__,大大简化了高并发场景尤其是在社交场景的架构设计
  • 表格存储提供 __Restful API 接口__,与平台及开发语言无关

在日常的使用中,如果没有使用到协处理器 Coprocessors以及Distributed procedures等高级功能,而有这么一款即开即用、能够提供高达百万的并发储备又只按实际用量计费的分布式 NoSQL 数据库服务,我们又何乐而不为呢!

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4天前
|
关系型数据库 MySQL Apache
**ADB MySQL湖仓版能够平滑迁移到湖仓**,阿里云提供了相应的迁移工具和服务来简化这一过程。
**ADB MySQL湖仓版能够平滑迁移到湖仓**,阿里云提供了相应的迁移工具和服务来简化这一过程。
19 2
|
4天前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
424 2
|
4天前
|
运维 JavaScript Java
Serverless 应用引擎产品使用之在阿里云函数计算中想为两个不同的服务分别开通自定义域名如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
27 1
|
4天前
|
Cloud Native 关系型数据库 OLAP
高效易用的数据同步:阿里云瑶池 Zero-ETL服务来啦!
在大数据时代,企业有着大量分散在不同系统和平台上的业务数据。OLTP数据库不擅长复杂数据查询,不具备全局分析视角等能力,而OLAP数据仓库擅长多表join,可实现多源汇集,因此需要将TP数据库的数据同步到AP数据仓库进行分析处理。传统的ETL流程面临资源成本高、系统复杂度增加、数据实时性降低等挑战。为了解决这些问题,阿里云瑶池数据库提供了Zero-ETL服务,可以快速构建业务系统(OLTP)和数据仓库(OLAP)之间的数据同步链路,将业务系统的数据自动进行提取并加载到数据仓库,从而一站式完成数据同步和管理,实现事务处理和数据分析一体化,帮助客户专注于数据分析业务。
86 0
|
4天前
|
NoSQL 数据管理 MongoDB
数据管理DMS产品使用合集之如何通过阿里云的数据管理服务(DMS)导出MongoDB数据
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
4天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使用阿里云API或SDK从函数计算调用ECS实例的服务如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
45 4
|
4天前
|
运维 NoSQL Java
Serverless 应用引擎产品使用之在函数计算上部署Java服务并访问阿里云MongoDB如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
19 0
|
4天前
|
运维 Serverless Go
Serverless 应用引擎产品使用之在阿里云函数计算中,Go语言的函数计算服务Go程序没有正确打包如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
26 0
|
4天前
|
运维 Serverless 数据处理
Serverless 应用引擎产品使用之阿里云函数计算中的应用、服务及函数之间的关系如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
42 0
|
4天前
|
SQL 人工智能 安全
动态精选|阿里云3月产品与服务更新盘点
动态精选|阿里云3月产品与服务更新盘点
32 1
http://www.vxiaotou.com