A method for synchronizing data between a first database system and a second, remote database system in a background process whilst allowing concurrent access to the remote database system, the method comprising: initiating a background process in the remote database system for synchronization of remote data from the remote database system with data of the first database system; and utilizing metadata for each row of the remote data to allow modification of the remote data while the background synchronization process occurs, wherein the metadata includes at least an upload condition attribute to control row processing during the synchronization, the upload condition attribute arranged to have one of a set of predetermined values each denoting a respective upload condition, comprising: a first value indicating that the row is to be included in the synchronization process, a second value indicating that the row is to be excluded from the synchronization process; and a third value indicating that no changes have been committed to the row after initiation of the synchronization process; wherein utilizing the metadata comprises, in response to an insert, update or delete database operation being committed to a row of the remote data: determining whether the synchronization process is occurring; in response to determining that the synchronization process is occurring such that the commit of the row has occurred during the synchronization process, setting the upload condition attribute for the row to the first value to indicate that the row is to be included in the synchronization process or to the second value to indicate that the row is to be excluded from the synchronization process; including or excluding the row in the synchronization process in accordance with the upload condition attribute; and setting the upload condition attribute to the third value upon completion of the synchronization process. initiating a background process in the remote database system for synchronization of remote data from the remote database system with data of the first database system; and utilizing metadata for each row of the remote data to allow modification of the remote data while the background synchronization process occurs, wherein the metadata includes at least an upload condition attribute to control row processing during the synchronization, the upload condition attribute arranged to have one of a set of predetermined values each denoting a respective upload condition, comprising: a first value indicating that the row is to be included in the synchronization process, a second value indicating that the row is to be excluded from the synchronization process; and a third value indicating that no changes have been committed to the row after initiation of the synchronization process; a first value indicating that the row is to be included in the synchronization process, a second value indicating that the row is to be excluded from the synchronization process; and a third value indicating that no changes have been committed to the row after initiation of the synchronization process; wherein utilizing the metadata comprises, in response to an insert, update or delete database operation being committed to a row of the remote data: determining whether the synchronization process is occurring; in response to determining that the synchronization process is occurring such that the commit of the row has occurred during the synchronization process, setting the upload condition attribute for the row to the first value to indicate that the row is to be included in the synchronization process or to the second value to indicate that the row is to be excluded from the synchronization process; including or excluding the row in the synchronization process in accordance with the upload condition attribute; and setting the upload condition attribute to the third value upon completion of the synchronization process. determining whether the synchronization process is occurring; in response to determining that the synchronization process is occurring such that the commit of the row has occurred during the synchronization process, setting the upload condition attribute for the row to the first value to indicate that the row is to be included in the synchronization process or to the second value to indicate that the row is to be excluded from the synchronization process; including or excluding the row in the synchronization process in accordance with the upload condition attribute; and setting the upload condition attribute to the third value upon completion of the synchronization process.