Scalable Join-Pattern Matching For Observables