Easy Setup and Configuration
We've made it simple to setup data replication using a friendly web interface with easy concepts to understand. A wizard walks you through configuring which databases and tables to synchronize and how changes should be communicated. Navigating the menu on your own, you'll find each concept has its own screen to make setup quick and intuitive. Configuration and settings can be adjusted at any time from a central server, immediately taking effect across the replication nodes. Export your settings as a backup or import them into a different environment. The configuration is stored in the database, and the data model is openly documented, allowing administrators and developers to easily access it.
Monitor and Troubleshoot
Spend less time on issues with built-in monitoring and troubleshooting tools. Information is available at a glance from the main dashboard, which visually graphs data replication and shows any data errors. Drill into incoming and outgoing batch errors to view the data and update data to resolve the issue on the spot. For tougher problems, a SQL Explorer lets you run adhoc queries on the database. Current thread activity can be viewed with stack traces for diagnosing scheduler and driver problems. Another screen allows the log file to be viewed and downloaded. Whether working on your own or with a support engineer, these tools are designed to lower your total cost of ownership.
Flexible Database Replication
A powerful set of features for data replication give you flexibility to meet project requirements. Synchronize data across nodes on remote networks with low bandwidth usage and automatically handle periods of disconnected operation. With asynchronous replication in the background and an efficient communication protocol, SymmetricDS guarantees replication by tracking batch data through automatic recovery and retry attempts. Data can be synchronized in one direction or both directions in a multi-master configuration. You configure the nodes, groups, and how network connections are established. Push data at a short interval for real time integration or pull data periodically to work through firewalls and reduce connection overhead.
Copy files and folders in both directions between multiple nodes using a single mechanism for all your data replication. Run synchronization continuously or periodically, either syncing immediately or batching file synchronization during a quiet period. Configure a base directory and specify whether to include subdirectories, then configure filtering for which files and folders should be synced. Withstand periods of downtime and allow the synchronization to continue when the network is available. Customize the synchronization with your own scripts that run during file sync events.
Multiple Platforms, Database Independent
With support for most major database platforms and operating systems, compatibility in a heterogeneous enterprise is important to us. Our software was architected from the beginning to handle data integration and replication issues for multiple platforms and to make adding new dialects easy. Our customers benefit by avoiding platform lock and gaining the freedom to choose platforms based on their suitability to the application. Run Oracle at your central office, MySQL at the back office, and SQLite on mobile devices, all seamlessly synchronizing data. There are over a dozen database dialects supported and SymmetricDS will run anywhere Java can go, including Windows, Linux, Unix, MacOS, and Android.
Scaling and Performance
From a few nodes to a few thousand nodes, SymmetricDS is optimized to synchronize data with a large number of databases and load data quickly. By leveraging web server technology, many simultaneous requests can be handled to sync data at a central office deployment. Add more central office nodes for load balancing and high availability. Configure a server node with a pool of connections to manage resources. Large networks of nodes can be grouped into tiers for more control and efficiency, with each group syncing data to the next tier. Data loading detects the fastest method available for the best performance, choosing between transaction mode, batch mode, and database-specific bulk loading.
Filter, Subset, Transform
With data integration features, you can manipulate the change data with filters, subsets, and transformations. Filter or encrypt sensitive data before it loads into the operational database, or publish it to a protected database instead. Subset data either horizontally, by selecting which rows go to a destination, or vertically, by selecting which columns to sync. Map columns from the source database to different columns on the destination. Data can be transformed, merged, and enriched during both the extraction phase on the source and the load phase on the destination. Use built-in transforms for quick manipulation or plug in a custom Beanshell script for even more power.
Conflict Detection and Resolution
When two or more nodes are involved in data synchronization, the system can detect change conflicts and resolve them so data remains consistent across nodes. Configure rules to detect a conflict and specify how to resolve it automatically or manually. Detectors can be configured at the table, channel, or node group level to watch for conflicts based on primary keys, change data, timestamps, or versions. Resolvers can automatically merge data or choose the winning change based on node group or timestamp. Use the Java API to implement a resolver with custom behavior. Or use the manual resolver to view data change conflicts in the console and select the resolved data.
Embedding and Extending
Embed our data replication library into your application or customize with your own extensions for complete control and seamless execution. Use a Java API to perform synchronization, add functionality, or retrieve status information. Plug-ins are detected at startup and can participate in different phases of replication to manipulate data, change behavior, and receive callbacks. Integrate data replication into your application as an out-of-box feature that gives you a competitive advantage.