HBase入门与实践(第2版)
上QQ阅读APP看书,第一时间看更新

1.3 应用场景

现在,很多公司都宣称自己是一家大数据公司。确实现在很多公司都注重数据的采集,据我所知,国内各大互联网公司以及知名企业内部基本都在使用HBase作为数据存储引擎。使用HBase的业务也非常多,如订单、搜索、用户画像、推荐、监控、安全风控等。HBase集群在Facebook已经达到上万节点的规模,下面列举几个应用场景。

1.3.1 Facebook用户交互

这是一个典型的例子,被引用的次数不计其数,Facebook的Like按钮被点了多少次、有多少人浏览过某篇文章、有多少人喜欢这篇文章等数据是由HBase的计数器来存储的,发布者能够实时地看到有多少人给他点赞、有多少人喜欢他的文章。

HBase 在 Facebook 的应用非常成功,Facebook 也输出了一些著名的技术文章,如“Apache Hadoop Goes Realtime at Facebook”和“Facebook’s New Real-Time Messaging System: HBase To Store 135+ Billion Messages A Month”。

1.3.2 淘宝TLog

淘宝TLog是一个分布式的、可靠的,对大量数据进行收集、分析和展现的系统。TLog的主要应用场景是收集大量的运行时日志,然后分析存储,最后提供数据查询和展现。淘宝的“鹰眼系统”(对请求从开始到结束整个生命周期的追踪,包括哪一步到了哪台机器、每一步花了多长时间、与多少系统有交互等)就是TLog的接入方,每天有上万台机器接入TLog,数据量多达上百TB,其底层就是使用HBase作为存储层的。

TLog的设计参照了OpenTSDB系统。OpenTSDB是一种写在HBase之上的分布式可扩展时序数据库。感兴趣的读者可以搜索OpenTSDB并学习一下。

1.3.3 小米云服务

小米云服务基本是基于HBase存储的。这里以云端数据的同步备份功能为例,用户的照片、联系人、短信、通话记录、米聊等数据中的大部分是非结构化的。重点是数据按用户隔离,用户只需访问与自己相关的数据,非常契合HBase的分区自动负载均衡,只需使用用户ID来进行分区,用户量或者数据量的持续增长就可以非常容易地通过为HBase集群添加节点来解决。

小米对HBase也做了很多贡献,其自研的HBase自动化部署与监控系统Minos已经开源,读者可以去GitHub搜索项目Minos了解详情。

1.3.4 用户行为数据存储

目前正处于企业数字化转型的关键阶段,现在大部分公司都非常注重数据的收集,用数据来驱动业务发展(比如现在手机上使用的每个应用都有各种埋点,每一次浏览、点击等事件都会被上传到服务器端存储),收集的这些行为数据很容易价值化,价值化之后可以用来做很多事情,例如,用户画像既可以为用户构建用户基本信息、行为特征、社交、购买力等静态标签,也可以建立短期的动态标签。假设用户刚买车,可能就需要购买一些相关的车载用具。

通过给用户构建一个立体的画像,系统可以近乎实时地分析用户的行为,了解用户的需求,从而实现精准化营销,这对企业尤其是电商企业至关重要。本书会以电商系统的用户行为数据的使用作为实战案例来一步一步介绍HBase的相关知识。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e59362”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。