本文是论文An Efficient Publish / Subscribe Index for E-Commerce Databases的阅读笔记。
Pub/Sub系统
这篇文章提出了一个多级索引解决方案,用于解决Publish / Subscribe系统的索引问题。其中,Publisher是内容的生产者,可以产生一系列消息,Subscriber是内容订阅者,捞出感兴趣的消息。这个系统假设订阅者的数量很大,所以来一个消息,快速找出哪些订阅者会感兴趣,就需要索引。Pub / Sub可以理解成数据库,pub发布一个query,符合条件的sub就跳出来称为返回结果。在广告系统中,可用于快速从广告池里召回符合定向条件的广告。
需求
假设Pub / Sub系统的消息可以用DNF,CNF表示,那我们只需要考虑布尔表达式。论文中定义了以下常用术语:
术语 | 说明 | 广告系统用例 |
---|---|---|
predicate | 断言,bool表达式 | 定向条件,e.g. 年龄=18 |
subscription | 合取范式或析取范式 | 广告,e.g. 男 ^ 30岁 ^ (手机 ^ 30天内购买) |
event | 合取范式或析取范式 | 触发请求/查询 |
A | 属性 | 年龄 |
f o p f_{op} fop | 操作符 | = |