HBase在腾讯大数据的应用实践

简介: 最近正好看到CSDN上一直在宣传腾讯云:就在不久前,支付宝、携程、蓝翔就因不同原因出现了网络故障,紧随其后艺龙网,途牛网、去哪儿网纷纷遭到大流量DDoS攻击,并造成短暂的业务中断。

最近正好看到CSDN上一直在宣传腾讯云:


就在不久前,支付宝、携程、蓝翔就因不同原因出现了网络故障,紧随其后艺龙网,途牛网、去哪儿网纷纷遭到大流量DDoS攻击,并造成短暂的业务中断。其中携程中断近12个小时,根据携程一季度财报公布的数据,折算每小时损失106.48万美元,那么本次中断相当于损失了1277.76万美元。
艺龙网因为紧急接入腾讯云的大禹系统,过滤了攻击流量,只引入正常流量,所以很快就恢复了,接入全过程仅耗时14分钟。这些事件让大家对于网络安全、网络服务有了更多的体会。


以上只是个查询,那么大的流量,那么大的数据,腾讯究竟在大数据方面又是如何实现的,在此与大家分享一篇文章:

《HBase在腾讯大数据的应用实践》


前言
随着腾讯产品与技术的发展,几乎任何一个与用户相关的在线业务的数据量都在亿级别,每日系统调用次数从亿到百亿,对海量数据的高效插入和快速读取变得越来越重要。而传统关系型数据库模式固定、强调参照完整性、数据的逻辑与物理形式相对独立等,比较适用于中小规模的数据,但对于数据的规模和并发读写方面进行大规模扩展时,RDBMS性能会大大降低,分布式更为困难。
为什么会选择HBase?
高可靠性。HBase是运行在Hadoop上的NoSQL数据库,它的数据由HDFS做了数据冗余,具有高可靠性。同时TDW(腾讯分布式数据仓库)五年的稳定运行,8800台的集群规模,证明了其服务于海量数据的能力。
高并发读写。使用日志文件(HLOG)和内存存储来将随机写转换成顺序写,保证稳定的数据插入速率;读写独立,这两种操作没有冲突。
优雅的伸缩性。HBase服务能力可以随服务器的增长而线性增长;HBase中表的数据表按Key 值范围自动分片,散布于不同的机器上,实现自动负载均衡;支持百亿行×百万列×上万个版本。
低延迟。数据按列存储,数据即索引。
低成本。历史数据不能轻易删除,数据量变得越来越多,尤其是对于日志类存储,写多读少。而HBase可构建在廉价的PC上,此外,HBase支持较多的压缩算法。
本篇文章将对HBase在腾讯大数据的应用情况做一个介绍。

HBase易用性建设
数据接入-方便、灵活
接入前台化、可配置化。只需在前台配置入库任务,按配置约定规范上报数据,即可实现将数据入库HBase,方便、简洁、快速。
与腾讯大数据的各平台(TDBank、TDW、TRC)打通,数据流转方便。
接入方式多样灵活。业务也可根据HBase提供的API自己编写代码,实现数据写入HBase。在写入量较大的情况下,业务侧还需要维护一批写入客户端,维护成本较高。一般不推荐使用这种方式。
数据查询-接口简单、易用
避免用户重复编码、方便业务查询HBase中的数据,我们封装并提供了两种查询接口:HTTP查询接口和TCP查询接口。同时支持点查询和范围查询两种查询方式。
HTTP查询接口:
通过发送HTTP POST请求方式查询数据。适用于轻量查询需求,例如客服业务受理查询,客户只要开发一个自己的界面就可以使用。返回的数据格式支持json、xml、text、idip(游戏业务定制的数据格式)四种。
TCP查询接口:
通过发送TCP请求建立长连接来查询数据。适用于大并发查询需求,例如营销活动、用户画像类数据查询需求等。返回的数据格式只提供protobuf格式。

安全建设
权限控制。每个接入业务均分配一个用户ID、IP白名单机制,只有在开通了白名单的服务器上,使用用户ID才可以访问归属业务的HBase表,当多个业务共用一个HBase的情况下,权限控制尤其必要。针对敏感数据(如用户画像数据),权限进一步控制到列级别。即只有在开通了白名单的服务器上,使用用户ID才可以访问开通了权限的HBase表中的某些列。
流量控制。控制单笔查询的数据量大小以及查询返回行数限制,同时监控大查询。在多个小业务公用一个HBase情况,可有效控制非必要场景下大量get数据业务间查询相互影响的问题。

业务应用情况
1. 游戏营销活动新渠道
数据的实时性对于营销活动的效果有着十分明显的影响,由于数据延迟而带来的不良用户体验会导致玩家丧失继续参与活动的耐心从而使活动效果大打折扣。HBase在近几次营销活动(如炫舞拉新活动、天天酷跑新版预热活动、英雄联盟3周年活动、天天酷跑周年活动、英雄联盟拉新活动)中,从几十亿甚至百亿条数据中实时拉取数据的毫秒级响应,成为营销活动的一个新渠道。
2. 广告日志处理
广告成为互联网公司的一个主要收入来源。我们现在每天通过HBase处理百亿级广告的请求和曝光日志,访问HBase的延迟,80%在20ms之内,保证了数据的秒级实时回流,实现检索、曝光、点击和效果日志百亿数据的实时关联,提供完整丰富的用户特征数据。精细的特征数据会带来更好的模型,产生更好的广告效果,进而提升广告收入。
3. 业务受理查询
业务受理系统受限于MySQL数据库容量与性能,仅能查询最近一段时间的日志,使游戏在核实客户投诉上较为被动。游戏业务受理系统由MySQL迁移到HBase后,用业务的评价来总结下MySQL迁移HBase的效果:“业务受理对客服的查询需求服务提升了一个档次”。
4. 此外,HBase在其他点击交互日志或监控日志系统上也有较多应用,如网络会话数据、秒级监控平台日志、微信支付日志等。

结束语
随着业务的发展以及HBase在腾讯的较多的成功应用案例与推广,HBase的应用还将继续增多以及向核心应用靠近的趋势。总的来说,我们的目标,降低接入使用门槛以及使用成本,使HBase能稳定地部署到更多的应用中去, 以助力业务更快发展。

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
14天前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
27天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
1月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
2月前
|
数据采集 监控 算法
利用大数据和API优化电商决策:商品性能分析实践
在数据驱动的电子商务时代,大数据分析已成为企业提升运营效率、增强市场竞争力的关键工具。通过精确收集和分析商品性能数据,企业能够洞察市场趋势,实现库存优化,提升顾客满意度,并显著增加销售额。本文将探讨如何通过API收集商品数据,并将这些数据转化为对电商平台有价值的洞察。
|
3月前
|
数据采集 搜索推荐 大数据
大数据技术在电商平台中的应用
电商平台是当今社会最为普及的购物方式之一,而大数据技术则成为了众多企业的强有力竞争力。本文将介绍大数据技术在电商平台中的应用,包括数据采集、预测分析、用户画像等方面,并探讨其对电商平台的价值和意义。
|
3月前
|
存储 机器学习/深度学习 算法
大数据时代下的智能洞察:大规模数据处理的创新与应用
在信息爆炸的时代,大规模数据处理成为了科技领域的核心挑战之一。本文将探讨大规模数据处理的定义、创新技术和广泛应用,并阐述数据驱动的决策和洞察对现代社会带来的巨大影响。
75 3
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
701 0
|
24天前
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
|
1月前
|
存储 大数据 数据挖掘
云计算与大数据:从基础设施到实际应用
云计算与大数据:从基础设施到实际应用
100 0
|
3月前
|
数据挖掘
离线大数据分析的应用
离线大数据分析的应用

热门文章

最新文章