报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

  • 2011-07-10
  • 本文字数:1648 字

    阅读完需:约 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 ),第一时间了解这些内容的发布情况。

2011-07-10 22:5712062

评论

发布
暂无评论
发现更多内容

Python Class 类详解:定义、继承与特殊方法的使用

敲代码不忘补水

Python 继承 科技 计算机科学与技术

ByConity ELT测试——体验BSP模式带来的高效数据处理

颜颜yan_

OOM ByConity bsp模式 ByConity ELT

自学记录鸿蒙API 13:实现人脸比对Core Vision Face Comparator

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

进大厂必备的Java八股文大全(最强精简易懂版,八股文中的八股文)

Geek_Yin

Java Java面试八股文

自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

使用Memtester 对华为云 X 实例进行内存性能测试

轶天下事

HarmonyOS 5.0 Next实战应用开发—‘我的家乡’【HarmonyOS Next华为公司完全自研的操作系统】

申公豹

HarmonyOS

云端安全守护者,华为云Flexusx上的AWVS容器化部署与安全扫描实践

轶天下事

《计算机组成及汇编语言原理》阅读笔记:p128-p132

codists

计算机组成及汇编语言原理

优化企业运营流程,华为云Flexusx实例下Odoo ERP系统的完整解决方案

轶天下事

华为云Flexus云服务器X实例搭建部署H5美妆护肤分销商城、前端uniapp

轶天下事

AIP智能体平台:推动多智能体系统创新与效率提升

大东(AIP内容运营专员)

人工智能

AIP智能体平台:助力软件行业数字化转型与智能升级

大东(AIP内容运营专员)

人工智能

这份神仙版的SpringBoot学习文档,简直把所有操作都给写出来了

Geek_Yin

Java 程序员 spring-boot java 技术提升

华为云X实例CPU性能测试详解与优化策略

轶天下事

基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】

申公豹

HarmonyOS

部署开源ChatGPT/LLMs聊天应用LobeChat

轶天下事

华为云Flexus云服务器X实例的网络性能测试

轶天下事

面试了个阿里P7大佬,他让我见识到什么才是“精通高并发与调优”

程序员高级码农

Java 编程 程序员 java面试 Java面试题

使用Flexus X实例集成ES搜索引擎

轶天下事

AIP智能体平台:开启智能自动化新时代

大东(AIP内容运营专员)

人工智能

Python 函数使用指南:定义、参数设置与变量作用域详解

敲代码不忘补水

Python 变量 函数 科技 计算机科学与技术

华为云Flexus云服务器X实例之openEuler系统下玩转iSulad容器技术

轶天下事

自学记录鸿蒙API 13:实现多目标识别Object Detection

李游Leo

鸿蒙 HarmonyOS HarmonyOS NEXT

NetBackup Virtual Appliance 5 - 领先的企业备份和恢复解决方案

sysin

NetBackup

华为云Flexus云服务器X实例下的微微CMS安装

轶天下事

部署个人云社交媒体聊天服务VoceChat

轶天下事

阿里P8面试官不小心泄露了25年春招进大厂必备的Java面试场景题!

程序员高级码农

Java 编程 程序员 java面试 Java面试题

从0到100:基于Java的大学选修课选课小程序开发笔记(上)

CC同学

INFINI Console 指标采集优化

极限实验室

console metrics

林昊谈HBase技术在淘宝中的应用_Java_霍太稳@极客邦科技_InfoQ精选文章