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

本文主要是介绍【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

这篇关于【SDCC讲师专访】阿里巴巴高级技术专家沈春辉:选择HBase是一种缘分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730706

相关文章

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (