SymmetricDS is open source software that synchronizes data between databases on servers, desktops, and mobile devices. With support for most major database platforms and operating systems, it can integrate data in a heterogenous environment that spans across databases and networks. Using asynchronous operation, data is synced in the background at a user-specified interval that can meet either batch or immediate time integration requirements.
Data Synchronization Solutions
Flexible configuration allows for one-way or bi-directional replication, filtered synchronization, and transformation of data. SymmetricDS is used in four common solutions for the flow of data: bridging, consolidation, distribution, and multi-master.
Bridging or Active/Passive
Data is replicated in one direction from a primary database to a secondary one. The primary database is active while the secondary is passive or read-only. This can be used as an operational database that supports an application and a reporting database that offloads work for analysis and reporting. Another use for the secondary database is a backup that becomes active in the event of a failure or during maintenance of the primary. Sometimes the secondary database has a different structure or contains a subset of the data from the primary, and syncing data becomes a bridge that transforms the data between the systems. For example, an ecommerce site puts orders in its database and the data is bridged to fulfilment and call center application databases.
Data is combined from multiple databases into a single database. There may be two tiers or multiple tiers of databases that consolidate up the chain. For example, a retail company records sales on a database at the point of sale, which syncs to the store server, then syncs to a regional server, and finally syncs to the central office. Another example is medical devices that collect information and sync data to a hospital server.
Data is managed centrally and subsets of rows are distributed to remote nodes. The data flows in the opposite direction of consolidation, from a large database to many smaller databases. For example, a retail company sets item prices by company, zone, or store in the central office database, and the data is automatically distributed to the corresponding retail store databases.
Multi-Master or Active/Active
Data is replicated across all nodes, with all nodes actively participating. This configuration is used to improve access to data through high availability. For example, a parts manufacturer uses multiple websites located in the US and EMEA to provide fast access for its customers by using database replication.
Advantages of SymmetricDS
Compared to other synchronization or replication solutions, SymmetricDS has several advantages:
- Database Independent – With 12 different databases supported as of version 3.1, SymmetricDS interoperates between multiple databases and operating systems. Adding support for more databases is easy because of a dialect abstraction layer.
- Easy Configuration – Configuration is both easy and flexible with lots of options for advanced configuration and a plug-in architecture for customization.
- Scaling and Performance – Large networks of thousands of nodes is possible because SymmetricDS is optimized to handle simultaneous requests and load data quickly. With settings for management of memory, connections, and clustering, a deployment can be tuned for both big and small environments.
- Adverse Networks – Sync data across networks with low bandwidth usage and withstand periods of network outage. SymmetricDS guarantees replication by tracking data and automatically retrying errors.
With open source development, SymmetricDS enjoys the benefits of collaboration across companies, geographies, and markets. The feedback and assistance of users and developers worldwide have improved its features and quality. We’re excited by the growth of the project and we look forward to seeing more community involvement in the future.