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

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

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

软件与服务

通过对表格存储数据模型的了解,可以发现表格存储与 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 数据库服务,我们又何乐而不为呢!

时间: 2024-08-03 19:21:31

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

正确使用阿里云NAS文件存储服务系列之文件权限校验

1.简介 阿里云在3月份推出了NAS服务,可以让用户无需对现有应用做任何修改,就可以使用具备无限容量及性能扩展.单一命名空间.多共享.高可靠和高可用等特性的分布式文件系统.目前阿里云NAS服务只支持NFS,后续会支持更多的协议. 由于NFS协议经过了较长时间的发展,目前已经发展了多个版本,不同版本间可能会有不同的处理方式.另外,Linux kernel不同的版本下对于NFS协议的实现可能也会有稍微差别.为了帮助用户更好地使用阿里云NAS文件存储服务,我们推出系列文档来介绍阿里云NAS的使用. 首

表格存储服务在社交应用场景的实践

阿里云的表格存储服务(http://www.aliyun.com/product/ots)是一款面向PB级结构化/半结构化数据存储和百万级高并发读写访问的NoSQL数据库服务,在移动社交场景中有着非常广发的应用,如今非常火热的钉钉也将后台的消息推送和存储功能从MySQL迁移到表格存储上,以获得更加优秀的高并发和规模扩展能力:同时也有非常多的创业企业将企业自身针对客户的消息推送能力基于表格存储来构建.本文将详细介绍表格存储在移动社交中的技术实践.本文的主要内容已经在2016年云栖大会深圳场的存储论

阿里云NAS文件存储部署方案介绍和对比

NAS业务上云的背景 作为国内最大的公有云厂商,阿里云为广大的个人用户.初创团队和企业提供了多种多样的公有云服务,包括弹性计算,数据库,存储和网络等.阿里云弹性伸缩,按需付费,无限容量,便捷使用等特性吸引了大量的客户把他们的应用以及服务部署到阿里云,其中就包括一部分部署NAS应用的客户,对于这些客户,面临的一个问题就是如何以最大的性价比来将原有的NAS应用部署到云上.本文介绍了三种可能的部署方案,并比较了他们的优缺点,包括用户最关心的价格,性能以及扩展性等.   对于企业级NAS应用,大部分企业

阿里云NAS文件存储:性能型、容量型、NAS Plus如何选

阿里云NAS文件存储:性能型.容量型.NAS Plus如何选? 阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例.HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展.单一命名空间.多共享.高可靠和高可用等特性的分布式文件系统. 为了满足用户业务对NAS文件存储的各种需求,阿里云NAS文件系统目前有3种类型可供用户选择,他们分别是: 性能型 容量型 NAS Plus 如上图所示

开源备份工具duplicity支持阿里云OSS后端存储

duplicity简介 duplicity是一款开源的备份工具,使用librsync高效地支持增量备份,节约本地存储空间,同时使用GnuPG加密数据.duplicity能将数据轻松的备份到本地或远端文件共享存储,同时支持各类云存储. 不过官方版本并没有支持阿里云作为后端存储,最近用oss最新的Python SDK oss2支持了duplicity上传阿里云OSS,先实现了一个简单的版本,在本文附件中可以下载到集成了aliyunbackend的duplicity安装包. 适用场景 重要文档数据的打

使用阿里云邮件推送服务架设自己邮件验证与推送体系

提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com/product/directmail) 3.EDM(电子邮件营销)(http://baike.baidu.com/subview/1212416/8602812.htm) 4.SendCloud邮件服务(http://sendcloud.sohu.com/) 阅读目录结构 引: 一.需求分析 二.

java操作阿里云的对象存储OSS

官网:: 对象存储(Object Storage Service,简称OSS) 以下博客简单介绍连接阿里云的OSS,新建Bucket,删除Bucket,向阿里云的OSS存储中存储单个文件,获取单个文件,删除单个文件等功能. Api:: 开放式存储(OSS)Java API手册 1.0 documentation 以下为pom依赖: <!-- aliyun oss --> <dependency> <groupId>com.aliyun.oss</groupId&g

一分钟了解阿里云产品:阿里云邮件推送服务之体验

试用阿里云邮件推送服务   最近有一个程序的邮件通知功能出问题了.自己搭建邮件服务器虽然不难,但是可靠性很难保证,邮件发送功能的服务化是趋势,看到阿里云正在公测邮件推送服务,正好借遇到邮件发送问题的机会试用一下,看能否解决我们的实际问题.     首先在阿里云邮件推送控制台添加域名,然后在自己的dns服务器中添加如下的解析(根据控制台中的"配置"):   一个主机名为aliyundm的TXT记录,用于验证域名所有权. 一个主机名为空.值为v=spf1 include:spf1.dm.a

阿里云智能对话分析服务的前世今生

阿里云智能对话分析,脱胎于对阿里云小二服务质量的检验,有点习武防身不小心成了武林高手的感觉.(开个玩笑,其实当然是精心规划的智能服务产品!)今天的云享团,请来的是智能对话分析的专家,进入阿里云后目前已申请5项专利的玄域:具有多年软件研发.测试.性能调优等IT相关从业经历,目前从事智能对话分析服务的研发,喜欢钻研与创新!关于这款产品的背景.流程.场景.实例,玄域为你一一分享! 背景 大量服务数据的产生        正如大家所知,随着阿里云业务的持续快速发展,业务量越来越大,服务的客户也越来越多,