CADRE is a system for the detection of complex events in relational data. It implements a form of abductive reasoning that combines data-driven and pattern-driven inferencing to efficiently search for matches in massive amounts of data. It has been applied to a number of pattern detection problems, most notably to the problem of threat detection in massive amounts of data. This paper describes the details of CADRE processing and compares CADRE with other systems for abductive inference. We show that CADRE has unique features that make it especially suitable for the problem of pattern detection in very large relational databases.