大数据时代必修技能 阿里HBase又放出了哪些大招?

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: HBaseCon是Apache HBase官方举办的技术会议,主要目的是分享,交流HBase这个开源分布式大数据存储的使用和开发以及发展。HBaseCon发起于2012年。通常HBaseCon的举办地是在美国,这是HBaseCon第一次在亚洲举行,命名为Apache HBaseCon 2017Asia。

HBaseCon是Apache HBase官方举办的技术会议,主要目的是分享,交流HBase这个开源分布式大数据存储的使用和开发以及发展。HBaseCon发起于2012年。通常HBaseCon的举办地是在美国,这是HBaseCon第一次在亚洲举行,命名为Apache HBaseCon 2017Asia。而且这次会议举办地选择在中国深圳,也足以见得HBase在中国的火爆程度和中国开发者们对HBase社区所做的卓越贡献。


image


Apache HBase是基于Apache Hadoop构建的一个分布式、可伸缩的Key-Value数据库,它提供了大数据背景下的高性能的随机读写能力。做为最早研究、使用和二次开发HBase技术的中国公司,阿里巴巴从2010年就开始使用HBase,经过近7年的发展,现在采用HBase存储的业务已经超过1000+,拥有了上万台的HBase集群规模,在HBase上存储的数据已达PB级。

秉承开源和分享的精神,阿里把HBase的实践经验和改进不断回馈HBase社区,比如说Bucket Cache和Reverse Scan等功能,给HBase技术发展带来了非常深远的影响。同时,也给HBase社区培养了2名PMC和2名Committer,阿里在HBase社区的影响力可见一斑。那么这次HBaseCon 2017 Asia。阿里派出了一位HBase PMC和2位Committer,还有两位资深的HBase开发,给大家带来了十足的干货。

阿里干货系列

一、强同步复制

传统的HBase主备集群同步使用的方案是异步复制,这使得主备集群数据之间会有短暂的数据不同步现象。用户为了灾备,不得不放弃强一致模型。没法放弃强一致语义的用户,必须自己写一套复杂的逻辑来保证主备集群之间数据的读写一致性。阿里的HBase技术专家天引,在此次的HBaseCon Asia上给大家带来了强同步复制方案。


image

据天引介绍,强同步复制方案采用了主备并发写和RemoteLog技术,使得在同城网络条件下同步复制相对于异步复制仅有2%的吞吐量下降。当一个请求到达主库后,并发写本地和备库,到达备库的同步写不需要走完整的写入路径,而是直接写入RemoteLog,降低同步写开销与延时。除了同步链路外,还有一套异步链路将数据从主库复制到备库,因此正常情况下不需要回放RemoteLog的数据到备库,在主库不可服务的情况下,只需要回放RemoteLog中那些还没有被异步复制链路同步到备库的数据,异步复制只有几秒钟的数据延迟,这保证了可以在很短的时间内完成从主库到备库的切换。

image


此方案在大会现场引起了强烈反响,很多HBase用户表示这是他们期待已久的功能,希望能尽快使用上。天引表示此功能目前基于阿里内部分支实现、运行及完善,未来将会回馈给社区。

二、SQL on HBase

阿里HBase服务了大量的内部用户,并持续有新用户接入。但是使用HBase的用户有很大一部分是从传统的SQL数据库转过来的,HBase的rowkey设计和API的使用习惯对于他们来说并不友好。为了降低这些转型用户的使用门槛,阿里在HBase上引入了SQL层。来自阿里的资深HBase开发工程师天穆,给大家详细讲解了如何玩转SQL on HBase。


image


通过优化,现在在阿里使用SQL访问HBase和原生API的速度已经相差无几,而且在SQL语法上,创造性地支持HBase多版本和时间戳等NoSQL才具有的功能。


image

另外,在HBase上同时支持了全局二级索引和本地二级索引。使用户可以在多列上建立索引,简化了业务的设计,提升了请求效率,降低了使用成本。

image

三、跨集群分区拷贝

HBase上通常承载着海量的数据,而在日常生产过程中,随着业务的发展和公司数据中心的规划等原因,这些海量数据需要经常搬迁,这通常对于运维来说是一个非常头疼的问题。来自阿里的HBase社区Committer正研,分享了阿里跨集群分区拷贝的场景和成熟解决方案。

image


正研首先介绍了在阿里内部常见的需要数据拷贝的场景,比如说新建数据中心,HBase集群需要整体搬迁到新的机房;又比如说不同机房内的HBase集群的增量数据同步,可以用replication来解决,但是对于存量数据,目前还没有比较高效的方案;另外还一个常见场景就是数据恢复,而传统的HBase备份还原工具都没法控制数据恢复的范围。


image

因此,阿里研发了Range Data Copy功能内置在HBase中,提供了一个简单高效,而且能够自动处理各种错误情况和灾难恢复的数据拷贝功能,使用这个功能拷贝一张200TB的表到另外一个集群,所需时间不到5小时。

image


四、读写链路优化

在阿里使用HBase的过程中,对HBase本身做了非常多的读写性能优化。来自阿里的HBase社区PMC绝顶和Committer天照,一起给大家分享了阿里在这方面所取得的一些成果。


image


1、使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延迟 ;


image

2、 引入新的HFileBlock编码格式,把顺序搜索变成了二分查找,提高了HBase随机读的能力

image


3、拆分写链路,释放阻塞的handler资源,提高了HBase写的吞吐能力 ;


image


来自阿里的这些优化黑科技,使HBase的能力又更上一个新台阶。并且这些优化和功能目前已经回馈给了社区,所有的HBase用户都能在新版本的使用获得这些技术红利。

总结

除了阿里带来的技术分享,现场许多其他公司也都带来了他们对HBase做出的改进和使用经验。比如说小米实现了AsyncClient,填补了HBase没有原生异步API的缺口;知乎使用kubernetes自动扩容缩容HBase集群,灵活地适应业务高速发展和瞬息万变;烽火网络隔离读写资源使近线查询更加稳定等等。
除了上述提到的这几个亮点技术分享,此次HBaseCon大会的每一个session都非常精彩,给大家带来了一场又一场思维碰撞的盛宴。Apache HBase“掌门人”Michael Stack也参加了此次会议,并与HBase开发者们举行了一次圆桌会议,共同探讨HBase的现状和未来。


image


这次HBaseCon的火爆程度,直接展示了国内企业和开发者们对HBase热情和期望。HBaseCon大会不仅给HBase的使用者们带来了最新鲜的技术进展,互通有无,吸收其他公司的先进经验;也成为HBase使用者和开发者之间沟通的桥梁,能让开发者们看到业界动态,用户的需求,共同把HBase打造成一个更加易用,更高性能,更稳定的大数据存储。这次HBaseCon大会是一个很好的开端,期望HBaseCon Asia越办越好,给大家带来更多的干货!


image

云端使用

阿里HBase目前已经在阿里云提供商业化服务,任何有需求的用户都可以在阿里云端使用深入改进的、一站式的HBase服务。云HBase版本与自建HBase相比在运维、可靠性、性能、稳定性、安全、成本等方面有较多的改进。具体表现为,在运维方面:15分内完成部署,全指标监控预警,在线扩容节点、磁盘及修改配置,集群自动更新升级,专家在线坐诊;性能方面:性能提升30%以上,个别scan等性能提升100%+;可靠性方面:多副本机制,副本丢失及时感知检测恢复,提供9个9个数据可靠性;稳定性方面:进程自动守护,单节点秒级别检测并自动故障迁移,提供99.95%集群可用性;成本方面:后续支持共享存储,存储成本下降一倍以上;安全方面:提供白名单隔离,支持VPC,后续支持阿里云ak,更多内容欢迎大家关注https://www.aliyun.com/product/hbase

作者简介

杨文龙,花名正研,阿里巴巴存储技术事业部资深研发,HBase开源社区Committer。开源技术爱好者,对分布式存储系统的设计、实践具备丰富的大规模生产的经验。

来源:阿里技术
原文链接

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
7月前
|
Java 大数据 分布式数据库
Spring Boot 与 HBase 的完美融合:探索高效大数据应用开发的新途径
【8月更文挑战第29天】Spring Boot是一款广受好评的微服务框架,以其便捷的开发体验著称。HBase则是一个高性能的大数据分布式数据库系统。结合两者,可极大简化HBase应用开发。本文将对比传统方式与Spring Boot集成HBase的区别,展示如何在Spring Boot中优雅实现HBase功能,并提供示例代码。从依赖管理、连接配置、表操作到数据访问,Spring Boot均能显著减少工作量,提升代码可读性和可维护性,使开发者更专注业务逻辑。
430 1
|
6月前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
1029 12
|
6月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
通过构建高效的后缀树,Python程序在处理大规模字符串数据时能够游刃有余,显著提升性能和效率。无论是学术研究还是工业应用,Suffix Tree都是不可或缺的强大工具。
107 6
|
7月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
7月前
|
缓存 监控 Java
"Java垃圾回收太耗时?阿里HBase GC优化秘籍大公开,让你的应用性能飙升90%!"
【8月更文挑战第17天】阿里巴巴在HBase实践中成功将Java垃圾回收(GC)时间降低90%。通过选用G1垃圾回收器、精细调整JVM参数(如设置堆大小、目标停顿时间等)、优化代码减少内存分配(如使用对象池和缓存),并利用监控工具分析GC行为,有效缓解了高并发大数据场景下的性能瓶颈,极大提升了系统运行效率。
212 4
|
7月前
|
分布式计算 大数据 分布式数据库
"揭秘HBase MapReduce高效数据处理秘诀:四步实战攻略,让你轻松玩转大数据分析!"
【8月更文挑战第17天】大数据时代,HBase以高性能、可扩展性成为关键的数据存储解决方案。结合MapReduce分布式计算框架,能高效处理HBase中的大规模数据。本文通过实例展示如何配置HBase集群、编写Map和Reduce函数,以及运行MapReduce作业来计算HBase某列的平均值。此过程不仅限于简单的统计分析,还可扩展至更复杂的数据处理任务,为企业提供强有力的大数据技术支持。
117 1
|
8月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
【7月更文挑战第19天】Suffix Tree 概述:** 为高效处理字符串搜索、匹配和大数据分析,后缀树是一种优化数据结构,可快速检索后缀、执行最长公共后缀查询及字符串排序。Python中虽无内置实现,但可通过第三方库或自建代码构造。应用于字符串搜索、生物信息学等领域,提升大数据处理效率。
169 3
|
8月前
|
存储 NoSQL 大数据
大数据存储:HBase与Cassandra的对比
【7月更文挑战第16天】HBase和Cassandra作为两种流行的分布式NoSQL数据库,在数据模型、一致性模型、数据分布、查询语言和性能等方面各有千秋。HBase适用于需要强一致性和与Hadoop生态系统集成的场景,如大规模数据处理和分析。而Cassandra则更适合需要高可用性和灵活查询能力的场景,如分布式计算、云计算和大数据应用等。在实际应用中,选择哪种数据库取决于具体的需求和场景。希望本文的对比分析能够帮助读者更好地理解这两种数据库,并做出明智的选择。
|
8月前
|
存储 Java 分布式数据库
使用Spring Boot和HBase实现大数据存储
使用Spring Boot和HBase实现大数据存储
|
9月前
|
存储 分布式计算 专有云
MaxCompute产品使用问题之阿里公有云的数据如何迁移到阿里专有云
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
92 10