A consistent set of data is supplied to a software application from
databases. When a particular set of data is identified, a first process
is requested to obtain a snapshot time from a database server associated
with the first database. The snapshot time causes all subsequent reads of
the first database by the first process to return data that reflects a
database state associated with the snapshot time. A first set of data in
the first database is locked in order to produce a copy of data from a
first database. After locking the first set of data, a plurality of
processes are requested to obtain snapshot times from a database server
associated with the first database. The snapshot time caused all
subsequent reads of the first database by the plurality of processes to
return data from the first database as of the snapshot times.