Data Synchronization is a mode in which the Source Data will be smartly compared with the Target data and changes will be made accordingly.
Some use cases :
- You need to update a datawarehouse with fresh data without truncating the tables during the process
- You need to replicate some SQL tables from a server to another (even with different database providers) as fast as possible (Synchronization is a lot faster than Replication)
- You need to synchronize your Active Directory with updated user data coming from a managing people application
The Synchronization mode is only available for Database, File and Active Directory Targets.
As you can see above, you can choose the synchronization behavior, and more than that, you are able to historize the changes !
Choosing the Synchronization mode does not change the UI at all. It’s just another way of manipulating data. The application is able to translate your queries (even with complex ones) to be performed both in the Source and the Target.
How does it works
Fuzible comes with a powerful query analyzer : any query – even with complex sub-queries, union joins and weird syntax – is disassembled : every field, every join, every condition is analyzed.
From that, the internal engine is able to perform the related Target query, as shown below ; in this exemple, I’m demonstrating a Synchronization Job from a MySQL database to a Postgres one.
The Synchronization mode executes the Source query, the translated Target query and compares data to search for the differences. A primary key is obviously required : Fuzible can use the one that already exists, but if there is none, it can determine one automatically.