1. A method comprising: receiving in a data stream, by a replication client, a first plurality of change records corresponding to database changes applied to a source database in a first transaction, wherein the first plurality of change records includes a first commit record indicating that the first transaction is committed on the source database; computing, by the replication client, first transaction dependency data based on at least a portion of the first plurality of change records before receiving an indication that the first transaction is committed on the source database; applying to a target database, by the replication client and based at least in part on the first transaction dependency data, at least a portion of the first plurality of change records before receiving the first commit record in the data stream; in response to receiving the first commit record of the first transaction: completing applying the first plurality of change records, and committing the first transaction on the target database; wherein the method is performed by one or more computing devices.