中文站

【杭研大咖说】范欣欣:拓荒HBase,推动大数据应用的学习者

名列唐宋八大家的欧阳修说,他的文章大都完成于“马上、枕上、厕上”。在今天的网易杭州研究院,也有这么一位“三上”的门徒,他在车上、枕上、厕上构思,在周末、节假日及上班前后写作,3年完成了100多篇技术博客,还与同行合著了一本大数据技术图书。

他是范欣欣,网易杭州研究院数据科学中心工程师,HBase及分布式时序数据库的内核开发和运维负责人。他与Apache HBase PMC成员、小米公司HBase工程师胡争合著的新书《HBase原理与实践》,这也是业界第一本专门阐述HBase原理的书。


范欣欣 网易杭州研究院数据科学中心工程师 

钟情大数据,分布式持久化KV的拓荒者

使用网易云音乐产品的用户,往往会为其推荐之精准而赞叹。事实上,网易系的产品,不论音乐的契合心灵,电商的快速送达,新闻的善解人意,还是社区内容的纯净过滤,这些背后都离不开大数据的应用。而HBase,就是网易猛犸大数据平台的核心组件之一,支撑着这些效果的实现。

范欣欣介绍,HBase在网易内部有非常多的应用场景,比如歌曲推荐、用户行为记录、用户播放列表、用户聊天记录、用户画像、商品订单快照、实时风控、商品评论、监控数据等等。同时依托于猛犸大数据平台,HBase也支持了温氏股份、名创优品等大量外部客户的需求。网易猛犸的整个HBase系统,都是范欣欣团队一步一步地搭建和优化起来的。当然,这与社区是分不开的。一方面,社区HBase为猛犸打下的基础。另一方面,范欣欣也为社区贡献了代码,让HBase更快地成熟。

在大数据领域,随着业务对实时性的要求越来越高,计算引擎在不断地向实时方向迭代。近年来,Spark、Flink等组件的风头远远超过了大数据上古时代的Hadoop。建立在HDFS之上的HBase,其发展是否会有什么不一样?

一向对大数据技术兴趣浓厚的范欣欣认为,HBase在国内大数据领域中的作用是不可替代的,主要有三个方面的原因:

o 分布式持久化KV系统几乎是每个公司发展到一定规模之后必备的刚需。在分布式持久化KV这个领域,只有HBase和Cassandra两种可选的方案。

o HBase拥有完善的分布式能力,比如扩容缩容能力、副本强一致能力、负载均衡能力、故障恢复能力以及备份恢复能力等,同时HBase引擎又可以支撑大规模的高吞吐写入能力和低延迟读取能力。

o HBase早期在国内被很多大型互联网公司大规模使用,促进了国内的生态发展,而Cassandra似乎在国外发展得更好。

他如数家珍地说,在网易,HBase支持最多几万甚至几十万的稀疏列,用户画像、人工智能的很多场景使用这个特性灵活地新增各种各样的列,非常方便。而实时风控、实时推荐、用户画像等这些场景大多都需要将Hadoop上经过计算后的结果提供线上实时访问,HBase针对这样的场景提供了Bulkload非常高效地将HDFS上的数据导入HBase提供线上随机读服务。

另外,HBase本身支持非常高的写入吞吐能力和非常低的延迟读取能力,这为各种订单记录、聊天记录、feed流记录、播放记录等这类业务提供了保障。而对于运维来说,HBase优秀的扩容能力、负载均衡能力非常方便管理。

当然也有挑战。例如,如何优化HBase提供更稳定的999延迟。好在社区在2.x版本已经基本攻克了这个难点。

范欣欣介绍,HBase在2.0版本之前基本上集中在完善基本的分布式能力、基础读写能力以及运维能力,在2.x版本开始集中对读写999延迟进行深入优化。这样的策略保证了在2.0之前的版本,HBase能够快速发展,胜任大部分业务场景。而2.x版本集中补齐读写999延迟的短板之后,HBase就可以应用于对读写延迟稳定有极端要求的部分非常核心的业务,同时2.x版本MOB特性还补齐了存储文档、图片、视频等大字段的能力,为人工智能分析等场景提供了保障。 

坚持布道HBase,数据中台技术版图的守护者

服务网易内部业务之余,网易杭州研究院也将大数据产品向第三方企业开放。基于企业客户灵活、快速使用数据,实现数据即服务的诉求,大数据平台产品又逐渐向全链路数据中台演进,指标管理、数据质量管理、数据服务、数据地图这些中台技术能力的补足变得尤为紧迫。

但网易大数据团队同样清楚,数据仓库设计开发与管理对全链路数据中台的完整性依旧不可替代。故而,从全链路数据中台产品的角度,网易杭州研究院对HBase的能力和成熟度的要求不但没有降低,反而是提高了。

作为HBase负责人,范欣欣对HBase的改进也有期待。他说,HBase作为一个分布式持久化KV系统,最紧迫的就是2.x版本的稳定性。虽然2.x版本已经GA了很长一段时间,但还没有真正成为最新stable版本。而从在线KV系统的角度来看,范欣欣认为,HBase短期内应该追求更极致的读写低延迟、更短的故障恢复时间。

全链路数据中台呼唤AI相关的能力,Spark和Flink社区也都已经在谈人工智能。对于HBase,范欣欣认为,HBase与Spark的互动应该多起来,以便在机器学习领域有更多适应场景。

此外,二级索引、SQL支持这些功能作为长远规划后期可以跟上。

HBase既要完成这么多的改进,又要在企业中快速落地应用,难度不言而喻。范欣欣认为,最主要的挑战是HBase开发人才的稀缺。正是因为人才稀少,更要坚守HBase,不仅自己坚守,还要让更多的人理解HBase的原理,把HBase做好、用好。范欣欣HBase技术博客的坚持,内心深处是希望缓解这个问题。

意犹未尽,范欣欣还与胡争共同写了《HBase原理与实践》。他说,之前写了很多HBase相关的博客,虽然说每篇博客都自成体系,但从HBase系统的层面来看,这些博客之间又缺乏联系。另外,博客中缺少很多知识模块,比如负载均衡、复制、HBase 2.x以及运维知识等。希望通过这本书,把HBase博客的这些内容能够串起来,更加系统,让读者能够一气呵成地理解整个HBase的工作原理,同时补齐缺失的模块。

他介绍,和市面上大部分HBase图书主要集中在如何使用HBase系统不同,这本书主要介绍HBase的工作原理、运维调优手段、故障案例排查手段等,侧重点不同。适用于有一定HBase基础的HBase运维、开发,或者对分布式数据库工作原理感兴趣的工程师。

简而言之,《HBase原理与实践》完整地介绍了HBase引擎的读写流程,compaction流程,同时解析了一个分布式数据库应该具备的负载均衡、分片分裂、故障恢复、备份恢复以及复制等功能,最后针对HBase的运维调优、故障排查以及最新2.x版本的新特性都有大篇幅的介绍。

从读者收益的角度来看,这本书可以从以下几个方面帮助他们建立(或完善)核心技术体系:

o KV数据库如何基于LSM存储引擎实现。

o 单机KV数据库如何做成分布式集群。

o HBase集群运维、调优、故障定位策略。

“三上”为文,推动HBase普及的学习者

正如《HBase原理与实践》的另一位作者胡争所说,“对于工程师来说,写作一本书比写代码投入的精力要多很多”,相对模糊表达的文字,工程师更擅长精确计算的代码。由此不难理解本书付梓之后范欣欣的欣喜若狂:终于完成了出一本书的目标。

事实上,在写这本书之前,范欣欣3年来已经发布了100多篇关于HBase和时序数据库的博客文章。“写博客的动力是让我对一个知识能够形成体系。写作会让我不断思考,在写作的过程中不断会有各种‘为什么’蹦出来,迫使我不断寻求答案,这样对系统的工作原理理解得更加透彻。”范欣欣说,他很享受这种感觉。写技术博客,既是帮助他人更快成长,也是帮助自己不断提升。

在网易内部一个“发现技术大神”的活动中,一位业务部门的同事推荐了范欣欣,给出了如下的理由:

o 在数据库领域有深厚的专业积淀,并且能够抽丝剥茧般输出相关领域的文章,帮助行业内同学成长。

o 在跨部门的咨询中,帮助我们分析了当前业务架构存在的问题、指明了后续优化路径,让我们少走了很多弯路。

对于范欣欣而言,这种认可是历经辛苦之后的蜕变,是不断付出时间的必然结果。所以,他称自己是“学习者”,是自谦,也是写实。有人说,996限制了中国程序员的技术成果,范欣欣也不能免于加班,但他同样会采用类似大数据精准计算的方式来优化时间的安排。“写作时间基本都是挤出来的,周末、节假日、下班后的晚上或者上班前的早上。”他轻描淡写地说,在写作之前,他习惯于先构思,列提纲,再动手写,以使文章更有可读性,逻辑性更强。他还分享了一个技巧,就是从一个案例出发对知识进行分析,这样读者容易有代入感。

除了不断遇到问题、解决问题并总结问题,范欣欣认为,取得成就的第二个重要原因,是关注业界的发展动态并聚焦于其中一个方向。

更重要的是一个促人进步的环境,首先是网易杭州研究院本身。范欣欣说,周边聚集了很多非常优秀、技术非常扎实的同事,能和他们一起交流,听他们的分享,对技术人的成长有非常的大帮助。网易杭州研究院的技术骨干都是经历众多业务研发洗礼而成长起来的,自然知道如何帮助团队成员规避陷阱,快速成长,同时网易也有成熟的分享机制,既有每天涵盖多个领域的常规分享,也有不定期的专题讲座,知识分享甚至被当成了一项考核指标。毫无疑问,范欣欣很感激这种知识分享的文化,也热衷分享他的经验。

其次是开源社区。范欣欣表示,开源社区是一个神奇的组织,大家把各种自家的功能汇集到一起,既减轻了单独维护这些功能的成本,又能吸收全世界各个其他公司的贡献。他推崇开源精神,除了内部分享,他也希望他的技术知识能够推动社区的进步,推动大数据普及应用。“无论是参与开源社区的开发还是活动,都能体验到各种思想碰撞的火花。学习新的知识、新的思想会有一种充实感,将自己的知识分享给他人,看到大家都用起来更是会有一种自豪感。”

所以,范欣欣与在不同公司任职的胡争合著图书是顺理成章的。合作也顺畅,在开始写书之前,他们把章节规划好,各自认领部分章节。写完之后,二人交叉审阅,最后完整地通篇审阅。唯一的挑战,可能是对进度的把控,因为两位作者都是在业余时间写书。好在,对大数据、对HBase的热情,让他们坚持下来了。

文章来源:网易云