【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

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表