一 底层技术的分析与预判
1.1 广告召回概述
广告召回本质上是一种数据处理过程,可以使用常见的数据处理模型来分析其特性。
为了方便理解,本文仅选取读、写、性能要求来分析广告召回系统。
- 读场景
- 广告召回多为大规模在线计算,需要处理较为复杂的数据查询逻辑,如多表join、表内聚合等计算,这与OLAP系统比较类似
- 广告召回要求在高并发读的场景下保持低时延、高性能,这与OLTP系统的设计目标较为吻合
- 广告召回的流程、逻辑相对固定,但每次pv的请求参数不同,与OLTP场景比较接近。
- 写场景
- 广告数据大多要求具备“行粒度事务写”的能力,且数据变化较快,这一点与OLTP系统的设计目标较为吻合
综合来看,广告召回系统与OLTP系统的设计思路更为接近,可以在OLTP的基础上适当弱化“写事务”处理能力,仅支持行粒度事务写即可。但是,广告召回系统需要在OLTP的基础上优化复杂数据查询逻辑的处理能力。
1.2 数据接口
召回数据接口建设方向主要把握关键的两点:
- 标准化
标准化指在特定的数据场景中兼容业界通用的标准语法,如再通用数据模型场景下支持SQL语法、在搜索特色场景支持ElasticSearch DSL语法等。SQL的优点是应用范围极广,语法图灵完备,缺点是对复杂逻辑的表达效率较低