Local vs Remote Nodes

When to use local vs remote nodes…

One of the first decisions users come across while setting up SymmetricDS is how many instances of the software need to be installed and where to install them.

Local Remote
Local Node Remote Node
Single SymmetricDS installation, hosting multiple nodes. Multiple SymmetricDS installations, hosting single node each.

Here are some key factors to consider for your setup.

  • Performance
  • Security
  • Maintenance

Performance

SymmetricDS uses HTTP protocol to send data between nodes and uses JDBC to connect to databases. HTTP is designed to for sending across networks and will perform better than JDBC connections. As a result the maximum performance will be achieved the closer each SymmetricDS node is to its data source. This will provide the best JDBC performance to read and write data from the database and utilizes the HTTP protocol to maximize the transfer of data across a network.

HTTP can also be converted to use HTTPS so that the information is encrypted. JDBC drivers usually do not supply the ability to encrypt the data. This is a big plus for setting up your nodes remotely and taking full advantage of HTTPS to be sure your data is safe.

Local Remote
Local Node Remote Node
JDBC over network. HTTP(s) over network.

Security

By installing a SymmetricDS instance per database the JDBC port of the database can remain behind firewalls. As long as the machine that SymmetricDS is running on can access the database then the only port that needs to be made available to other SymmetricDS nodes is the HTTP or HTTPS port it uses to transfer data. This allows database ports to remain secure.

Local Remote
Local Node Remote Node
JDBC through firewall. HTTP through firewall.

Maintenance

Multiple installations of SymmetricDS will require maintenance to each individual installation for upgrades and patches. However the trade off of security and performance is generally acceptable for the additional time and effort to perform an upgrade. The SymmetricDS team is currently looking into solutions that involve automatic upgrades to all nodes on the network but this is still at the moment in the design phase.

Local Remote
Local Node Remote Node
Single Maintenance Point. Multiple Maintenance Points