BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

林昊谈HBase技术在淘宝中的应用

| 作者 霍泰稳 关注 1 他的粉丝 发布于 2011年7月12日. 估计阅读时间: 5 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

在7月9日~10召开的淘宝技术嘉年华期间,InfoQ编辑有幸采访到淘宝数据平台开发团队的技术专家林昊(新浪微博@bluedavy),和他就HBase的特性,HBase在淘宝中的应用,目前数据领域大家讨论的焦点和发展趋势进行了探讨。

InfoQ:HBase主要有哪些特性,是什么让它备受推崇,让Facebook也采用它?

林昊:Facebook是Cassandra的发起者,他们就想在自己的Message体系里面应用它,但是研究之后发现,Cassandra的弱一致性会让它的Message体系在应用层上做很多的改造,它觉得付出的成本太大了,所以后来就选择测试了一下HBase。发现HBase的强一致性给他们带来很多的便利,因为HBase只需要增加新的机器就可以增加写的吞吐量,对于他们的场景来说会非常的适合的。这也促使它们最终决定采用HBase。

InfoQ:目前HBase主要帮助淘宝解决了哪些主要的问题?

林昊:其实对于很多互联网公司来说,他们对关系型数据库要求并不是那么高,比如Join、报表的事务等,如果抛弃掉这些特性的话,换成NoSQL,我们发现整个存储结构会很简单,读写的性能也会好很多。这一点对于我们来说还是很有吸引力的,否则随着数据量的增长,我们不得不疲于奔命去做分库分表等。

举几个简单的场景来说明一下吧。虽然我们现在基于HBase上线的产品还不是很多,但是很快大家用到的许多功能都会用到HBase,比如现在用户经常去淘宝上查看已经买到的宝贝,或者去查过去三个月里自己买了多少东西等。还有就是以后淘宝用户每登录一次,系统都会自动跟踪你的行为,并做出分析,以便更好地为用户服务,这些数据也会被存储到HBase里面做实时的分析。包括广告的分析,也会基于HBase来做。

InfoQ:在你们使用HBase的过程中,遇到了哪些挑战?

林昊:对于我们来说,主要是HBase对于很多Online的场景支持的不够,比如Online项目通常会需要一些查询条件,对于我们来讲会有一些痛苦,所以我们就尝试使用HBase的一些三维有序存储来解决这类问题,从现在的测试结果来看还可以。另外就是Namenode的单点方案也不是很好用,因为一旦这个点出问题,整个系统可能都会有问题。所以我们现在有成员也在做Namenode的多点方案。除此之外,HBase给运维也带来一些挑战。

InfoQ:如果有其他团队采用HBase技术,你会提供什么建议?

林昊:其实现在使用HBase的话,对应用层要求还是挺高的,所以如果需要采用HBase的话,还是建议要多了解一下HBase的特性,比如你的Row Key设计要很合理。如果你要做二级索引的话,在应用层也要做一些相应的工作,需要知道HBase是三维有序存储的。

InfoQ:根据你的了解,目前在数据领域大家讨论的焦点和趋势是什么?

林昊:其实随着互联网公司发展的年数越来越多,上网的用户也越来越多,最终一定会使数据量会越来越大。对于淘宝来说也是这样,随着数据量的增大,我们的数据存储成本也越来越高,我们会考虑一些简单的方案,更低成本的方案来解决。另外搜索也是很重要的,因为我们要从这么大的数据量里面很快地搜索出我们需要的东西。以前我们可能会用数据库来解决,但随着量越来越大,方案会越来越复杂,最终可能会造成存储和检索会非常的热。

其实从今年也可以看得出,NoSQL的很多产品还是为了解决海量数据的问题。另外就是分析的问题是一直就存在的,现在的分析基本还是基于Hadoop、MapReduce的思想来做,后面的话可能更多地是离线的分析。但是对于实时的分析要求也很高,比如让推荐变成实时,效果会好很多。所以我认为,分析也会是一个大家热衷讨论的话题。

除了上面谈到的这些问题,InfoQ还就淘宝在使用HBase技术之前所作的调研,对HBase的性能测试结果,HBase需要改进的地方等和林昊进行了深入探讨,在InfoQ随后发布的视频文件中会包括这些问题。另外在本次的淘宝技术嘉年华上,InfoQ还就HTML5、移动开发、测试、海量数据架构、交互设计等话题采访了相关的专家,并录制了部分演讲视频,整理好后都会发布在InfoQ网站上,请大家保持对InfoQ的关注,或者关注InfoQ新浪微博(@InfoQ),第一时间了解这些内容的发布情况。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

能简单介绍下三维有序存储吗? by yin steve

能简单介绍下三维有序存储吗?

没有认真进行HBase和Cassandra比较 by Peng Sunny

HBase和Cassandra比较:wangxu.me/blog/p/371
严肃地说,如果你是一个希望学习 NoSQL 系统的高级 DB 管理员的话,那么选择 HBase。这个系统超级复杂,有灵巧双手的管理员肯定能拿到高薪。

Cassandra也可以支持高一致性,变成CP。

“主要是HBase对于很多Online的场景支持的不够”,如果此前他们好好做一下抛开自己屁股对脑袋影响,对架构进行一个好的比较,就会发现HBase只适合数据挖掘和分析场合,隐含意思是实时性差,不适合做Online项目,而Cassandra优点是支持实时,当然Brisk更是用Cassandra既做数据仓库又做实时支持。

架构上往往屁股决定脑袋,DBA如同恋母情节一样有高一致性情节

Re: 没有认真进行HBase和Cassandra比较 by huang baiming

楼上言语有点愤青,不过说到点子上了,哈哈!

Re: 能简单介绍下三维有序存储吗? by huang eric

row, column,version

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT