Code前端首页关于Code前端联系我们

HBase在腾讯大数据中的使用实践

terry 2年前 (2023-09-26) 阅读数 98 #数据库

随着腾讯产品和技术的发展,几乎所有线上企业与用户相关的数据量都在亿级,每天的系统调用次数在上亿次至数百亿。处理海量数据高效输入和快速读取变得越来越重要。传统的关系数据库模型具有固定的模型,强调引用完整性,数据的逻辑和物理形式相对独立。比较适合中小型数据。然而,当数据范围和同时读写大规模扩展时,RDBMS的性能会下降。大幅减少,分配更加困难。

为什么选择HBase?

高可靠性。 HBase 是运行在 Hadoop 上的 NoSQL 数据库。数据通过HDFS冗余,可靠性高。同时,TDW(腾讯分布式数据仓库)五年的稳定运行和8800台的集群规模也证明了其服务海量数据的能力。

高并发读写。使用日志文件(HLOG)和内存存储将随机写入转换为顺序写入,保证稳定的数据插入率;读和写是独立的,两个操作之间不存在冲突。

优雅的伸缩性。 HBase服务能力可以随着服务器的增长而线性增长; HBase中的数据表根据键值范围自动分片,分布在不同的机器上,实现自动负载均衡;支持百亿行×百万列×数万个版本。

低延迟。数据存储在列中,数据就是索引。

价格低廉。历史数据不能轻易删除,而且数据量越来越大,尤其是日志存储,写多读少。 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时,可以有效控制大量检索数据企业之间在不必要的场景下相互查询交互的问题。

业务申请情况

1.游戏营销活动新渠道

数据的实时性对于营销活动的效果有着非常明显的影响。数据延迟造成的用户体验不佳,会导致玩家失去持续参与的机会。活动的耐心大大降低了活动的效果。 HBase在近期的营销活动(如玄武新大促活动、新版本每日预热活动、英雄联盟三周年活动、每日酷跑周年纪念活动、英雄联盟新促销活动)。从数据中实时拉取数据的毫秒级响应已成为营销活动的新渠道。

2。广告日志处理

广告已成为互联网公司的重要收入来源。我们现在每天通过 HBase 处理数百亿条广告请求和曝光日志。 80%访问HBase的等待时间在20ms以内,保证数据秒级实时流转,实现百亿级数据的检索、曝光、点击、影响日志。实时关联,提供完整、丰富的用户特征数据。精细化的功能数据将带来更好的模型和更好的广告效果,从而增加广告收入。

3。企业验证请求

企业验证系统受限于MySQL数据库的容量和性能,只能搜索最近一段时间的日志,使得游戏在验证客户投诉时更加被动。游戏商店认证系统从MySQL迁移到HBase后,业务评价总结MySQL迁移到HBase的效果:“业务认证将客服查询服务提升到了更高的水平”。

4。另外,HBase在其他点击交互日志或者监控日志系统中也有很多应用,比如网络会话数据、二级监控平台日志、微信支付日志等。

结论

随着业务的发展和经过HBase在腾讯的众多成功应用案例和推广,HBase的使用量不断增加并越来越接近核心应用。总的来说,我们的目标是降低接入门槛和使用成本,让HBase能够稳定部署在多种应用中,帮助业务更快发展。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门