Embodiments provide for a sub-pub architecture that is independent of the
number of subscriptions by neither evaluating, nor storing the results
of, each event against each subscription. Instead, a canonical
subscription is determined a priori, which includes a superset of common
property filters for similar events. Properties of events happening in a
data store are evaluated against this canonical subscription and the
results are stored typically once as event records. When a subscription
registrar requests notification of events that match a subscription's
filter criteria, only the subset of event records corresponding to the
appropriate superset of common properties are evaluated against the
subscription. Other embodiments also include methods, systems, and
computer program products for determining the subset of event records to
be compared against a subscription's filter criteria, while ensuring that
out of sequence, uncommitted events are not lost.