1. A method for replicating source data storage changes to target data storage, said method comprising: writing source database transactions to a circular log file in a sequential order in which the source database transactions are to be committed to a source storage, wherein the circular log file includes log entries that are each designated as active, empty, or ready to spill, and wherein said writing the source database transactions includes, writing each of multiple sets comprising multiple source database transactions as a respective log block within a respective empty log entry until the respective log entry is filled; monitoring the source database transactions in the filled log entries to determine whether all of the source database transactions in the corresponding log blocks have been committed to the source storage; and for each of the filled log entries in which all of the source database transactions have been determined to have been committed to the source storage, changing the designation for the filled log entry to ready to spill; for each of the ready to spill log entries, spilling the corresponding log block from the circular log file in an order corresponding to the order in which the source database transactions are committed to the source storage; assembling multiple spilled log blocks into each of a plurality of messages; and sending the messages, in a sequential order based on the order in which the log blocks were spilled, to a target database that is geographically remote from the source database.