1.6 HBase的应用场景
发展至今,HBase已经广泛地应用于各行各业中了,如图1-1所示。
图1-1 HBase的应用场景
下面列举三个HBase的应用场景。
场景一:订单查询
当订单数据量超过千万且需要快速对历史订单进行查询时,完全可以使用HBase。在相关应用程序中,通过调用公共SDK接口,把数据写入MQ中,然后通过异步写入方式让MQ的消费方(Consumer)把数据存储到HBase中,如图1-2所示。
图1-2 订单数据收集
在写入数据到MQ时,如果有必要,则可以把数据同时写入Redis中,并且设置过期时间。这样在查询时,先到Redis中进行查询,如果在Redis中查询不到,则在HBase中查询,如图1-3所示。
图1-3 订单数据查询
场景二:乘客的运动轨迹
在现在的生活中,打车变得非常方便,只需打开打车APP就可以高效地打到车,面对海量的乘客的运动轨迹,只要给定其ID,即可查询其运动轨迹(注意,企业在使用这些具有个人隐私信息的时候要符合所在国家或地区的法律,例如用户授权与否、使用范围等)。对于这样的需求,选择HBase无疑是一种非常好的方案。把出租车轨迹和快车轨迹数据依次通过Kafka和Storm,最终写入HBase中,然后提供给客服、运营等业务进行使用,如图1-4所示。
图1-4 乘客的运动轨迹
场景三:监控数据
在当下的互联网时代,我们的业务或者程序会有大量的数据需要进行监控。为了实现对这些海量数据进行监控并且提供快速的查询,把这些监控数据存储在HBase中是一个很不错的选择。把每日的监控数据汇聚到HBase中,然后用户通过Phoenix对数据进行查询,并展示在Web中,如图1-5所示。
图1-5 HBase存储监控数据
除了上述这些案例之外,HBase还有如下一些应用领域:
1)交通:船舶GPS信息。
2)金融:消费信息、贷款信息、信用卡还款信息等。
3)电商:电商网站的交易信息、物流信息、浏览信息等。