八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用
摘要: 早在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首发商用的更多相关文章
- Web 应用性能提升 10 倍的 10 个建议
转载自http://blog.jobbole.com/94962/ 提升 Web 应用的性能变得越来越重要.线上经济活动的份额持续增长,当前发达世界中 5 % 的经济发生在互联网上(查看下面资源的统计 ...
- Nacos 2.0 正式发布,性能提升 10 倍!!
3月20号,Nacos 2.0.0 正式发布了! Nacos 简介: 一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. 通俗点讲,Nacos 就是一把微服务双刃剑:注册中心 + 配置中 ...
- Elasticsearch Reindex性能提升10倍+实战
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484134&idx=1&sn=750249a ...
- 重构、插件化、性能提升 20 倍,Apache DolphinScheduler 2.0 alpha 发布亮点太多!
点击上方 蓝字关注我们 社区的小伙伴们,好消息!经过 100 多位社区贡献者近 10 个月的共同努力,我们很高兴地宣布 Apache DolphinScheduler 2.0 alpha 发布.这是 ...
- 存算分离下写性能提升10倍以上,EMR Spark引擎是如何做到的?
引言 随着大数据技术架构的演进,存储与计算分离的架构能更好的满足用户对降低数据存储成本,按需调度计算资源的诉求,正在成为越来越多人的选择.相较 HDFS,数据存储在对象存储上可以节约存储成本,但与此 ...
- 如何把 MySQL 备份验证性能提升 10 倍
JuiceFS 非常适合用来做 MySQL 物理备份,具体使用参考我们的官方文档.最近有个客户在测试时反馈,备份验证的数据准备(xtrabackup --prepare)过程非常慢.我们借助 Juic ...
- 一次 Spark SQL 性能提升10倍的经历(转载)
1. 遇到了啥问题 是酱紫的,简单来说:并发执行 spark job 的时候,并发的提速很不明显. 嗯,且听我慢慢道来,啰嗦点说,类似于我们内部有一个系统给分析师用,他们写一些 sql,在我们的 sp ...
- 如何把Go调用C的性能提升10倍?
目前,当Go需要和C/C++代码集成的时候,大家最先想到的肯定是CGO.毕竟是官方的解决方案,而且简单. 但是CGO是非常慢的.因为CGO其实一个桥接器,通过自动生成代码,CGO在保留了C/C++运行 ...
- Databricks缓存提升Spark性能--为什么NVMe固态硬盘能够提升10倍缓存性能(原创)
我们兴奋的宣布Databricks缓存的通用可用性,作为统一分析平台一部分的 Databricks 运行时特性,它可以将Spark工作负载的扫描速度提升10倍,并且这种改变无需任何代码修改. 1.在本 ...
随机推荐
- MyBatis注解开发-@Insert和@InsertProvider(@Select、@SelectProvider雷同)
@Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句.不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工 ...
- Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测
Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测,并实践了健康检查在 Scale Up 和 Rolling Update 场景中的应用.kubelet使用启 ...
- subsequence 1
题目链接 题意:给你两个字符串都是数字,让你求第一个字符串的子序列中大于第二个字符串的个数. 思路:dp[i][j] 表示 str1的前i个,匹配 str2的前 j 个的种类数,那么 if(s[i] ...
- (转)使用OpenGL显示图像(三)绘制Shapes
绘制形状 编写:jdneo - 原文:http://developer.android.com/training/graphics/opengl/draw.html 在定义了使用OpenGL绘制的形状 ...
- MySQL 存储过程-definer和invoker的解释
[definer和invoker的解释] 创建存储过程的时候可以指定 SQL SECURITY属性,设置为 DEFINER 或者INVOKER,用来奉告mysql在执行存储过程的时候,,是以DEFIN ...
- 在windows命令行下安装和使用babel(es6to5)
在自己的目录下新建一个babel-test/目录 进入这个目录 1. 安装babel命令和转换库: npm install babel-cli npm install babel- ...
- 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 ...
- Java 实例 - 方法重载
先来看下方法重载(Overloading)的定义:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载. 具体说明如下: 方法名相同 方法的参数类型,个数顺序至少有一项不同 ...
- [已解决]报错: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') 报错内容 ...
- Centos7.6安装教程 && history设置显示执行命令的时间
一.规划磁盘使用空间(磁盘总大小200GB) /dev/sda1 mount /boot 1G mount point /dev/sda2 mount / 100G /dev/sda3 mount / ...