Filtering algorithms and implementation for very fast publish/subscribe systems
- 1 May 2001
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGMOD Record
- Vol. 30 (2) , 115-126
- https://doi.org/10.1145/376284.375677
Abstract
Publish/Subscribe is the paradigm in which users express long-term interests (“subscriptions”) and some agent “publishes” events (e.g., offers). The job of Publish/Subscribe software is to send events to the owners of subscriptions satisfied by those events. For example, a user subscription may consist of an interest in an airplane of a certain type, not to exceed a certain price. A published event may consist of an offer of an airplane with certain properties including price. Each subscription consists of a conjunction of (attribute, comparison operator, value) predicates. A subscription closely resembles a trigger in that it is a long-lived conditional query associated with an action (usually, informing the subscriber). However, it is less general than a trigger so novel data structures and implementations may enable the creation of more scalable, high performance publish/subscribe systems. This paper describes an attempt at the construction of such algorithms and its implementation. Using a combination of data structures, application-specific caching policies, and application-specific query processing our system can handle 600 events per second for a typical workload containing 6 million subscriptions.Keywords
This publication has 8 references indexed in Scilit:
- Achieving scalability and expressiveness in an Internet-scale event notification servicePublished by Association for Computing Machinery (ACM) ,2000
- Data prefetch mechanismsACM Computing Surveys, 2000
- NiagaraCQPublished by Association for Computing Machinery (ACM) ,2000
- The SIFT information dissemination systemACM Transactions on Database Systems, 1999
- Matching events in a content-based subscription systemPublished by Association for Computing Machinery (ACM) ,1999
- The Asilomar report on database researchACM SIGMOD Record, 1998
- Rule condition testing and action execution in ArielPublished by Association for Computing Machinery (ACM) ,1992
- A predicate matching algorithm for database rule systemsPublished by Association for Computing Machinery (ACM) ,1990