A system for collaborative processing, comprising a controlling module with
access to at least one relational database capable of performing a first
set of functions on the data in the database and at least one external
analytical engine, the external analytical engine being external to the
relational database and being capable of a second set of functions on the
data in the database. The controlling module is capable of iteratively
processing a multi-step calculation including generating SQL statements to
the relational database, passing preliminary results to an external
analytical engine and saving data back into the relational database for
further processing until the multi-step calculation is performed.