摘要: 早在2010年开始,阿里巴巴集团开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储,HBase在几代阿里专家的不懈努力下,已经表现得运行更稳定、性能更高效,内部HBase集群超过万台的规模,单集群超过千台,是集团核心数据库产品之一,也是国内甚至国际上绝对的HBase大户。

阿里云HBase 2.0成长手记,含着金汤匙出身

HBase本身是一个分布式存储、数据库引擎,可以支持千万的QPS、PB级别的存储,这些都已经在生产环境验证,并且在阿里得以验证。

早在2010年开始,阿里巴巴集团开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储,HBase在几代阿里专家的不懈努力下,已经表现得运行更稳定、性能更高效,内部HBase集群超过万台的规模,单集群超过千台,是集团核心数据库产品之一,也是国内甚至国际上绝对的HBase大户。

为什么HBase会受到大客户的青睐。首先在这个上云的时代,在云上,对于引擎最为核心的就是存储计算分离,存储可以按需计费,起码得弹性伸缩。计算则按节点存储提供,完全按照QPS计费,要么费用高得吓人,要么难以满足更多的场景。

比如存储10M,到底算一次QPS,还是多少次。 由于HBase天生就是存储计算分离,天然比较适配云上的架构,可以说到了云上,HBase更加具有优势。

所以国内大型互联网企业内部都有大量的HBase集群,尤其阿里更甚。自2012年诞生第一位“东八区” HBase committer,到今天,阿里巴巴已经拥有3个PMC,6个committer,是中国拥有最多HBase committer的公司,其中HBase内核中超过200+重要的feature是阿里贡献。除了拥有强大的内核团队和内核能力,HBase在内部经过双十一等超级业务的千锤百炼,锻炼出一系列的完善的产品形态和企业级能力。

潜心修炼八年,终成HBase2.0

基于阿里长达8年和超万台实践经验和技术积累的延伸,ApsaraDB for HBase在基于社区的HBase的基础上,推出了云HBase服务。建立在阿里云庞大生态体系下,根据云环境生态和HBase存储系统的特点,推出适合企业严苛要求的云HBase存储系统。
HBase 2.0在性能,稳定性上做了一系列内核架构级别优化。这次阿里云基于社区HBase 2.0稳定版本基础上,进行了进一步一系列性能和稳定性优化和测试验证。

此次首发云HBase 2.0云服务,让用户可以第一时间体验到阿里技术加持的HBase 2.0新版本。

首先是针对企业不同的使用环境,不同的SLA诉求,云HBase一共提供3个版本,分别满足开发环境,在线业务,以及金融级业务的诉求。单节点版本,低廉的价格用于开发测试场景,集群版本,99.9%可用,满足企业在线业务诉求,支持最高5000万的QPS和10P的数据。还有支持金融级高可用的双活版本。所有版本都支持11个9的数据可靠性,无需担心数据丢失。

除了完善的产品形态,针对企业应用中成本、安全、稳定性、易用性等诸多诉求,阿里云HBase提供了强大的能力,例如存储计算分离,按需弹性能力; 数据备份恢复能力;数据冷热分离和分级存储能力;SQL接口和强大的二级索引和倒排索引能力;多层次安全能力等等。

细数ApsaraDB HBase典型场景
云HBase已经通过阿里云的公共云、专有云及混合云的形态对外服务,用户覆盖社交、金融、车联网、物流、零售、电商、共享出行等数十个行业,帮助用户顶住千万级QPS的业务压力,以及PB级数据高效存储和处理。

HBase2.0支持多region replicas服务,充分利用集群资源支持更高并发随机读。进一步加强了HBase高并发多读能力,因此非常适合车联网等物联网场景。

除了在物联网场景的应用,我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中。HBase2.0支持中等对象存储,兼容原生api读写访问以及bulkload等,合适企业存储一些附件文档、图片数据,而不需要企业另选其它对象存储系统,大大简化企业后台数据架构。在存储上支持各类数据,包括日志、订单、交易数据、消息等,在线实时写入,实时查询。

通过对读写全链路优化,rpc改进等,比随机读写延时更低。同时满足了金融级分控,推荐等核心场景的极致时延和稳定性要求。

小结
历经近8年的技术沉淀,阿里巴巴大数据NoSQL数据库处理技术的精华沉淀在HBase上,后者成功支撑了成功支撑了阿里经济体中最大的NoSQL业务体量,是阿里大数据处理技术的核心组成部分,当前将这项技术应用到广大企业中,助力企业发现数据价值。

阅读原文​​​​​​​

更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用的更多相关文章

  1. Web 应用性能提升 10 倍的 10 个建议

    转载自http://blog.jobbole.com/94962/ 提升 Web 应用的性能变得越来越重要.线上经济活动的份额持续增长,当前发达世界中 5 % 的经济发生在互联网上(查看下面资源的统计 ...

  2. Nacos 2.0 正式发布,性能提升 10 倍!!

    3月20号,Nacos 2.0.0 正式发布了! Nacos 简介: 一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. 通俗点讲,Nacos 就是一把微服务双刃剑:注册中心 + 配置中 ...

  3. Elasticsearch Reindex性能提升10倍+实战

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484134&idx=1&sn=750249a ...

  4. 重构、插件化、性能提升 20 倍,Apache DolphinScheduler 2.0 alpha 发布亮点太多!

    点击上方 蓝字关注我们 社区的小伙伴们,好消息!经过 100 多位社区贡献者近 10 个月的共同努力,我们很高兴地宣布 Apache DolphinScheduler 2.0 alpha 发布.这是 ...

  5. 存算分离下写性能提升10倍以上,EMR Spark引擎是如何做到的?

    ​引言 随着大数据技术架构的演进,存储与计算分离的架构能更好的满足用户对降低数据存储成本,按需调度计算资源的诉求,正在成为越来越多人的选择.相较 HDFS,数据存储在对象存储上可以节约存储成本,但与此 ...

  6. 如何把 MySQL 备份验证性能提升 10 倍

    JuiceFS 非常适合用来做 MySQL 物理备份,具体使用参考我们的官方文档.最近有个客户在测试时反馈,备份验证的数据准备(xtrabackup --prepare)过程非常慢.我们借助 Juic ...

  7. 一次 Spark SQL 性能提升10倍的经历(转载)

    1. 遇到了啥问题 是酱紫的,简单来说:并发执行 spark job 的时候,并发的提速很不明显. 嗯,且听我慢慢道来,啰嗦点说,类似于我们内部有一个系统给分析师用,他们写一些 sql,在我们的 sp ...

  8. 如何把Go调用C的性能提升10倍?

    目前,当Go需要和C/C++代码集成的时候,大家最先想到的肯定是CGO.毕竟是官方的解决方案,而且简单. 但是CGO是非常慢的.因为CGO其实一个桥接器,通过自动生成代码,CGO在保留了C/C++运行 ...

  9. Databricks缓存提升Spark性能--为什么NVMe固态硬盘能够提升10倍缓存性能(原创)

    我们兴奋的宣布Databricks缓存的通用可用性,作为统一分析平台一部分的 Databricks 运行时特性,它可以将Spark工作负载的扫描速度提升10倍,并且这种改变无需任何代码修改. 1.在本 ...

随机推荐

  1. MyBatis注解开发-@Insert和@InsertProvider(@Select、@SelectProvider雷同)

    @Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句.不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工 ...

  2. Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测

    Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测,并实践了健康检查在 Scale Up 和 Rolling Update 场景中的应用.kubelet使用启 ...

  3. subsequence 1

    题目链接 题意:给你两个字符串都是数字,让你求第一个字符串的子序列中大于第二个字符串的个数. 思路:dp[i][j] 表示 str1的前i个,匹配 str2的前 j 个的种类数,那么 if(s[i] ...

  4. (转)使用OpenGL显示图像(三)绘制Shapes

    绘制形状 编写:jdneo - 原文:http://developer.android.com/training/graphics/opengl/draw.html 在定义了使用OpenGL绘制的形状 ...

  5. MySQL 存储过程-definer和invoker的解释

    [definer和invoker的解释] 创建存储过程的时候可以指定 SQL SECURITY属性,设置为 DEFINER 或者INVOKER,用来奉告mysql在执行存储过程的时候,,是以DEFIN ...

  6. 在windows命令行下安装和使用babel(es6to5)

    在自己的目录下新建一个babel-test/目录 进入这个目录 1. 安装babel命令和转换库:      npm install babel-cli      npm install babel- ...

  7. Config JAVA evironment for LoadRunner

    1. Install jdk 2. Set system variables eg. JAVA_HOME = C:\Program Files (x86)\Java\jdk1.6.0_43 class ...

  8. Java 实例 - 方法重载

    先来看下方法重载(Overloading)的定义:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载. 具体说明如下: 方法名相同 方法的参数类型,个数顺序至少有一项不同 ...

  9. [已解决]报错:have mixed types. Specify dtype option on import or set low_memory=False

    报错代码: import pandas as pd pd1 = pd.read_csv('D:/python34/program/wx_chat_single/qq_single.csv') 报错内容 ...

  10. Centos7.6安装教程 && history设置显示执行命令的时间

    一.规划磁盘使用空间(磁盘总大小200GB) /dev/sda1 mount /boot 1G mount point /dev/sda2 mount / 100G /dev/sda3 mount / ...