写点什么

林昊谈 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:5712330

评论

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

探索AI的边界:如何精准地测试人工智能

测试人

软件测试

TiDB Binlog功能使用实践

TiDB 社区干货传送门

6.x 实践

3月9日(本周六)TiDB 社区活动在深圳!一起聊聊 TiDB 在零售、互联网+、Saas、游戏、出海企业的分布式数据库选型、升级降本之路、7.5 新版本的探索!线下参会有机会获得多款社区新周边哦~

TiDB 社区干货传送门

社区活动

7.1 版本 DRAutoSync 非计划内切换小记

TiDB 社区干货传送门

集群管理 数据库架构设计 7.x 实践

唐刘:关于产品质量的思考 - 我的基本认知

TiDB 社区干货传送门

数据库前沿趋势

春天已至,见证80/90/00后女性开发者的云上生长力量

华为云开发者联盟

人工智能 华为云 科技 华为云开发者联盟 先锋开发者云上说

印度股票交易系统搭建GangGuHK

GangguHK

深度解析:小红书笔记详情API的背后逻辑

技术冰糖葫芦

API 接口

淘宝商品详情数据丨商品搬家丨商品采集丨商城建站

Anzexi58

API 文档

TiDB MVCC 问题处理

TiDB 社区干货传送门

管理与运维 新版本/特性解读 6.x 实践 7.x 实践

MES系统实施的几大关键步骤

万界星空科技

制造业 生产管理系统 mes 云mes 万界星空科技

深入浅出:JavaScript 中 every() 的运作原理

Apifox

JavaScript 程序员 前端 数组 前端开发

云服务和本地部署大对比,应该选择哪种方式?

Finovy Cloud

云计算 云服务器 云部署搭建

【我和 TiDB 社区的故事】我与 TiDB 专栏的故事

TiDB 社区干货传送门

人物访谈

两次数据库迁移记录(mysql→tidb,tidb→tidb)

TiDB 社区干货传送门

迁移 实践案例 性能测评 6.x 实践

酷克数据荣获粤港澳大湾区金融创新成果“特优解决方案”奖

酷克数据HashData

探索AI的边界:如何精准地测试人工智能

测吧(北京)科技有限公司

测试

大咖公开课 | 探索AI的边界:如何精准地测试人工智能

霍格沃兹测试开发学社

一文了解TiDB的备份与恢复能力

TiDB 社区干货传送门

备份 & 恢复

国家科技传播中心讲坛!播出预告:吴甜——当机器学会思考

飞桨PaddlePaddle

人工智能 深度学习 百度 BAIDU 百度飞桨

基于 TiCDC 创建灾备和容灾切换

TiDB 社区干货传送门

管理与运维 新版本/特性解读 数据库架构设计 6.x 实践 7.x 实践

TiDB 慢查询日志分析

TiDB 社区干货传送门

管理与运维

理解BS期权定价

数新网络官方账号

Python 期权 金融

软件测试团队管理技巧 | 提升团队效能:如何与下属进行有效沟通

测试人

软件测试

TiDB误删数据恢复

TiDB 社区干货传送门

管理与运维 备份 & 恢复

管理技巧 | 提升团队效能:如何与下属进行有效沟通

测吧(北京)科技有限公司

测试

提升团队效能:如何与下属进行有效沟通

霍格沃兹测试开发学社

✅日活3kw的实际库存业务场景中的超卖到底怎么解决的

派大星

电商超卖 互联网+ 秒杀系统架构

TiKV 组件内 GC(物理空间回收)原理及常见问题

TiDB 社区干货传送门

监控 性能调优 集群管理 故障排查/诊断 TiKV 底层架构

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