A community project sponsored by JumpMind Facebook Twitter Feed

Features

  • 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).