返回 登录
0

【SDCC讲师专访】阿里巴巴高级技术专家沈春辉:选择HBase是一种缘分

SDCC 2016将于2016年3月18-19日在上海召开。在大会召开之际,CSDN采访到了阿里巴巴高级技术专家沈春辉,请他分享一些关于对HBase的研究与理解。


图片描述

阿里巴巴高级技术专家 沈春辉

阿里巴巴高级技术专家,HBase社区Committer,2011年加入阿里,主要从事和关注分布式存储与数据库领域,在支撑大规模在线数据服务的前线拥有多年战斗经验,目前负责阿里HBase的改进与开发工作。

他将在数据库核心技术与实战应用峰会中带来《高可用HBase的技术实践》的主题分享,欢迎前来现场聆听【点击这里抢票】。以下为专访正文:

CSDN:首先请简单介绍下自己、公司以及目前所负责的领域。

沈春辉:沈春辉(花名:天梧),阿里巴巴高级专家,2011年毕业于浙江大学计算机专业,加入淘宝之后一直在大数据存储服务方向工作。目前,所在团队的主要职责是基于阿里巴巴的环境和业务需求,对HBase进行深度定制与改进,从解决方案、稳定护航、发展支撑等全方位提供一站式分布式NOSQL数据库的产品与服务。个人目前负责阿里HBase产品的研发改进与落地实践工作。

CSDN:是什么缘由让你加入阿里的?在阿里的这段期间有给你留下印象深刻的人或事吗?
沈春辉:在校期间,我有幸接触和喜欢上了Hadoop,并对其未来发展与挑战充满期待。 而淘宝在Hadoop领域的研究投入与实践影响是最大的公司之一,毕业那年就毫不犹豫地选择了这个机会,加入了团队——大数据基础平台。

阿里是一家危机意识很强的企业,个人与团队时刻都在为下一场战斗做着准备,每一次历练都是一种情感与能力的升华。这种战斗的深刻感受像是电商大促、新春红包、高德十一出行等等,还会有一些突围性的战斗不为所知。如果要说具体的深刻印象,莫过于每年的双11,与多个团队长达几月的协同攻关、携手共建,终于迎来12号的凌晨半夜,上千人在多地围聚欢呼、切糕举杯、相拥鼓励、红包言情的场景,这种感受、这些战友是难以忘怀的。

CSDN:当初为何会选择HBase作为自己的研究方向?有什么特别的技术情怀吗?
沈春辉: 选择HBase应该是一种缘分,当初加入团队后被安排做这方面的工作。但慢慢接触后,开始喜欢这个产品。伴随对HBase的研究与理解,既会驱动你向下探索JVM与OS ,也能向上感受业务架构的发展与诉求。此外,HBase社区是比较活跃的,大多数开发者都十分友善、乐于助人,研究开源产品、参与开源交流可以很好地帮助技术成长。

CSDN:HBase在阿里被重度使用和优化,在使用HBase的过程中遇到过的最大难题是什么,又是如何解决的?

沈春辉:一款开源的数据存储类产品,要想真正地在公司内被使用普及,需要搭建一个桥梁使其融入到公司的技术大背景与业务大系统,这也是常说的贴近业务。这方面的建设思路,我们参考借鉴了很多阿里其他成熟的数据库产品,像是MySQL、Tair等, 少走了很多弯路。但还是会有一些难题,给我们留下了深刻教训。

这里说一个关于服务迁移的问题。随着业务的高速发展,阿里基本上每年都会建设新的IDC,意味着每年都有大量的业务在IDC之间进行搬迁,再加上业务自身容量需求与旧机房机架不足的现实,HBase服务搬迁慢慢地成了家常便饭。我们知道,HBase服务的地址是由Zookeeper服务器列表、端口及ZNode信息组成的,服务搬迁意味着应用需要修改地址配置、重启应用,这样的变更往往是在凌晨低峰期缓缓地滚动执行,然后等待预热、验证,对于HBase服务方和应用方都是一种痛苦,而更担心的是变更背后的未知风险。为了根治这种痛苦,我们引入了第三方地址服务,改造了HBase的客户端,使得其可以动态地、平滑地切换访问多个集群。简单地说,应用从一个稳定可靠的地址服务中获取HBase的ZK地址,并会在运行过程中监听这个地址的变化。而地址服务本身通过跨机房、VIP域名手段,来保证其可靠性、高可用、易迁移。当然,保障数据平滑迁移也是服务迁移中很重要的一点,使用Replication + Snapshot的方式是大家常用和认可的,这里就不再阐述。

CSDN:您作为HBase社区Committer之一,你怎么看待HBase的未来发展和面临的挑战?
沈春辉: 15年初,HBase-1.0版本正式Release,在稳定性、可用性、易用性等方面有很大的提升。然而,在整个分布式数据库领域上,整体产品发展都比较快,像是Cassandra、 新开源的ScyllaDB、阿里自研的OceanBase、阿里云DRDS等等。HBase面临的挑战更大,个人比较期待以下几方面的发展:

a.Region Replica,可以让同一Region在多个节点提供服务,很大程度降低Bug,OS、硬件故障的影响。这个特性的成熟,有助于提升HBase在Online场景的应用频率。

b.堆外内存,Open JDK在管理大内存方面还缺乏有力高效的方式,HBase已经在尝试把常用的内存数据移到堆外,来减少大内存下的GC影响。

c.SQL, Apache Phoenix作为HBase之上的SQL引擎,个人感觉目前的活跃度与成熟度皆不足。对于普通应用开发者而言,使用HBase API是一个很高的门槛,需要其对原理架构有相当的了解,否则很容易造成错误的使用。发展SQL作为默认的客户端选择,可以让HBase更好地普及开来。

CSDN:除了HBase,你还会关注哪些技术热点?
沈春辉: 主要关注Hadoop生态和分布式数据库这两个领域。
在Hadoop生态,会重点跟进HDFS和Zookeeper的发展,团队本身也会在这上面进行一些适当的开发。对Spark、Storm、Hive、Yarn等计算领域的一些发展也会保持关注。

在分布式数据库上,主要会关注Cassandra、OceanBase、DynamoDB、Redis等产品上的技术应用。

另外,对于一些火热的技术也会好奇和学习,比如Docker、Mesos等。

CSDN:在本次SDCC数据库峰会上分享的话题是?

沈春辉: 阿里是国内最早应用HBase的公司,在近五年的发展中,我们趟过了很多坑,也沉淀了一些经验与技术,经受住了多次双11的考验。本次演讲将分享阿里在保障HBase服务高可用方面的一些工作,包括MTTR、MTBF、冗余切换等角度的实践与软件改进。

CSDN:你最期待在本次SDCC数据库峰会上听到哪些内容?
沈春辉: 期待更多在技术实践和应用方面的干货,期待和众多同行开发者交流想法。


SDCC的精彩正在继续,2016年3月18日-19日,数据库核心技术与实战应用峰会、互联网应用架构实战峰会将在上海召开,我们静候您的到来。

大会官网(含购票): bss.csdn.net/m/topic/sdcc_invite

评论