推荐系统需要在海量数据中进行高并发的复杂分析查询,还要能够快速响应,看上去就像是一个不可能完成的任务。但仔细分析之后,不难发现,推荐引擎结果主要由以下几个因素决定。
用户固定属性:姓名、年龄、职业类型、地域、偏好等
产品固定属性:品牌、类型、主题等
用户历史行为:浏览历史、购买历史等
用户当前行为:当前点击、浏览等。
以上4个因素对应的数据,前3种都是静态的,只有最后一种是动态的。数据的这一特性对我们架构设计起到了一个非常关键的作用,因为我们可以使用完全不同的方式来将静态数据和动态数据分开处理,再合并分析。静态数据的变化性较小,实时性要求较低,我们将进行离线分析;动态数据相对较少,但实时性要求较高,我们将进行在线实时处理;再进行动、静态数据在线合并分析。