1. A data synchronization system, comprising at least one processor coupled to at least one machine-readable storage medium storing instructions executable by the at least one processor to implement: a conduit component configured to enable interaction between two or more data sets; a synchronization component configured to facilitate data-driven synchronization of the data sets, wherein the synchronization component comprises a change detection component configured to describe a manner, among a plurality of possible manners based on respective capabilities of endpoints associated with the two or more data sets, in which changes in at least one of the two or more data sets are to be identified, and the synchronization component is further configured to, after the change detection component describes the manner, perform synchronization of the two or more data sets in accordance with the described manner, and wherein the synchronization component is configured to be coupled, based on a corresponding selection, either directly to a data store of at least one of the endpoints, or to the data store via a proxy component.