How does Pervasync compare with competing sync solutions?
Database synchronization not only can enable mobile users to work offline when disconnected, but also can offload the work of the central DB to local databases in connected environments. Ironically, a lot of sync solutions on the market have performance and scalability problems that actually add more workloads to the central DB. Pervasync was designed from the beginning to address this problem. We at Pervasync guarantee the scalability of the sync system when you have large number of clients and/or complex data sub setting logics. We will help you design your app to take advantage of our sync engine capabilities. Unlike others, we won't simply blame the hardware or your DB tuning skills for performance issues.
Why should I choose Pervasync database synchronization solution instead of those from big companies like Oracle, Microsoft?
A database synchronization software synchronizes multiple local/offline databases with a central database. The central databases are mainstream databases from leading vendors like Oracle, Mysql, and Microsoft. However, for the local/offline databases, the current sync solutions from big companies only support the so-called "mobile" databases like Oracle Lite and MS SQL Server Mobile Edition. People may not realize that the "mobile" databases are totally different code bases from their mainstream counterparts. This means they have different APIs, limited functionalities and are less robust.
Pervasync supports mainstream Oracle and Mysql databases as local/offline databases. Today's commodity PCs are more than capable of running Mysql and even Oracle XE as well as Oracle standard editions on them. Choosing Mysql or Oracle as local/offline DB will benefit your offline applications tremendously.
Why should I choose Pervasync database synchronization solution instead of the other open source solutions for MySQL?
Many of our customers actually first tried very hard to use open source solutions. After spending a lot of time, they found that those solutions lack the key functionalities such as data sub-setting, change tracking, schema evolutions, and distributed sequence support for unique key values etc. Users have to put in a lot of work to make sync work end-to-end. These extra works are tricky and error-prone -- for example, see the discussion on the dangers of time stamp based sync schemes on FAQ page. Pervasync enables users to set up a robust sync system without writing a single line of code. Pervasync does a complete job for synchronization and it does it very well. As one of our customers put it, after they found and tested Pervasync, their “problems vanished into thin air”.
Why should I use Pervasync instead of Mysql Replication?
Mysql replication works well for backup, high availability and scaling out purposes. However, if you need to synchronize multiple branch office databases with a central corporate database, a data synchronization solution like Pervasync is needed to address the following issues.
- Two-way data exchange. In Mysql master-slave replication model, changes only flow from master to slaves. This is a big restriction, as the slave databases have to be made read-only. In circular master-master replication model, all database nodes are all writable. However, the configuration is complicated and error-prone. The DB nodes are tightly coupled; failures in any one node would bring down the whole system. In the Pervasync database synchronization model, there is one central database and multiple local databases. Each local database does two-way data exchange with the central database. All database nodes are writable. Local database nodes can be added or removed without affecting others.
- Conflict detection and resolution. Mysql replication does not support conflict detection. Un-detected conflicts can lead to problems like unique key violations, updates being overwritten silently, and data in-consistency among DB nodes. In Pervasync database synchronization, conflicts are detected and resolved in the central database, which serves as the single source of truth. This ensures data consistency and convergence.
- Data sub-setting. Mysql replication replicates an entire schema. Pervasync supports data sub-setting. Each local database can sync a sub-set of the central DB data. You can specify which tables, which columns and rows to be synced to which databases. You can also make the sync of certain tables to be one-way from central DB to local DB (AKA refresh-only) or from local DB to central DB (AKA checkin-only).
- Networking requirements. Mysql replication requires socket level networking between database nodes. Pervasync synchronization runs over HTTP(S). Network configuration of HTTP(S) is much easier and more secure than that of sockets when the database nodes are geographically distributed and behind the fire walls of their intranets.