究竟什么样的数据库,才能承接 RTA 广告这个技术活!
本文分享自华为云社区《究竟什么样的数据库,才能承接RTA广告这个技术活!》,作者: GaussDB 数据库。
广告投放费钱效果差,该如何解?
广告投放是企业宣传营销不可或缺的一部分。尤其是在新媒体发展白热化的当下,不仅广告渠道多样化,投放模式也更细节化和个性化。
随着客户广告投放产出比意识的加强,以短视频平台、微博等渠道为例,在投放目标选择上,广告主通常需要通过配置年龄、性别、学历等偏好规则,才能将广告投放给满足标签的受众,投放中这一灵活性不足的限制,常常会让广告主难以抉择,导致投放效果不佳。
普通广告投放仅支持有限的人群标签,投放效果一般
广告主企业往往每年需花费数亿甚至数十亿广告费,却依然难以准确触达目标用户,造成大量资金浪费。那该如何解决“让广告主对每一条广告请求,有投递或者拒绝的自主权”这一问题呢?
广告 RTA 应运而生!
广告 RTA 业务流程大揭秘
RTA(Realtime API),是一种用于满足广告主实时、个性化的投放需求的技术手段。其广告投放流程如下举例:
小王在刷短视频或文章资讯过程中,平台在短时间内做出反应,我要给小王曝光广告;
紧接着,媒体侧会询问多个广告主是否要投递广告;
多个广告主收到消息后,会迅速作出反应,将这个用户与设定的投放标准一一对比。如果符合要求,就会答复要参与竞价投放;如果不符合要求,答复本次不投放;
媒体侧收到每个广告主的反馈后,如果有投放意愿的广告主,通过竞价排序等环节,向用户(小王)曝光一则广告;反之,小王也就没看到其广告;
对于超时未答复的广告主,媒体侧采取自带默认策略,就会导致投放效果不佳。
广告 RTA 业务流程
广告 RTA 要想效果好,数据库挑战少不了
广告主的 RTA 系统,是从核心的画像数据库读取数据并进行投放决策的,数据越“新鲜”,投放效果越好。因此,大数据平台生成的最新数据,需要及时写入画像数据库。综合来看,广告 RTA 对核心画像数据库有以下诉求:
1.能承载高并发访问
广告主往往会在多个媒体侧投放广告,因此,RTA 系统要承接大量的实时竞价请求。以电商、金融客户的 RTA 系统为例,经验上,日常数据库 QPS 通常在几十万到数百万之间。
2.保持稳定的低时延
媒体侧对时效性要求很严苛,通常需要广告主在 40-100ms 内返回决策结果,排除掉复杂的业务决策计算,留给数据库的时间非常短,必须在个位数毫秒内执行完请求,对数据库挑战非常大。
一旦响应超时,平台会认为弃投或者默认投递,投放效果差,损害了广告主商业利益。
3.海量数据快速导入,确保决策精准性
离线业务会定期生成全量画像数据,如果能把这些成百 GB 甚至数 TB 的价值数据第一时间导入画像库,就会极大提升 RTA 投放效果。但并非所有数据库都能在短时间内导入成百 GB 甚至数 TB 级的离线数据。因此,有时业务不得不舍弃数据实时性,将数据分组,连续数晚,利用业务低峰才能将数据低效导入。
除此之外,降本也是广告主对数据库的核心诉求。部分客户会选择将画像数据压缩后存储,读取后再解压,以降低成本,这样给业务带来比较大的资源和开发负担。
放眼数据库,谁能满足广告 RTA 高要求?
随着数字化进程的加深,应用端数据量呈几何式增长,业务场景和用户需求也更加多元化。数据库作为数据存储的底座,势必会面临巨大的挑战。广告 RTA 以在“高并发、低时延”有严苛著称,究竟哪个数据库才能承受的住来自广告 RTA 的挑战呢?
以常用的几个数据库为例
MySQL:难以承载数十万至百万 QPS 并发;
Hbase/MongoDB:容量大,无法满足稳定低时延诉求,很容易导致投放超时;
Redis:基于并发和时延性能考虑,业界比较多的 RTA 选择使用开源自建 Redis。但是随着业务增长,开源自建 Redis 会面临存储成本和离线数据导入慢这两大瓶颈问题。
华为云 GeminiDB Redis 接口在广告 RTA 场景上,不仅解决了开源自建 Redis 存储成本和离线数据导入慢的瓶颈问题,还具备"稳定低时延、节约存储成本、FastLoad 极速导入" 三大核心能力,拥有丰富的线上广告、推荐类业务的实践案例。
总结
RTA 广告竞价业务近年来发展潜力巨大,一方面要满足媒体侧的性能指标要求,另一方面又要承担企业降本重任。在这类典型大数据业务中,无论从性能、稳定性,还是大容量、低成本,华为云数据库 GeminiDB Redis 接口能够兼顾性能与存储降本需求,是其最佳存储选型,欢迎做广告推荐类业务的小伙伴使用体验。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/4f4bf89af88efdd06cf54db8d】。文章转载请联系作者。
评论