SymmetricDS

SymmetricDSFile:Frameless

Initial release| November 2007
Operating system| Microsoft Windows, Linux, Mac OS X, Android
Available in| English
License| GPL
Website| www.symmetricds.org

SymmetricDS is open source software for database and file synchronization with Multi-master replication, filtered synchronization, and transformation capabilities.[1] It is designed to scale for a large number of nodes, work across low-bandwidth connections, and withstand periods of network outage.[2] Data synchronization occurs asynchronously from a scheduled job, with data changes being sent over a push or pull operation. It uses standard web protocols (HTTP) and database technologies (JDBC) in order to support a wide range of platforms and maximize its interoperability. It includes support for MySQL, MariaDB, PostgreSQL, Greenplum, HSQLDB, H2, Derby, DB2, Firebird, Informix, Interbase, SQLite, Sybase ASE, Sybase ASA, MongoDB, Amazon Redshift, and VoltDB databases.[3] As of version 3.17 (March 2026), support for Oracle, SQL Server, and SQL Server Azure was moved from the open source community edition to the commercial Pro edition.[4]

## Contents

* 1 Functionality
* 2 Prominent users
* 3 See also
* 4 References
* 5 External links

## Functionality

SymmetricDS runs either as a standalone server (using a built-in Jetty), within an application server (such as Apache Tomcat), or embedded into an application. Configuration is done through properties files and a collection of configuration tables at a central node. Both database tables and filesystems can be synchronized across a network of nodes. Configuration allows for selection of tables, columns (vertical filtering), and subsets of rows (horizontal filtering) to synchronize in one direction or both directions. Files are selected by base directory and whether to recurse into directories. Wildcard characters are used to match multiple tables and files. Tables can be grouped into channels that sync based on priority. Groups of nodes are linked together and assigned a transport method of push or pull. A push will connect to the node and send changes when they are ready, while a pull will periodically connect with a node to check if changes are available. Several network topologies are possible by linking node groups, including fan-in/out, multi-master, star, and multi-tier tree. A node can be prepared with an initial load of data to populate its database. Changes are grouped into batches and assigned for delivery to nodes using Routers. Routers can be configured or scripted to filter data and make decisions on which nodes should receive data. Batches are delivered during synchronization and tracked using a sequence number and status, with periodic retries designed to automatically recover from errors. Administration tools for command line and a web-based JMX console are included to manage nodes from a central location. Programming interfaces for Java and REST are included to extend and customize behavior.

## Prominent users

* OpenMRS \- open source medical record system[5]
* Openboxes - supply chain management software[6]

## See also

* Multi-master replication
* Comparison of file synchronization software
* Replication (computer science)

## References

1. ↑ "SourceForge Project Page". https://sourceforge.net/projects/symmetricds/. Retrieved Dec 10, 2013.
2. ↑ "Synchronize Databases with SymmetricDS". 23 November 2012. https://sourceforge.net/blog/synchronize-databases-with-symmetricds/. Retrieved Nov 23, 2012.
3. ↑ "SymmetricDS Manual: Database Notes". http://www.symmetricds.org/doc/3.5/html/databases.html. Retrieved Nov 16, 2013.
4. ↑ "SymmetricDS 3.17 User Guide: Database Compatibility". https://symmetricds.sourceforge.net/doc/3.17/html/user-guide.html#databases-compatibility. Retrieved Mar 18, 2026.
5. ↑ "OpenMRS: Database Synchronization with SymmetricDS". https://wiki.openmrs.org/display/projects/Database+Synchronization+with+Symmetric+DS. Retrieved Aug 22, 2012.
6. ↑ "Openboxes: Enabling Synchronization". http://code.google.com/p/openboxes/wiki/Synchronization. Retrieved Sep 18, 2012.

## External links

* SymmetricDS community website
* SymmetricDS source code

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/SymmetricDS. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:SymmetricDS&oldid=4297522"