腾讯广告系统:OLTP与OLAP实践与优化
版权申诉
52 浏览量
更新于2024-07-05
收藏 1.18MB PDF 举报
"6-5+腾讯广告OLTP_OLAP实践.pdf"
腾讯广告系统的实践案例主要涉及了在线事务处理(OLTP)和在线分析处理(OLAP)的技术应用。在这个系统中,数据从原始曝光、点击到转化经过一系列处理,包括日志关联和Join操作,以生成对外报表和运营分析所需的综合数据。该系统采用了Spark Streaming进行实时数据处理,Hbase作为数据存储引擎,Phoenix作为查询引擎,以及Hermes和Dremel等工具进行数据管理和分析。
在数据处理流程中,系统首先记录原始的日志数据,如曝光、点击和转化。通过Join操作将这些日志关联起来,生成更丰富的数据视图。然后,使用Spark Streaming对数据进行实时处理,这有助于快速响应和处理大量实时数据,满足低延迟的需求。数据经过处理后,会存储在Hbase中,这是一个分布式列式存储系统,适用于大数据量的实时查询。
为了提高查询效率,腾讯广告系统采用了Phoenix,它是一个SQL查询引擎,可以将SQL语句转换为HBase的API,从而实现对Hbase数据的高效访问。同时,Phoenix还进行了针对广告业务场景的定制化优化,实现了毫秒级的查询延迟。此外,Hbase的双集群容灾设计确保了数据的安全性和可用性。
然而,Hbase的索引能力和应对数据热点的能力相对较弱,这可能会影响到系统的性能。为了解决这些问题,腾讯采用了多版本并发控制(MVCC)策略。MVCC允许报表系统在多个维度上保持数据一致性,即使在不同维度的数据更新时间不一致的情况下。通过管理每个表的版本信息,查询时可以读取到一致性的数据版本,从而解决用户在切换维度时可能遇到的数据不一致问题。
在对外报表场景优化方面,系统分别在1分钟、10分钟、1小时和1天的粒度上生成聚合结果,以满足不同时间范围内的查询需求。增量统计和幂等性设计保证了数据的准确性和更新的效率。例如,通过累加方式更新数据可能会破坏幂等性,而采用覆盖方式则可以保证幂等性,但可能需要处理重做导致的数据重复。
腾讯广告系统的OLTP和OLAP实践是通过结合实时处理技术(如Spark Streaming)、高效存储(Hbase)和快速查询(Phoenix)等工具来实现的。通过不断优化,如MVCC的应用,系统能够在处理海量广告数据的同时,保证数据的准确性和一致性,满足运营分析、诊断分析、A/B实验等多种业务需求。
2020-09-03 上传
2020-12-22 上传
2011-01-12 上传
2022-03-18 上传
2022-07-25 上传
2021-12-15 上传
2022-03-18 上传
2020-08-27 上传
普通网友
- 粉丝: 13w+
- 资源: 9195
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析