- Cross Platform - Runs on most operating systems, including mobile devices, and can sync any database to any database supported.
- Multi-Threaded - Multi-threaded architecture extracts, transfers, and loads data in parallel.
- Channels - Tables are grouped into independent channels that have their own thread queue for synchronization.
- Automatic Recovery - Batches in error are retried until they succeed, so synchronization can recover from network outage.
- Transaction Aware - Data changes are recorded and played back in the same order and within the same transaction.
- Multi-Master - The same table can be synchronized both to and from the host system while avoiding update loops.
- Transformation - Filter, subset, and transform data during the extract or load phases.
- Conflict Detection - Detect conflicts and automatically resolve them during multi-master synchronization.
- Table Schema - Optionally allow creating and upgrading of database schema.
- Initial Data Load - Prepare a remote database with an initial load of data. Partially initial loads of specify tables and rows can also be sent.
- Central Configuration - All configuration is received from a central registration server and kept in sync.
- Multiple Deployment Options - Deploy using the standalone engine, web application (WAR), or embedded in an application.
- Communication Methods - Push (trickle-back data) or Pull (trickle-poll data) changes to communicate through firewalls.
- HTTP/S Transport - Pluggable transport defaults to REST-style HTTP/S services.
- Efficient Protocol - A fast streaming data format that is easy to generate, parse, and load. The transport is also compressed by default.
- Monitoring - Monitors watch for problems like batch errors or backlogs and send a notification via email.
- Remote Management - Manage through command line tools, a REST API, and a Java Management Extensions (JMX) console.
- Plug-In API - Add customizations through extensions and plug-in points.
- Embeddable - Small enough to embed or bootstrap within another application (i.e. a POS application).