Tuesday, September 11th, 2007
Eric Farrar of Sybase iAnywhere has been developing a prototype that allows direct database-to-database synchronization of a Gears application to Oracle, SQL Server, DB2 and Sybase databases. We asked Eric about his work and he told us:
At Sybase iAnywhere we provide a data sync infrastructure for mobile and remote apps. The Background Sync architecture mentioned on the Gears site is a lot like mobile application architectures we see all the time. As a result, it seems as though the same mobile sync technology can be used to solve the offline sync problem for Google Gears.
This prototype uses a local lightweight database (based on the iAnywhere UltraLite database) with built-in synchronization
- Built in change tracking, so that changes (including deletes and updates) can be sent to the server,
- Built in state tracking, so that the local database knows when synchronizations succeed and can take appropriate clean-up operations automatically,
- Built in synchronization over TCP/IP or HTTP.
- Optional encryption of the data store and of the sync stream
- Somewhat stricter data management model than SQLite.
The other piece is the sync server that manages synchronization to Oracle, SQL Server, IBM DB2 and Sybase databases. The sync technology is fully transactional, meaning data does not get partially changed at either end. It also has automatic mechanisms to detect conflicts and hooks that allow users to programmatically handle the conflicts using SQL, .NET, or Java.
As far as scalability, these technologies are currently being used in projects that involve nearly half a million mobile devices.
Eric also recorded some videos show this all in action:
Google Gears Prototype with Auto Change Tracking and Syncing (3 min 13 sec)
Prototype of Google Gears Database Syncing with Oracle (3 min 16 sec):
Posted by Dion Almaer at 7:38 am